get_vendor war nicht hinreichend abgesichert gegen mehrfache aufrufe.
[kivitendo-erp.git] / SL / IS.pm
index f2eef1e..6b0f479 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -63,6 +63,7 @@ sub invoice_details {
   ($form->{terms}) = selectrow_query($form, $dbh, $query);
 
   my (@project_ids, %projectnumbers);
+  $form->{TEMPLATE_ARRAYS} = {};
 
   push(@project_ids, $form->{"globalproject_id"}) if ($form->{"globalproject_id"});
 
@@ -149,7 +150,7 @@ sub invoice_details {
 
   my @payment_arrays = qw(payment paymentaccount paymentdate paymentsource paymentmemo);
 
-  $form->{TEMPLATE_ARRAYS} = { map { $_ => [] } (@arrays, @tax_arrays, @payment_arrays) };
+  map { $form->{TEMPLATE_ARRAYS}{$_} => [] } (@arrays, @tax_arrays, @payment_arrays);
 
   foreach $item (sort { $a->[1] cmp $b->[1] } @partsgroup) {
     $i = $item->[0];
@@ -553,6 +554,7 @@ sub post_invoice {
   my %price_factors = map { $_->{id} => $_->{factor} } @{ $form->{ALL_PRICE_FACTORS} };
   my $price_factor;
 
+  $form->{amount}      = {};
   $form->{amount_cogs} = {};
 
   foreach my $i (1 .. $form->{rowcount}) {