From 0aba14f8673e9757fd7ec6173cd075fce0380de3 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 (cherry picked from commit 58fb7cd0025c0439a94960abbbbf02faf05d553d) Signed-off-by: Fridolin Somers --- .../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 a5d9c333a6..129fd577cf 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+6] : () => 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 },