From 999b546f28a37092ca7cbf2dab4055dea13943a5 Mon Sep 17 00:00:00 2001 From: Marius Mandrescu Date: Tue, 28 Mar 2023 12:04:49 -0400 Subject: [PATCH] Bug 33335: Fix JavaScript error on the MARC overlay rules page The "MARC overlay rules" page doesn't display or work correctly if a patron category code contains a "-". This happens because of the JavaScript function in "marc-overlay-rules.tt" line 469. This causes an error "Uncaught SyntaxError: missing : after property id". Test plan: 1. Go to Administration > Patron categories. 2. Make sure you don't have a patron category code that contains a "-". 3. Go to Administration > Record overlay rules. 4. The table should display correctly, and you can add, edit and delete rules. 5. Return to Patron categories. 6. Add a new patron category with a "-" in the patron category code. 7. Return to Record overlay rules page: => The page doesn't display and load correctly (see the attached image) - the normal DataTables header and footer aren't displayed, and you can't add, edit or delete overlay rules. => If you turn on web developer tools, an error is displayed in the console: "Uncaught SyntaxError: missing : after property id". 8. Apply the patch. 9. Repeat the step 7, the Record overlay rules page should now display correctly and you should be able to add, edit and delete rules. 10. Sign off. Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 351e380a1468562fe579e53d85389ccc9a53418e) Signed-off-by: Matt Blenkinsop (cherry picked from commit e528bb87c7375eaecf11f265b258e2b7ec5ce202) Signed-off-by: Lucas Gass --- .../en/modules/admin/marc-overlay-rules.tt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc-overlay-rules.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc-overlay-rules.tt index 348686ddad..ea588a743d 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc-overlay-rules.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc-overlay-rules.tt @@ -453,8 +453,14 @@ } }); + var $category = {}; + + [% FOR categorycode IN categorycodes %] + $category["[% categorycode.categorycode %]"] = "[% categorycode.description | html %]"; + [% END %] + var module_filter_options = { - source: { + source: { '*': '*', batchmod: _("Batch record modification"), intranet: _("Staff client MARC editor"), @@ -462,13 +468,9 @@ z3950: _("Z39.50"), /* bulkmarcimport: _("bulkmarcimport.pl"), */ import_lexile: _("import_lexile.pl") - }, - categorycode: { - '*': '*', - [% FOREACH categorycode IN categorycodes %] - [% categorycode.categorycode | html %]: "[% categorycode.description | html %]", - [% END %] - } + }, + + categorycode: $category }; //Kind of hack: Replace filter value with label when one exist -- 2.39.5