X-Git-Url: http://wagnertech.de/git?p=kivitendo-erp.git;a=blobdiff_plain;f=SL%2FDB%2FManager%2FLetter.pm;fp=SL%2FDB%2FManager%2FLetter.pm;h=a412cd81beb407d5c4365d480e7ce8ba69845d5d;hp=0000000000000000000000000000000000000000;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hpb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44 diff --git a/SL/DB/Manager/Letter.pm b/SL/DB/Manager/Letter.pm new file mode 100644 index 000000000..a412cd81b --- /dev/null +++ b/SL/DB/Manager/Letter.pm @@ -0,0 +1,41 @@ +package SL::DB::Manager::Letter; + +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::Letter' } + +__PACKAGE__->make_manager_methods; +__PACKAGE__->add_filter_specs( + is_sales => sub { + my ($key, $value, $prefix) = @_; + __PACKAGE__->is_sales_filter($value, $prefix); + }, +); + +sub is_sales_filter { + my ($class, $value, $prefix) = @_; + + return () if !defined $value; + return ($prefix . 'customer_id' => { gt => 0 }) if $value; + return ($prefix . 'vendor_id' => { gt => 0 }) if !$value; +} + +sub _sort_spec { + return ( columns => { SIMPLE => 'ALL', + customer => [ 'lower(customer.name)', ], + }, + default => [ 'date', 0 ], + nulls => { } + ); +} + +sub default_objects_per_page { 30 } + +1;