X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FHelper%2FGetModels%2FFiltered.pm;h=eaf7404611f76817b9ab620132dfe3ea65ec4017;hb=a9406a2d77b97792b9deb6e3c80e5cdb31b7010a;hp=642d542a00f78f63a4e65c5beababe2c84b2b1c5;hpb=fe847cb27e61fdd7bd763974b983096f33485c11;p=kivitendo-erp.git diff --git a/SL/Controller/Helper/GetModels/Filtered.pm b/SL/Controller/Helper/GetModels/Filtered.pm index 642d542a0..eaf740461 100644 --- a/SL/Controller/Helper/GetModels/Filtered.pm +++ b/SL/Controller/Helper/GetModels/Filtered.pm @@ -9,7 +9,7 @@ use List::MoreUtils qw(uniq); use Rose::Object::MakeMethods::Generic ( scalar => [ qw(filter_args filter_params orig_filter filter) ], - 'scalar --get_set_init' => [ qw(form_params launder_to) ], + 'scalar --get_set_init' => [ qw(form_params launder_to laundered) ], ); sub init { @@ -60,6 +60,9 @@ sub read_params { } } + # Store laundered result in $self->laundered. + $self->laundered($laundered // $filter) unless $parse_filter_args{no_launder}; + # $::lxdebug->dump(0, "get_current_filter_params: ", \%calculated_params); $self->filter_params(\%calculated_params); @@ -111,6 +114,12 @@ sub init_launder_to { 'filter' } +sub init_laundered { + my ($self) = @_; + + $self->get_models->finalize; + return $self->{laundered}; +} 1; @@ -185,6 +194,18 @@ See L for a description of the filter forma C will honor custom filters defined in RDBO managers. See L for an explanation fo those. +=head1 FUNCTIONS + +=over 4 + +=item C + +Finalizes the object (which causes laundering of the filter structure) +and returns a hashref of the laundered filter. If the plugin is +configured not to launder then C will be returned. + +=back + =head1 BUGS =over 4