In allen Einkaufs- und Verkaufsmasken die Drop-Down-Box für die Steuerzone bei jedem...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 24 Apr 2007 10:30:29 +0000 (10:30 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 24 Apr 2007 10:30:29 +0000 (10:30 +0000)
SL/CT.pm
SL/Form.pm
SL/OE.pm
bin/mozilla/ct.pl
bin/mozilla/ir.pl
bin/mozilla/is.pl
bin/mozilla/oe.pl

index ad92d4c..91fe2c0 100644 (file)
--- a/SL/CT.pm
+++ b/SL/CT.pm
@@ -101,10 +101,6 @@ sub populate_drop_down_boxes {
   $query = qq|SELECT id, description FROM business ORDER BY id|;
   $form->{all_business} = selectall_hashref_query($form, $dbh, $query);
 
-  # get tax zones
-  $query = qq|SELECT id, description FROM tax_zones|;
-  $form->{TAXZONE} = selectall_hashref_query($form, $dbh, $query);
-
   # get shipto address
   $query =
     qq|SELECT shipto_id, shiptoname, shiptodepartment_1 | .
index 252c4c1..98b2a4e 100644 (file)
@@ -1517,6 +1517,20 @@ sub _get_taxcharts {
   $main::lxdebug->leave_sub();
 }
 
+sub _get_taxzones {
+  $main::lxdebug->enter_sub();
+
+  my ($self, $dbh, $key) = @_;
+
+  $key = "all_taxzones" unless ($key);
+
+  my $query = qq|SELECT * FROM tax_zones ORDER BY id|;
+
+  $self->{$key} = selectall_hashref_query($self, $dbh, $query);
+
+  $main::lxdebug->leave_sub();
+}
+
 sub _get_employees {
   $main::lxdebug->enter_sub();
 
@@ -1597,6 +1611,10 @@ sub get_lists {
     $self->_get_taxcharts($dbh, $params{"taxcharts"});
   }
 
+  if ($params{"taxzones"}) {
+    $self->_get_taxzones($dbh, $params{"taxzones"});
+  }
+
   if ($params{"employees"}) {
     $self->_get_employees($dbh, $params{"employees"});
   }
@@ -1870,10 +1888,6 @@ sub create_links {
   $query = qq|SELECT id, taxkey, taxdescription FROM tax|;
   $self->{TAXKEY} = selectall_hashref_query($self, $dbh, $query);
 
-  # get tax zones
-  $query = qq|SELECT id, description FROM tax_zones|;
-  $self->{TAXZONE} = selectall_hashref_query($self, $dbh, $query);
-
   if (($module eq "AP") || ($module eq "AR")) {
     # get tax rates and description
     $query = qq|SELECT * FROM tax|;
index 0c14f17..8e0cfb9 100644 (file)
--- a/SL/OE.pm
+++ b/SL/OE.pm
@@ -870,10 +870,6 @@ sub retrieve {
 
   Common::webdav_folder($form) if ($main::webdav);
 
-  # get tax zones
-  $query = qq|SELECT id, description FROM tax_zones|;
-  $form->{TAXZONE} = selectall_hashref_query($form, $dbh, $query);
-
   my $rc = $dbh->commit;
   $dbh->disconnect;
 
index 706860a..5bffd7c 100644 (file)
@@ -601,7 +601,8 @@ sub edit {
 sub form_header {
   $lxdebug->enter_sub();
 
-  $form->get_lists("employees" => "ALL_SALESMEN");
+  $form->get_lists("employees" => "ALL_SALESMEN",
+                   "taxzones" => "ALL_TAXZONES");
 
   $form->{taxincluded} = ($form->{taxincluded}) ? "checked" : "";
   $form->{creditlimit} =
@@ -644,23 +645,19 @@ sub form_header {
     }
   }
 
-  if (@{ $form->{TAXZONE} }) {
-    foreach $item (@{ $form->{TAXZONE} }) {
-      if ($item->{id} == $form->{taxzone_id}) {
-        $form->{selecttaxzone} .=
-          "<option value=$item->{id} selected>$item->{description}\n";
-      } else {
-        $form->{selecttaxzone} .=
-          "<option value=$item->{id}>$item->{description}\n";
-      }
-
-    }
+  %labels = ();
+  @values = ();
+  foreach my $item (@{ $form->{"ALL_TAXZONES"} }) {
+    push(@values, $item->{"id"});
+    $labels{$item->{"id"}} = $item->{"description"};
   }
 
   $taxzone = qq|
                <th align=right>| . $locale->text('Steuersatz') . qq|</th>
-               <td><select name=taxzone_id>$form->{selecttaxzone}</select></td>
-               <input type=hidden name=selecttaxzone value="$form->{selecttaxzone}">
+      <td>| .
+        NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"},
+                             '-values' => \@values, '-labels' => \%labels)) . qq|
+      </td>
 |;
 
   $get_contact_url =
index 26fa922..67456a3 100644 (file)
@@ -278,7 +278,8 @@ sub form_header {
   $form->get_lists("contacts" => "ALL_CONTACTS",
                    "projects" => { "key" => "ALL_PROJECTS",
                                    "all" => 0,
-                                   "old_id" => \@old_project_ids });
+                                   "old_id" => \@old_project_ids },
+                   "taxzones" => "ALL_TAXZONES");
 
   my %labels;
   my @values = (undef);
@@ -302,34 +303,33 @@ sub form_header {
                          '-labels' => \%labels,
                          '-default' => $form->{"globalproject_id"}));
 
-  if (@{ $form->{TAXZONE} }) {
-    $form->{selecttaxzone} = "";
-    foreach $item (@{ $form->{TAXZONE} }) {
-      if ($item->{id} == $form->{taxzone_id}) {
-        $form->{selecttaxzone} .=
-          "<option value=$item->{id} selected>" . H($item->{description}) .
-          "</option>";
-      } else {
-        $form->{selecttaxzone} .=
-          "<option value=$item->{id}>" . H($item->{description}) . "</option>";
-      }
-
-    }
-  } else {
-    $form->{selecttaxzone} =~ s/ selected//g;
-    if ($form->{taxzone_id} ne "") {
-      $form->{selecttaxzone} =~ s/value=$form->{taxzone_id}/value=$form->{taxzone_id} selected/;
-    }
+  %labels = ();
+  @values = ();
+  foreach my $item (@{ $form->{"ALL_TAXZONES"} }) {
+    push(@values, $item->{"id"});
+    $labels{$item->{"id"}} = $item->{"description"};
   }
 
-  $taxzone = qq|
-             <tr>
-               <th align=right>| . $locale->text('Steuersatz') . qq|</th>
-               <td><select name=taxzone_id>$form->{selecttaxzone}</select></td>
-               <input type=hidden name=selecttaxzone value="$form->{selecttaxzone}">
-             </tr>|;
-
+  if (!$form->{"id"}) {
+    $taxzone = qq|
+    <tr>
+      <th align="right">| . $locale->text('Steuersatz') . qq|</th>
+      <td>| .
+        NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"},
+                             '-values' => \@values, '-labels' => \%labels)) . qq|
+      </td>
+    </tr>|;
 
+  } else {
+    $taxzone = qq|
+    <tr>
+      <th align="right">| . $locale->text('Steuersatz') . qq|</th>
+      <td>
+        <input type="hidden" name="taxzone_id" value="| . H($form->{"taxzone_id"}) . qq|">
+        | . H($labels{$form->{"taxzone_id"}}) . qq|
+      </td>
+    </tr>|;
+  }
 
   $vendor =
     ($form->{selectvendor})
index 7da9071..3d48572 100644 (file)
@@ -334,33 +334,6 @@ sub form_header {
   my $pjx = new CGI::Ajax( 'set_duedate' => $set_duedate_url );
   push(@ { $form->{AJAX} }, $pjx);
 
-  if (@{ $form->{TAXZONE} }) {
-    $form->{selecttaxzone} = "";
-    foreach $item (@{ $form->{TAXZONE} }) {
-      if ($item->{id} == $form->{taxzone_id}) {
-        $form->{selecttaxzone} .=
-          "<option value=$item->{id} selected>" . H($item->{description}) .
-          "</option>";
-      } else {
-        $form->{selecttaxzone} .=
-          "<option value=$item->{id}>" . H($item->{description}) . "</option>";
-      }
-
-    }
-  } else {
-    $form->{selecttaxzone} =~ s/ selected//g;
-    if ($form->{taxzone_id} ne "") {
-      $form->{selecttaxzone} =~ s/value=\"$form->{taxzone_id}\"/value=\"$form->{taxzone_id}\" selected/;
-    }
-  }
-
-  $taxzone = qq|
-             <tr>
-               <th align="right">| . $locale->text('Steuersatz') . qq|</th>
-               <td><select name="taxzone_id">$form->{selecttaxzone}</select></td>
-               <input type="hidden" name="selecttaxzone" value="$form->{selecttaxzone}">
-             </tr>|;
-
   my @old_project_ids = ($form->{"globalproject_id"});
   map({ push(@old_project_ids, $form->{"project_id_$_"})
           if ($form->{"project_id_$_"}); } (1..$form->{"rowcount"}));
@@ -370,7 +343,8 @@ sub form_header {
                    "projects" => { "key" => "ALL_PROJECTS",
                                    "all" => 0,
                                    "old_id" => \@old_project_ids },
-                   "employees" => "ALL_SALESMEN");
+                   "employees" => "ALL_SALESMEN",
+                   "taxzones" => "ALL_TAXZONES");
 
   my %labels;
   my @values = (undef);
@@ -425,6 +399,34 @@ sub form_header {
      . qq|</td>
          </tr>|;
 
+  %labels = ();
+  @values = ();
+  foreach my $item (@{ $form->{"ALL_TAXZONES"} }) {
+    push(@values, $item->{"id"});
+    $labels{$item->{"id"}} = $item->{"description"};
+  }
+
+  if (!$form->{"id"}) {
+    $taxzone = qq|
+    <tr>
+      <th align="right">| . $locale->text('Steuersatz') . qq|</th>
+      <td>| .
+        NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"},
+                             '-values' => \@values, '-labels' => \%labels)) . qq|
+      </td>
+    </tr>|;
+
+  } else {
+    $taxzone = qq|
+    <tr>
+      <th align="right">| . $locale->text('Steuersatz') . qq|</th>
+      <td>
+        <input type="hidden" name="taxzone_id" value="| . H($form->{"taxzone_id"}) . qq|">
+        | . H($labels{$form->{"taxzone_id"}}) . qq|
+      </td>
+    </tr>|;
+  }
+
   # set option selected
   foreach $item (qw(AR customer currency department employee)) {
     $form->{"select$item"} =~ s/ selected//;
index 8058585..1e0c8a6 100644 (file)
@@ -431,7 +431,8 @@ sub form_header {
                    "projects" => { "key" => "ALL_PROJECTS",
                                    "all" => 0,
                                    "old_id" => \@old_project_ids },
-                   "employees" => "ALL_SALESMEN");
+                   "employees" => "ALL_SALESMEN",
+                   "taxzones" => "ALL_TAXZONES");
 
   my %labels;
   my @values = (undef);
@@ -489,6 +490,23 @@ sub form_header {
          </tr>|;
   }
 
+
+  %labels = ();
+  @values = ();
+  foreach my $item (@{ $form->{"ALL_TAXZONES"} }) {
+    push(@values, $item->{"id"});
+    $labels{$item->{"id"}} = $item->{"description"};
+  }
+
+  $taxzone = qq|
+    <tr>
+      <th align="right">| . $locale->text('Steuersatz') . qq|</th>
+      <td>| .
+        NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"},
+                             '-values' => \@values, '-labels' => \%labels)) . qq|
+      </td>
+    </tr>|;
+
   $form->{exchangerate} =
     $form->format_amount(\%myconfig, $form->{exchangerate});
 
