From 4515581effb9ff17e5a74c5b624805d330082c27 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Thu, 22 Feb 2024 15:42:27 +0000 Subject: [PATCH] Bug 36047: Remove jQuery selector from conditional MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This prevents the jQuery from breaking if the reason contains an apostrophe character. 1. Create a suggestion 1.1. Go to Acquisitions > Suggestions 1.2. Click New purchase suggestion 1.3. Enter a title 1.4. Click Submit your suggestion 2. Update the suggestion to accepted and add a reason with an apostrophe 2.1. In the suggestions list, check the box next to the suggestion 2.2. At the bottom of the screen, choose Mark selected as: Accepted 2.3. In With this reason, choose Others... 2.4. Enter a reason with an apostrophe (my case was in French : Disponible en impression à la demande (POD). S'attendre à un long temps d'attente) 2.5. Click Submit 3. Order the suggestion 3.1. Go to Acquisitions 3.2. Search for a vendor 3.3. Click New > Basket 3.4. Enter a basket name (Optional: for testing I like to change Create items when: cataloging the record) 3.5. Click Save 3.6. Click Add to basket 3.7. Click From a suggestion 3.8. Click Order next to the suggestion 3.9. Enter order details 3.10. Click Save 3.11. Click Close basket 3.12. Click Yes, close 4. Receive the order 4.1. Click Receive shipments 4.2. Enter a Vendor invoice number 4.3. Click Next 4.4. Click Receive next to the order --> Page stays In processing forever Apply patch. Repeat. Notice the page now renders correctly. Extra: Add an entry containg an apostrophe to the SUGGEST authorized values category and repeat test plan. Confirm everything works as expected. Signed-off-by: Pedro Amorim Signed-off-by: Julian Maurice Signed-off-by: Katrin Fischer --- .../intranet-tmpl/prog/en/modules/acqui/orderreceive.tt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt index 15bf01efee..1a13f058f7 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt @@ -696,7 +696,8 @@ if(row.biblio.suggestions.length && row.biblio.suggestions[0].reason) { params["suggestionid"] = row.biblio.suggestions[0].suggestion_id; - if($("#reason option[value='"+row.biblio.suggestions[0].reason+"']").length) { + const options = Array.from(document.querySelectorAll('#reason option')); + if (options.some(option => option.value === row.biblio.suggestions[0].reason)) { params['reason'] = row.biblio.suggestions[0].reason; } else { params['reason'] = 'other'; @@ -1150,7 +1151,8 @@ } if(row.biblio.suggestions[0].reason) { $("#suggestion_reason").show(); - if($("#reason option[value='"+row.biblio.suggestions[0].reason+"']").length) { + const options = Array.from(document.querySelectorAll('#reason option')); + if (options.some(option => option.value === row.biblio.suggestions[0].reason)) { $("#other_reason a").click(); $("#reason").val(row.biblio.suggestions[0].reason); $("#select-other_reason").val(null); -- 2.20.1