Revision b5742d3c
Von Jan Büren vor mehr als 1 Jahr hinzugefügt
SL/DB/Manager/Chart.pm | ||
---|---|---|
9 | 9 |
use SL::DB::Helper::Paginated; |
10 | 10 |
use SL::DB::Helper::Filtered; |
11 | 11 |
use SL::MoreCommon qw(listify); |
12 |
use DateTime; |
|
13 | 12 |
use SL::DBUtils; |
13 |
|
|
14 |
use Carp; |
|
15 |
use DateTime; |
|
14 | 16 |
use Data::Dumper; |
15 | 17 |
|
16 | 18 |
sub object_class { 'SL::DB::Chart' } |
... | ... | |
38 | 40 |
my ($key, $value) = @_; |
39 | 41 |
return __PACKAGE__->booked_filter($value); |
40 | 42 |
}, |
41 |
invalid => sub {
|
|
43 |
status => sub {
|
|
42 | 44 |
my ($key, $value) = @_; |
43 | 45 |
return __PACKAGE__->invalid_filter($value); |
44 | 46 |
}, |
45 | 47 |
|
46 | 48 |
); |
47 | 49 |
sub invalid_filter { |
48 |
my ($class, $invalid) = @_; |
|
50 |
my ($class, $status) = @_; |
|
51 |
|
|
52 |
croak "Wrong call, need status invalid, all or valid, got:" . $status unless $status =~ m/invalid|all|valid/; |
|
49 | 53 |
|
50 |
$invalid //= 0; |
|
51 | 54 |
my @filter; |
52 | 55 |
|
53 |
if ( $invalid ) {
|
|
56 |
if ($status eq 'all') {
|
|
54 | 57 |
push @filter, ( id => [ \"SELECT id FROM chart" ] ); |
55 |
} else {
|
|
58 |
} elsif ($status eq 'valid') {
|
|
56 | 59 |
push @filter, ( id => [ \"SELECT id FROM chart WHERE NOT invalid" ] ); |
57 |
}; |
|
60 |
} elsif ($status eq 'invalid') { |
|
61 |
push @filter, ( id => [ \"SELECT id FROM chart WHERE invalid" ] ); |
|
62 |
} else { die "Wrong state for invalid_filter"; } |
|
58 | 63 |
|
59 | 64 |
return @filter; |
60 | 65 |
} |
Auch abrufbar als: Unified diff
Drei Status für chart eingeführt: valid, invalid, all (POD erg.)