paginating im druck gefixt. debugmeldungen aufgerÀumt
[kivitendo-erp.git] / SL / Controller / Helper / GetModels / Paginated.pm
index fc61ac5..871f4b5 100644 (file)
@@ -20,7 +20,6 @@ sub init {
 
   $self->get_models->register_handlers(
     callback   => sub { shift; $self->_callback_handler_for_paginated(@_) },
-    get_models => sub { shift; $self->_get_models_handler_for_paginated(@_) },
   );
 
   # $::lxdebug->dump(0, "CONSPEC", \%specs);
@@ -51,23 +50,26 @@ sub read_params {
 
 sub finalize {
   my ($self, %args)   = @_;
-#  return () unless $self->is_enabled;
-  my %paginate_params = $self->read_params;
 
-  # try to use Filtered if available and nothing else is configured, but don't
-  # blow up if the controller does not use Filtered
-  my %paginate_args     = ref($self->paginate_args) eq 'CODE'       ? %{ $self->paginate_args->($self) }
-                        :     $self->paginate_args  eq '__FILTER__'
-                           && $self->get_models->filtered ? $self->get_models->filtered->read_params
-                        :     $self->paginate_args  ne '__FILTER__' ? do { my $sub = $self->paginate_args; %{ $self->get_models->controller->$sub() } }
-                        :                                               ();
+  if ($self->is_enabled) {
+    my %paginate_params = $self->read_params;
 
-  %args = $self->merge_args(\%args, \%paginate_args);
+    # try to use Filtered if available and nothing else is configured, but don't
+    # blow up if the controller does not use Filtered
+    my %paginate_args     = ref($self->paginate_args) eq 'CODE'       ? %{ $self->paginate_args->($self) }
+                          :     $self->paginate_args  eq '__FILTER__'
+                             && $self->get_models->filtered ? $self->get_models->filtered->read_params
+                          :     $self->paginate_args  ne '__FILTER__' ? do { my $sub = $self->paginate_args; %{ $self->get_models->controller->$sub() } }
+                          :                                               ();
 
-  my $calculated_params = $self->get_models->manager->paginate(%paginate_params, args => \%args);
+    %args = $self->merge_args(\%args, \%paginate_args);
+
+    my $calculated_params = $self->get_models->manager->paginate(%paginate_params, args => \%args);
+
+    $self->calculated_params($calculated_params);
+  }
 
   $self->paginated_args(\%args);
-  $self->calculated_params($calculated_params);
 
   return %args;
 }
@@ -96,15 +98,6 @@ sub _callback_handler_for_paginated {
   return %params;
 }
 
-sub _get_models_handler_for_paginated {
-  my ($self, %params)    = @_;
-
-  $self->get_models->manager->paginate(%{ $self->calculated_params }, args => \%params) if $self->is_enabled;
-
-  # $::lxdebug->dump(0, "GM handler for paginated; params nach modif (is_enabled? " . _is_enabled($self) . ")", \%params);
-  return %params;
-}
-
 sub init_form_params {
   [ qw(page per_page) ]
 }