Bug 26582: Add Koha::Acquisition::Basket->close
[koha-ffzg.git] / admin / columns_settings.pl
index 4c87142..9d19808 100755 (executable)
@@ -6,16 +6,15 @@ use YAML qw( LoadFile );
 use C4::Auth;
 use C4::Context;
 use C4::Output;
-use C4::Utils::DataTables::ColumnsSettings qw( get_modules );
-my $input = new CGI;
+use C4::Utils::DataTables::TablesSettings qw( get_modules );
+my $input = CGI->new;
 
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
         template_name   => "admin/columns_settings.tt",
         query           => $input,
         type            => "intranet",
-        authnotrequired => 0,
-        flagsrequired   => { parameters => 'parameters_remaining_permissions' },
+        flagsrequired   => { parameters => 'manage_column_config' },
         debug           => 1,
     }
 );
@@ -42,17 +41,36 @@ if ( $action eq 'save' ) {
           };
     }
 
-    C4::Utils::DataTables::ColumnsSettings::update_columns(
+    C4::Utils::DataTables::TablesSettings::update_columns(
         {
             columns => \@columns,
         }
     );
 
+    my @table_ids = $input->multi_param('table_id');
+    for my $table_id (@table_ids) {
+        next unless $table_id =~ m|^([^#]*)#(.*)$|;
+        my $default_display_length = $input->param( $table_id . '_default_display_length' );
+        my $default_sort_order     = $input->param( $table_id . '_default_sort_order' );
+        if (   defined $default_display_length && $default_display_length ne ""
+            && defined $default_sort_order     && $default_sort_order     ne "" ) {
+            C4::Utils::DataTables::TablesSettings::update_table_settings(
+                {
+                    module                 => $module,
+                    page                   => $1,
+                    tablename              => $2,
+                    default_display_length => $default_display_length,
+                    default_sort_order     => $default_sort_order,
+                }
+            );
+        }
+    }
+
     $action = 'list';
 }
 
 if ( $action eq 'list' ) {
-    my $modules = C4::Utils::DataTables::ColumnsSettings::get_modules;
+    my $modules = C4::Utils::DataTables::TablesSettings::get_modules;
     $template->param(
         panel   => ( $input->param('panel') || 0 ),
         modules => $modules,