convert_to_invoice params an Invoice::new_from(%params)
authorJan Büren <jan@kivitendo-premium.de>
Mon, 5 Oct 2015 14:46:21 +0000 (16:46 +0200)
committerJan Büren <jan@kivitendo-premium.de>
Mon, 5 Oct 2015 15:04:16 +0000 (17:04 +0200)
DeliveryOrder.pm übergab etwaige Parameter beim Aufruf von new_from
an Invoice->post(%params). Das macht für den Anwendungsfall chart_id
in 42ea98b4 Sinn (Order.pm), allerdings benötigt die convert_to_invoice in
DeliveryOrder.pm die new_from(attributes => {'custom_attr' => value })
(s.a. 20118160).

SL/DB/DeliveryOrder.pm

index 638301b..d15b3fa 100644 (file)
@@ -195,7 +195,7 @@ sub convert_to_invoice {
   my $invoice;
   if (!$self->db->with_transaction(sub {
     require SL::DB::Invoice;
-    $invoice = SL::DB::Invoice->new_from($self)->post(%params) || die;
+    $invoice = SL::DB::Invoice->new_from($self, %params)->post || die;
     $self->link_to_record($invoice);
     foreach my $item (@{ $invoice->items }) {
       foreach (qw(delivery_order_items)) {    # expand if needed (delivery_order_items)
@@ -328,7 +328,7 @@ L<SL::DB::Invoice::new_from>. That invoice is posted, and C<$self> is
 linked to the new invoice via L<SL::DB::RecordLink>. C<$self>'s
 C<closed> attribute is set to C<true>, and C<$self> is saved.
 
-The arguments in C<%params> are passed to L<SL::DB::Invoice::post>.
+The arguments in C<%params> are passed to L<SL::DB::Invoice::new_from>.
 
 Returns the new invoice instance on success and C<undef> on
 failure. The whole process is run inside a transaction. On failure