Revision 38666007
Von Jan Büren vor mehr als 9 Jahren hinzugefügt
SL/DB/DeliveryOrder.pm | ||
---|---|---|
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)
|
||
... | ... | |
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
|
Auch abrufbar als: Unified diff
convert_to_invoice params an Invoice::new_from(%params)
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).