From 58fb7cd0025c0439a94960abbbbf02faf05d553d Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Tue, 26 Aug 2025 20:17:42 +0000 Subject: [PATCH] Bug 40709: Use data-colname for adding filters To test: 1. Set the 'item-level_itypes' system preference to 'Bibliographic record' 2. Go to any record that contains items and look at the holdings table. 3. Click 'Show filters'. 4. Notice that the Status column doesn't appear to have a filter. 5. APPLY PATCH 6. Try again, the Status filter should appear correctly. Make sure all other filters appear correct. 7. Set 'item-level_itypes' back to 'specific item'. 8. Make sure the filter still appears correctly. Make sure all other filters appear correct. Signed-off-by: Emily Lamancusa Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass (cherry picked from commit d5adba91014e481f5573a86edb1b8b4af0a43d8d) Signed-off-by: Paul Derscheid --- .../tables/items/catalogue_detail.inc | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc index fdbfec2cef..b5a93b4a94 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc @@ -326,14 +326,17 @@ return $("#" + tab_id + "_status select").val(); }; - let offset = 2; - [% UNLESS Koha.Preference('LocalCoverImages') %]offset--;[% END %] - let filters_options = { - [offset] : () => all_item_types, - [offset+1] : () => all_libraries, - [offset+2] : () => all_libraries, - [offset+7] : () => all_statuses, - }; + let filters_options = {}; + + let itype_col = $("#" + tab_id + "_table thead th[data-colname='itype']").index(); + let holdingbranch_col = $("#" + tab_id + "_table thead th[data-colname='holdingbranch']").index(); + let homebranch_col = $("#" + tab_id + "_table thead th[data-colname='homebranch']").index(); + let status_col = $("#" + tab_id + "_table thead th[data-colname='status']").index(); + + if ( itype_col >= 0 ) filters_options[itype_col] = () => all_item_types; + if ( holdingbranch_col >= 0 ) filters_options[holdingbranch_col] = () => all_libraries; + if ( homebranch_col >= 0 ) filters_options[homebranch_col] = () => all_libraries; + if ( status_col >= 0 ) filters_options[status_col] = () => all_statuses; var items_table = $("#" + tab_id + '_table').kohaTable({ ajax: { url: item_table_url },