Überlagerte benutzerdefinierte Variablen werden in wiederkehrende Rechnungen nicht...
authorJan Büren <jan@kivitendo-premium.de>
Tue, 7 Jan 2014 08:29:05 +0000 (09:29 +0100)
committerJan Büren <jan@kivitendo-premium.de>
Tue, 7 Jan 2014 08:29:05 +0000 (09:29 +0100)
closes #2365

SL/DB/Invoice.pm

index 7f72699..72844b4 100644 (file)
@@ -7,6 +7,7 @@ use strict;
 
 use Carp;
 use List::Util qw(first);
+use List::MoreUtils qw(pairwise);
 
 use SL::DB::MetaSetup::Invoice;
 use SL::DB::Manager::Invoice;
@@ -15,6 +16,7 @@ use SL::DB::Helper::LinkedRecords;
 use SL::DB::Helper::PriceTaxCalculator;
 use SL::DB::Helper::PriceUpdater;
 use SL::DB::Helper::TransNumberGenerator;
+use SL::DB::CustomVariable;
 
 __PACKAGE__->meta->add_relationship(
   invoiceitems => {
@@ -147,6 +149,14 @@ sub new_from {
                             fxsellprice  => $source_item->sellprice,);
   } @{ $source->items_sorted };
 
+  my $i = 0;
+  foreach my $item (@items) {
+    my $source_cvars = $source->items_sorted->[$i]->cvars_by_config;
+    my $target_cvars = $item->cvars_by_config;
+    pairwise { $a->value($b->value) } @{ $target_cvars }, @{ $source_cvars };
+    $i++;
+  }
+
   $invoice->invoiceitems(\@items);
 
   return $invoice;