@@ -, +, @@ tables --- Koha/Template/Plugin/TablesSettings.pm | 8 +++++++- admin/columns_settings.pl | 4 ++-- .../prog/en/includes/columns_settings.inc | 11 +++++++++++ .../intranet-tmpl/prog/en/includes/doc-head-close.inc | 1 + .../prog/en/modules/admin/columns_settings.tt | 7 +++++-- koha-tmpl/intranet-tmpl/prog/js/datatables.js | 11 +++++++++++ 6 files changed, 37 insertions(+), 5 deletions(-) --- a/Koha/Template/Plugin/TablesSettings.pm +++ a/Koha/Template/Plugin/TablesSettings.pm @@ -134,7 +134,13 @@ sub GetTableSettings { my $settings = C4::Utils::DataTables::TablesSettings::get_table_settings( $module, $page, $table ); my $columns = C4::Utils::DataTables::TablesSettings::get_columns( $module, $page, $table ); - $settings->{columns} = $columns; + $settings = { + %$settings, + columns => $columns, + module => $module, + page => $page, + table => $table, + }; return $format eq 'json' ? to_json( $settings || {} ) --- a/admin/columns_settings.pl +++ a/admin/columns_settings.pl @@ -74,8 +74,8 @@ if ( $action eq 'save' ) { if ( $action eq 'list' ) { my $modules = C4::Utils::DataTables::TablesSettings::get_modules; $template->param( - panel => ( $input->param('panel') || 0 ), - modules => $modules, + module_tab => scalar $input->param('module'), + modules => $modules, ); } --- a/koha-tmpl/intranet-tmpl/prog/en/includes/columns_settings.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/columns_settings.inc @@ -122,6 +122,17 @@ function KohaTable(id_selector, dt_parameters, table_settings, add_filters) { } ); + if ( CAN_user_parameters_manage_column_config ) { + dt_parameters[ "buttons" ].push( + { + text: 'Configure this table', + action: function() { + window.location = '/cgi-bin/koha/admin/columns_settings.pl?module=' + table_settings['module'] + '#' + table_settings['page'] + '#' + table_settings['table']; + }, + } + ); + } + var table = $(selector); if ( add_filters ) { // Duplicate the table header row for columnFilter --- a/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc @@ -25,6 +25,7 @@ [% IF lang && lang != 'en' %] --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt @@ -3,19 +3,22 @@ [% USE TablesSettings %] [% SET footerjs = 1 %] [% SET panel_id = 0 %] +[% SET panel = 0 %] [% BLOCK pagelist %] [% IF module.keys and module.keys.size > 0 %] Jump to: [% FOR pagename IN module.keys.sort %] - [% pagename | html %] + [% pagename | html %] [% UNLESS loop.last %] | [% END %] [% END %] [% END %] + [% IF module_tab && module_tab == modulename %] + [% panel = panel_id %] + [% END %]
- [% SET panel_id = panel_id + 1 %] [% IF module.keys and module.keys.size > 0 %] [% FOR pagename IN module.keys.sort %] --- a/koha-tmpl/intranet-tmpl/prog/js/datatables.js +++ a/koha-tmpl/intranet-tmpl/prog/js/datatables.js @@ -781,6 +781,17 @@ jQuery.fn.dataTable.ext.errMode = function(settings, note, message) { } ); + if ( CAN_user_parameters_manage_column_config ) { + settings[ "buttons" ].push( + { + text: 'Configure this table', + action: function() { + window.location = '/cgi-bin/koha/admin/columns_settings.pl?module=' + table_settings['module'] + '#' + table_settings['page'] + '#' + table_settings['table']; + }, + } + ); + } + $(".dt_button_clear_filter, .columns_controls, .export_controls").tooltip(); if ( add_filters ) { --