Refactoring: Code für OrderItem-Manager von DB-Datei in eigene Manager-Datei ausgelagert
[kivitendo-erp.git] / SL / DB / Manager / OrderItem.pm
1 package SL::DB::Manager::OrderItem;
2
3 use strict;
4
5 use SL::DB::Helper::Manager;
6 use base qw(SL::DB::Helper::Manager);
7
8 use SL::DB::Helper::Paginated;
9 use SL::DB::Helper::Sorted;
10
11 sub object_class { 'SL::DB::OrderItem' }
12
13 __PACKAGE__->make_manager_methods;
14
15 sub _sort_spec {
16   return ( columns => { delivery_date => [ 'deliverydate',        ],
17                         description   => [ 'lower(orderitems.description)',  ],
18                         partnumber    => [ 'part.partnumber',     ],
19                         qty           => [ 'qty'                  ],
20                         ordnumber     => [ 'order.ordnumber'      ],
21                         customer      => [ 'lower(customer.name)', ],
22                         position      => [ 'trans_id', 'runningnumber' ],
23                         reqdate       => [ 'COALESCE(orderitems.reqdate, order.reqdate)' ],
24                         orddate       => [ 'order.orddate' ],
25                         sellprice     => [ 'sellprice' ],
26                         discount      => [ 'discount' ],
27                         transdate     => [ 'transdate::date', 'order.reqdate' ],
28                       },
29            default => [ 'position', 1 ],
30            nulls   => { }
31          );
32 }
33
34 sub default_objects_per_page { 40 }
35
36 1;