From c267c679a166682567787e9f16c4f597b09fbbbc Mon Sep 17 00:00:00 2001 From: Casey Conlin Date: Sun, 2 Aug 2026 13:45:49 +0000 Subject: [PATCH] Bug 16631: Fix: Remove TT tags from kohaTable() initialization in guided_reports_start.tt Sponsored-by: Ramapo Catskill Library System Bug 16631: Update saved reports table to use use named DataTables columns. RM amended: Fix commit title Signed-off-by: Pedro Amorim --- .../modules/reports/guided_reports_start.tt | 92 +++++++++---------- 1 file changed, 43 insertions(+), 49 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt index 8e67104b57..9a71c4ed9f 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt @@ -326,34 +326,32 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + [% IF (usecache) %] - + [% ELSE %] - + [% END %] - + [% IF has_obsolete_reports %] - + [% ELSE %] - + [% END %] - [% IF ( Koha.Preference('LimitReportsByLibrary') && ( CAN_user_superlibrarian || CAN_user_reports_manage_report_limits ) ) %] - - [% END %] - + + @@ -420,8 +418,8 @@ > [% END %] - [% IF ( Koha.Preference('LimitReportsByLibrary') && ( CAN_user_superlibrarian || CAN_user_reports_manage_report_limits ) ) %] - - [% END %] + [% END %] +
 IDReport nameTypeGroupSubgroupNotesAuthorCreation dateLast editLast runPublicJSON URL IDReport nameTypeGroupSubgroupNotesAuthorCreation dateLast editLast runPublicJSON URLCache expiry (seconds)Cache expiry (seconds)Cache expiry (seconds)Cache expiry (seconds)Saved resultsSaved resultsUpdateUpdateUpdateUpdateLibrary limitsActionsLibrary limitsActions
+ + [% IF ( Koha.Preference('LimitReportsByLibrary') && ( CAN_user_superlibrarian || CAN_user_reports_manage_report_limits ) ) %] [% IF savedreport.library_limits && savedreport.library_limits.size > 0 %] [% library_str = "" %] [% FOREACH library IN savedreport.library_limits %] @@ -441,8 +439,8 @@ [% ELSE %] No limitation [% END %] -
[%# There should be no space between these two buttons, it would render badly %] @@ -1918,7 +1916,19 @@ [% END %] [% END %] + const can_limit_reports_by_library = [% (Koha.Preference('LimitReportsByLibrary') && (CAN_user_superlibrarian || CAN_user_reports_manage_report_limits)) ? 1 : 0 | html %]; + var table_settings = [% TablesSettings.GetTableSettings( 'reports', 'saved-sql', 'table_reports', 'json' ) | $raw %]; + if (table_settings && table_settings.columns) { + let library_limits_column = table_settings.columns.find(function (c) { + return c.columnname === "library_limits"; + }); + if (library_limits_column) { + library_limits_column.is_hidden = !can_limit_reports_by_library; + library_limits_column.cannot_be_toggled = !can_limit_reports_by_library; + library_limits_column.visibility_condition = !!can_limit_reports_by_library; + } + } const tables = [% To.json(tables || []) | $raw %]; @@ -2365,22 +2375,7 @@ let report_table_settings = { columns }; $("#report_results").kohaTable({}, report_table_settings); } - [% IF (saved1) %] - var table_settings = [% TablesSettings.GetTableSettings( 'reports', 'saved-sql', 'table_reports', 'json' ) | $raw %]; - [% UNLESS ( Koha.Preference('LimitReportsByLibrary') && ( CAN_user_superlibrarian || CAN_user_reports_manage_report_limits ) ) %] - table_settings.columns = table_settings.columns.filter(function(col) { - return col.columnname !== 'library_limits'; - }); - [% END %] - - [% IF ( Koha.Preference('LimitReportsByLibrary') && ( CAN_user_superlibrarian || CAN_user_reports_manage_report_limits ) ) %] - let library_limits_col_index = -1; - table_settings.columns.forEach(function(col, index) { - if (col.columnname === 'library_limits') { - library_limits_col_index = index; - } - }); - [% END %] + if (saved1) { var rtable = $("#table_reports").kohaTable( { autoWidth: false, @@ -2388,9 +2383,8 @@ order: [[1, "asc"]], language: { zeroRecords: _("No matching reports found"), - }[% IF ( Koha.Preference('LimitReportsByLibrary') && ( CAN_user_superlibrarian || CAN_user_reports_manage_report_limits ) ) %], - columnDefs: library_limits_col_index !== -1 ? [{ visible: false, targets: [library_limits_col_index] }] : [] - [% END %] + }, + bKohaColumnsUseNames: true, }, table_settings ); @@ -2449,7 +2443,7 @@ $("#update_sql_label").html(""); $("#update_sql .modal-body").html('
' + _("Loading") + "
"); }); - [% END %] + } if (op == "showsql") { $("#sql").focus(function () { @@ -2682,9 +2676,9 @@ $(selectField).select2(); }); - const libraryLimitSelectFields = document.querySelectorAll('#library_limitation'); - libraryLimitSelectFields.forEach((selectField) => { - selectField.style.minWidth = '450px'; + const libraryLimitSelectFields = document.querySelectorAll("#library_limitation"); + libraryLimitSelectFields.forEach(selectField => { + selectField.style.minWidth = "450px"; $(selectField).select2(); }); });