https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27508

--- Comment #1 from Peter Vashchuk <[email protected]> ---
Created attachment 115535
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=115535&action=edit
Bug 27508: do nothing if tag label elements don't exist

When JavaScript make copy of DOM set for MARC tag, it tries to reassign label
elements to another id, the problem is there is no check for existence of that
label element, so in case when option "advancedMARCeditor" is set to "Don't
display", labels were absent which caused JavaScript to crush in the middle of
process with uncaught exception.

This patch wraps this label assignment in try/catch hook like it's done in the
code around for other elements, to allow the script to proceed when description
labels are not present.

To test:
1) Check in the system preferences interface subsection that
"advancedMARCeditor" is set to "Display".
2) Go to the "Add MARC record" cataloguing section and press "Repeat this tag"
button near the MARC tag record to ensure that it makes duplicate in the
interface as expected.
3) Then again in the system preferences interface subsection change
"advancedMARCeditor" to "Don't display".
4) Return back to the "Add MARC record" interface, refresh the page to have no
MARC field labels displayed, and try duplicating the tag again.
5) Ensure that it doesn't work, also you can notice a JavaScript error "Cannot
read property "setAttribute" of undefined..." in the JavaScript console of your
browser.
6) Apply the patch.
7) Repeat the test sequence (changes will be in the step 5), ensure that the
tag gets duplicated even when description labels are not present.

-- 
You are receiving this mail because:
You are watching all bug changes.
_______________________________________________
Koha-bugs mailing list
[email protected]
https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to