From d44630cf15b454b3cfe7de77168d3a380e106cbb Mon Sep 17 00:00:00 2001
From: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Date: Thu, 23 Nov 2023 13:15:57 +0200
Subject: [PATCH] Bug 32477: Launch function hideColumns after changing
 datatables settings

Hiding columns in batch item modification breaks if page is
loaded again. If one hides e.g. column "Collection" and then loads
the page column "Holds" disappears. Also behaviour of checbox
changes for "Collection" column. This happens because we launch
function "hideColumns" before changing datatables settings and
"hidden" column with class "sorting_1" is still present.

To test:
1. Find items to modify and modify them with batch item
modification tool.
2. In modification page, hide column "Collection". Confirm
correct column is hidden.
3. Reload the page or modify items again.
=> Note that column "Holds" is now hidden and checking checkbox
for column "Collection" behaves incorrectly (unchecked checkbox
shows column, checked hides it)
4. Apply this patch.
5. Repeat steps 1, 2 and 3.
=> Confirm correct column is now hidden when page is loaded again
and checkbox works correctly.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: David Nind <david@davidnind.com>
---
 koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js b/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js
index 4118c6b013..fd1ae93cd4 100644
--- a/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js
+++ b/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js
@@ -117,7 +117,6 @@ function hideAllColumns() {
 }
 
 $(document).ready(function () {
-    hideColumns();
     var items_table = KohaTable("itemst", {
         "aoColumnDefs": [
             { "aTargets": [0, 1], "bSortable": false, "bSearchable": true },
@@ -126,6 +125,9 @@ $(document).ready(function () {
         ],
         "bPaginate": false,
     });
+
+    hideColumns();
+
     // Highlight in yellow item rows that cannot be deleted
     $(".error").parents('tr').find('td').css('background-color', '#ffff99');
 
-- 
2.34.1