X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/ec3a4636c1d58339915614120cd82759150d7641..d5cb059bfa6c56fb74bf2a89c5625cb0b442e48e:/SL/Controller/Helper/GetModels/Base.pm diff --git a/SL/Controller/Helper/GetModels/Base.pm b/SL/Controller/Helper/GetModels/Base.pm index 3d28de5d1..6a9a9cda7 100644 --- a/SL/Controller/Helper/GetModels/Base.pm +++ b/SL/Controller/Helper/GetModels/Base.pm @@ -4,11 +4,15 @@ use strict; use parent 'Rose::Object'; use Scalar::Util qw(weaken); - use Rose::Object::MakeMethods::Generic ( - scalar => [ qw(get_models) ], + scalar => [ qw(get_models disabled finalized) ], ); +# phase stubs +sub read_params { die 'implement me' } + +sub finalize { die 'implement me' } + sub set_get_models { $_[0]->get_models($_[1]); @@ -23,7 +27,19 @@ sub merge_args { $final_args->{$field} = [ map { @{ $_->{$field} || [] } } @args ]; } + for my $field (qw(page per_page sort_by)) { + for my $arg (@args) { + next unless defined $arg->{$field}; + $final_args->{$field} //= $arg->{$field}; + } + } + return %$final_args; } +sub is_enabled { + my ($self) = @_; + return !$self->disabled; +} + 1;