From: Sven Schöling Date: Fri, 16 Jan 2015 12:34:51 +0000 (+0100) Subject: LinkedRecords: with_objects erlauben für shipped_qty X-Git-Tag: release-3.5.4~1769 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=0ff17226240249b036073f696ecc6e15017f98be;p=kivitendo-erp.git LinkedRecords: with_objects erlauben für shipped_qty --- diff --git a/SL/DB/Helper/LinkedRecords.pm b/SL/DB/Helper/LinkedRecords.pm index c7de25b74..2ed5d2036 100644 --- a/SL/DB/Helper/LinkedRecords.pm +++ b/SL/DB/Helper/LinkedRecords.pm @@ -85,7 +85,12 @@ sub _linked_records_implementation { $_->{_record_link_direction} = $wanted; $_->{_record_link} = $link; $_ - } @{ $manager_class->get_all(query => [ id => $link->$sub_wanted_id, @get_objects_query ]) }; + } @{ + $manager_class->get_all( + query => [ id => $link->$sub_wanted_id, @get_objects_query ], + (with_objects => $params{with_objects}) x !!$params{with_objects}, + ) + }; }; # If no 'via' is given then use a simple(r) method for querying the wanted objects. diff --git a/SL/DB/OrderItem.pm b/SL/DB/OrderItem.pm index d46fdcc36..e7b9179f6 100644 --- a/SL/DB/OrderItem.pm +++ b/SL/DB/OrderItem.pm @@ -33,10 +33,9 @@ sub is_price_update_available { sub shipped_qty { my ($self) = @_; - my $d_orders = $self->order->linked_records(direction => 'to', to => 'SL::DB::DeliveryOrder'); + my $d_orders = $self->order->linked_records(direction => 'to', to => 'SL::DB::DeliveryOrder', with_objects => [ 'orderitems' ]); my @doi = grep { $_->parts_id == $self->parts_id } map { $_->orderitems } @$d_orders; - require SL::AM; return sum(map { AM->convert_unit($_->unit => $self->unit) * $_->qty } @doi); }