Pflichtenheft: nach benutzerdefinierten Variablen suchen können
[kivitendo-erp.git] / SL / DB / Manager / RequirementSpec.pm
1 package SL::DB::Manager::RequirementSpec;
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::Filtered;
9 use SL::DB::Helper::Paginated;
10 use SL::DB::Helper::Sorted;
11
12 sub object_class { 'SL::DB::RequirementSpec' }
13
14 __PACKAGE__->make_manager_methods;
15
16 sub _sort_spec {
17   return (
18     default => [ 'title', 1 ],
19     columns => {
20       SIMPLE => 'ALL',
21       customer      => 'lower(customer.name)',
22       type          => 'type.position',
23       status        => 'status.position',
24       projectnumber => 'project.projectnumber',
25       map { ( $_ => "lower(requirement_specs.${_})" ) } qw(title),
26     });
27 }
28
29 sub working_copy_filter {
30   return (working_copy_id => undef);
31 }
32
33 sub not_empty_filter {
34   my @tables = qw(requirement_spec_items requirement_spec_text_blocks requirement_spec_parts);
35   my @filter = map { \"id IN (SELECT nef_${_}.requirement_spec_id FROM ${_} nef_${_})" } @tables;
36
37   return (or => \@filter);
38 }
39
40 1;