Fix für Bug 1770 - Währung / currency überlebt Workflow über Lieferschein nicht
authorBernd Blessmann <bibi@online.de>
Mon, 9 Jan 2012 13:25:47 +0000 (14:25 +0100)
committerBernd Blessmann <bibi@online.de>
Mon, 9 Jan 2012 13:25:47 +0000 (14:25 +0100)
SL/DO.pm
SL/Form.pm
bin/mozilla/ir.pl
bin/mozilla/is.pl
doc/changelog
templates/webpages/do/form_header.html

index 0d2a5ec..f241cdf 100644 (file)
--- a/SL/DO.pm
+++ b/SL/DO.pm
@@ -350,7 +350,7 @@ sub save {
              conv_i($form->{salesman_id}), conv_i($form->{cp_id}),
              $form->{transaction_description},
              $form->{type} =~ /^sales/ ? 't' : 'f',
-             conv_i($form->{taxzone_id}), $form->{taxincluded} ? 't' : 'f', conv_i($form->{terms}), $form->{curr},
+             conv_i($form->{taxzone_id}), $form->{taxincluded} ? 't' : 'f', conv_i($form->{terms}), substr($form->{currency}, 0, 3),
              conv_i($form->{id}));
   do_query($form, $dbh, $query, @values);
 
@@ -601,7 +601,7 @@ sub retrieve {
          d.description AS department, dord.language_id,
          dord.shipto_id,
          dord.globalproject_id, dord.delivered, dord.transaction_description,
-         dord.taxzone_id, dord.taxincluded, dord.terms, dord.curr
+         dord.taxzone_id, dord.taxincluded, dord.terms, dord.curr AS currency
        FROM delivery_orders dord
        JOIN ${vc} cv ON (dord.${vc}_id = cv.id)
        LEFT JOIN employee e ON (dord.employee_id = e.id)
@@ -623,6 +623,9 @@ sub retrieve {
   }
   $sth->finish();
 
+  # remove any trailing whitespace
+  $form->{currency} =~ s/\s*$//;
+
   $form->{donumber_array} =~ s/\s*$//g;
 
   $form->{saved_donumber} = $form->{donumber};
index 38d87ad..9433173 100644 (file)
@@ -2860,7 +2860,7 @@ sub create_links {
     if ($self->{"$self->{vc}_id"}) {
 
       # only setup currency
-      ($self->{currency}) = split(/:/, $self->{currencies});
+      ($self->{currency}) = split(/:/, $self->{currencies}) if !$self->{currency};
 
     } else {
 
index b550532..2ace9a7 100644 (file)
@@ -116,7 +116,7 @@ sub invoice_links {
     }
   }
 
-  my ($payment_id, $language_id, $taxzone_id);
+  my ($payment_id, $language_id, $taxzone_id, $currency);
   if ($form->{payment_id}) {
     $payment_id = $form->{payment_id};
   }
@@ -126,6 +126,9 @@ sub invoice_links {
   if ($form->{taxzone_id}) {
     $taxzone_id = $form->{taxzone_id};
   }
+  if ($form->{currency}) {
+    $currency = $form->{currency};
+  }
 
   my $cp_id = $form->{cp_id};
   IR->get_vendor(\%myconfig, \%$form);
@@ -141,6 +144,9 @@ sub invoice_links {
   if ($taxzone_id) {
     $form->{taxzone_id} = $taxzone_id;
   }
+  if ($currency) {
+    $form->{currency} = $currency;
+  }
 
   my @curr = split(/:/, $form->{currencies}); #seems to be missing
   map { $form->{selectcurrency} .= "<option>$_\n" } @curr;
index b858db1..489a6d9 100644 (file)
@@ -146,7 +146,7 @@ sub invoice_links {
 
   my $editing = $form->{id};
 
-  $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded cp_id intnotes id shipto_id));
+  $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded currency cp_id intnotes id shipto_id));
 
   IS->get_customer(\%myconfig, \%$form);
 
@@ -158,7 +158,7 @@ sub invoice_links {
   $form->restore_vars(qw(id));
 
   IS->retrieve_invoice(\%myconfig, \%$form);
-  $form->restore_vars(qw(payment_id language_id taxzone_id intnotes cp_id shipto_id));
+  $form->restore_vars(qw(payment_id language_id taxzone_id currency intnotes cp_id shipto_id));
   $form->restore_vars(qw(taxincluded)) if $form->{id};
   $form->restore_vars(qw(salesman_id)) if $editing;
 
index 7f34433..aa51d34 100644 (file)
@@ -67,6 +67,7 @@
   - Bugfix 1753: Benutzerdefinierte Variable f. Waren: bearbeitbar nicht auswählbar
   - Bugfix 1738:  Entwürfe können nicht gelöscht werden
   - Bugfix 1759: Währung bei Kunden / Lieferanten vorbelegen
+  - Bugfix 1770: Währung / currency überlebt Workflow über Lieferschein nicht
   - Bugfix 1773: SQL Fehler bei Anzeige von Angeboten
 
 
index 393422e..a83a2b9 100644 (file)
@@ -64,7 +64,7 @@
   <input type="hidden" name="cc" value="[% HTML.escape(cc) %]">
   <input type="hidden" name="closed" value="[% HTML.escape(closed) %]">
   <input type="hidden" name="convert_from_oe_ids" value="[% HTML.escape(convert_from_oe_ids) %]">
-  <input type="hidden" name="curr" value="[% HTML.escape(curr) %]">
+  <input type="hidden" name="currency" value="[% HTML.escape(currency) %]">
   <input type="hidden" name="customer_klass" value="[% HTML.escape(customer_klass) %]">
   <input type="hidden" name="discount" value="[% HTML.escape(discount) %]">
   <input type="hidden" name="dunning_amount" value="[% HTML.escape(dunning_amount) %]">