X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/42c64631976e6a243552c2f728c2d0ff250f4406..af81f05f3519e304f29a28b7fe34cce3689c073f:/SL/BackgroundJob/ConvertTimeRecordings.pm diff --git a/SL/BackgroundJob/ConvertTimeRecordings.pm b/SL/BackgroundJob/ConvertTimeRecordings.pm index ffc2bae2c..906c8dba4 100644 --- a/SL/BackgroundJob/ConvertTimeRecordings.pm +++ b/SL/BackgroundJob/ConvertTimeRecordings.pm @@ -211,8 +211,11 @@ sub convert_with_linking { } } + # update delivered and item's ship for related order my $helper = SL::Helper::ShippedQty->new->calculate($related_order)->write_to_objects; - $related_order->update_attributes(delivered => $related_order->{delivered}); + $related_order->delivered($related_order->{delivered}); + $_->ship($_->{shipped_qty}) for @{$related_order->items}; + $related_order->save(cascade => 1); 1; })) { @@ -287,9 +290,10 @@ sub get_order_for_time_recording { return; } - my $orders = SL::DB::Manager::Order->get_all(where => [customer_id => $tr->customer_id, - or => [quotation => undef, quotation => 0], - globalproject_id => $project_id, ]); + my $orders = SL::DB::Manager::Order->get_all(where => [customer_id => $tr->customer_id, + or => [quotation => undef, quotation => 0], + globalproject_id => $project_id, ], + with_objects => ['orderitems']); my @matching_orders; foreach my $order (@$orders) { if (any { $_->parts_id == $part_id } @{ $order->items_sorted }) {