@@ -560,34 +578,6 @@ sub form_header {
 |;
   }
 
-  if (@{ $form->{TAXZONE} }) {
-    $form->{selecttaxzone} = "";
-    foreach $item (@{ $form->{TAXZONE} }) {
-      if ($item->{id} == $form->{taxzone_id}) {
-        $form->{selecttaxzone} .=
-          "<option value=$item->{id} selected>" . H($item->{description}) .
-          "</option>";
-      } else {
-        $form->{selecttaxzone} .=
-          "<option value=$item->{id}>" . H($item->{description}) . "</option>";
-      }
-
-    }
-  } else {
-    $form->{selecttaxzone} =~ s/ selected//g;
-    if ($form->{taxzone_id} ne "") {
-      $form->{selecttaxzone} =~ s/value=$form->{taxzone_id}>/value=$form->{taxzone_id} selected>/;
-    }
-  }
-
-  $taxzone = qq|
-             <tr>
-               <th align=right>| . $locale->text('Steuersatz') . qq|</th>
-               <td><select name=taxzone_id>$form->{selecttaxzone}</select></td>
-               <input type=hidden name=selecttaxzone value="$form->{selecttaxzone}">
-             </tr>|;
-
-
   if ($form->{type} !~ /_quotation$/) {
     $ordnumber = qq|
              <tr>