X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FManager%2FOrderItem.pm;h=379e1fdb7f98de617323be8d55245480406abef0;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=e908b6b1f6925a1c40198583cd39a849a9890195;hpb=f46bab538d8953b357098ca4ff9ace670d9b0d55;p=kivitendo-erp.git diff --git a/SL/DB/Manager/OrderItem.pm b/SL/DB/Manager/OrderItem.pm index e908b6b1f..379e1fdb7 100644 --- a/SL/DB/Manager/OrderItem.pm +++ b/SL/DB/Manager/OrderItem.pm @@ -5,12 +5,27 @@ use strict; use SL::DB::Helper::Manager; use base qw(SL::DB::Helper::Manager); +use SL::DB::Helper::Filtered; use SL::DB::Helper::Paginated; use SL::DB::Helper::Sorted; sub object_class { 'SL::DB::OrderItem' } __PACKAGE__->make_manager_methods; +__PACKAGE__->add_filter_specs( + reqdate => sub { + my ($key, $value, $prefix) = @_; + + return or => [ + $prefix . reqdate => $value, + and => [ + $prefix . reqdate => undef, + $prefix . 'order.reqdate' => $value, + ] + ], $prefix . 'order'; + }, +); + sub _sort_spec { return ( columns => { delivery_date => [ 'deliverydate', ], @@ -19,11 +34,11 @@ sub _sort_spec { qty => [ 'qty' ], ordnumber => [ 'order.ordnumber' ], customer => [ 'lower(customer.name)', ], - position => [ 'trans_id', 'runningnumber' ], + position => [ 'trans_id', 'position' ], reqdate => [ 'COALESCE(orderitems.reqdate, order.reqdate)' ], orddate => [ 'order.orddate' ], - sellprice => [ 'sellprice' ], - discount => [ 'discount' ], + sellprice => [ 'orderitems.sellprice' ], + discount => [ 'orderitems.discount' ], transdate => [ 'orderitems.transdate::date', 'order.reqdate' ], }, default => [ 'position', 1 ], @@ -31,6 +46,6 @@ sub _sort_spec { ); } -sub default_objects_per_page { 40 } +sub default_objects_per_page { 15 } 1;