Projekt

Allgemein

Profil

Herunterladen (915 Bytes) Statistiken
| Zweig: | Markierung: | Revision:
ea5d75b5 Sven Schöling
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;
db7a2e79 Sven Schöling
__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;
}
ea5d75b5 Sven Schöling
sub _sort_spec {
return ( columns => { SIMPLE => 'ALL',
customer => [ 'lower(customer.name)', ],
},
0310ce71 Sven Schöling
default => [ 'date', 0 ],
ea5d75b5 Sven Schöling
nulls => { }
);
}

ebac0f0e Sven Schöling
sub default_objects_per_page { 30 }
ea5d75b5 Sven Schöling
1;