+++ This bug was initially created as a clone of Bug #39810 +++ When you're not adding or editing a credit or debit type there is a JS error in the console.
Same for the files changed in Bug 39099, itemtypes.tt, categories.js, and authorised_values.tt.
Created attachment 182696 [details] [review] Bug 39957: Fix JS error on credit and debit types administration pages This patch fixes an JS error in several administration pages, introduced by Bug 39099 and 39810. We can't access a DOM node without checking for its existence first. To test, apply the patch and go to Administration. - Check the following pages: - Authorized values - Credit types - Debit types - Item types - Patron categories. - On each page check the JavaScript console on the initial page. There should be no errors. - Check the add/edit page for each and confirm that the library limitation Select2 widget works correctly. Sponsored-by: Athens County Public Libraries
Created attachment 182709 [details] [review] Bug 39957: Fix JS error on credit and debit types administration pages This patch fixes an JS error in several administration pages, introduced by Bug 39099 and 39810. We can't access a DOM node without checking for its existence first. To test, apply the patch and go to Administration. - Check the following pages: - Authorized values - Credit types - Debit types - Item types - Patron categories. - On each page check the JavaScript console on the initial page. There should be no errors. - Check the add/edit page for each and confirm that the library limitation Select2 widget works correctly. Sponsored-by: Athens County Public Libraries Signed-off-by: David Nind <david@davidnind.com>
Testing notes (using KTD): 1. Both before and after the patch, on the patron categories and item types pages (after clearing the browser cache, and a flush_memcached, restart_all), but not all the time, I get: - [Violation] 'setTimeout' handler took 55ms 2. Also, on both those pages, this error appears if you don't do anything else on the page for a period of time: . "Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received"
This fix clearly shows that the code should not be duplicated.