]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/Controller/Helper/GetModels/Sorted.pm
Doku
[kivitendo-erp.git] / SL / Controller / Helper / GetModels / Sorted.pm
index c154d753c898bc89215fefb3eab847666a0f37c4..14e733d452c397a96c8098f8e8d98c867e73c106 100644 (file)
@@ -37,7 +37,6 @@ sub init {
 
   $self->get_models->register_handlers(
     callback   => sub { shift; $self->_callback_handler_for_sorted(@_) },
-    get_models => sub { shift; $self->_get_models_handler_for_sorted(@_) },
   );
 
 #   $::lxdebug->dump(0, "CONSPEC", \%specs);
@@ -73,6 +72,12 @@ sub read_params {
 
 sub finalize {
   my ($self, %params) = @_;
+
+  my %sort_params     = $self->read_params;
+  my $sort_spec       = $self->specs->{ $sort_params{sort_by} };
+
+  $params{sort_by}    = "SL::DB::Manager::$sort_spec->{model}"->make_sort_string(sort_by => $sort_spec->{model_column}, sort_dir => $sort_params{sort_dir});
+
   %params;
 }
 
@@ -118,20 +123,6 @@ sub _callback_handler_for_sorted {
   return %params;
 }
 
-sub _get_models_handler_for_sorted {
-  my ($self, %params) = @_;
-
-  my %sort_params     = $self->read_params;
-  my $sort_spec       = $self->specs->{ $sort_params{sort_by} };
-
-  $params{sort_by}    = "SL::DB::Manager::$sort_spec->{model}"->make_sort_string(sort_by => $sort_spec->{model_column}, sort_dir => $sort_params{sort_dir});
-
-  # $::lxdebug->dump(0, "GM handler for sorted; params nach modif:", \%params);
-
-  return %params;
-}
-
-
 sub init_form_params {
   [ qw(sort_by sort_dir) ]
 }
@@ -155,7 +146,7 @@ In a controller:
   use SL::Controller::Helper::GetModels;
   use SL::Controller::Helper::Sorted;
 
-  __PACKAGE__->make_sorted(
+  __PACKAGE__->make_sorted(                                     # update this
     DEFAULT_BY   => 'run_at',
     DEFAULT_DIR  => 1,
     MODEL        => 'BackgroundJobHistory',
@@ -179,7 +170,7 @@ In said template:
 
   <table>
    <tr>
-    <th>[% L.sortable_table_header('package_name') %]</th>
+    <th>[% L.sortable_table_header('package_name') %]</th>         # models
     <th>[% L.sortable_table_header('run_at') %]</th>
     <th>[% L.sortable_table_header('error') %]</th>
    </tr>
@@ -199,7 +190,7 @@ This specialized helper module enables controllers to display a
 sortable list of database models with as few lines as possible.
 
 For this to work the controller has to provide the information which
-indexes are eligible for sorting etc. by a call to L<make_sorted> at
+indexes are eligible for sorting etc. by a call to L<make_sorted> at  #not compiletime
 compile time.
 
 The underlying functionality that enables the use of more than just
@@ -223,7 +214,7 @@ parameters that were used in the current view.
 
 =over 4
 
-=item C<make_sorted %sort_spec>
+=item C<make_sorted %sort_spec>                                         # meh complete rewrite
 
 This function must be called by a controller at compile time. It is
 uesd to set the various parameters required for this helper to do its