(sitka) Fix RT17771 Self Check - Receipt Printing
authorSteven Chan <schan@sitka.bclibraries.ca>
Thu, 28 Nov 2013 20:03:42 +0000 (12:03 -0800)
committerSteven Chan <schan@sitka.bclibraries.ca>
Thu, 19 Dec 2013 20:19:47 +0000 (12:19 -0800)
Event handlers for click links are bound by a for loop in the Javascript
code. Within the loop, the DOM element of the link is found by ID name
and then the element is 'connected' to the relevant handler.

However, if no DOM element is found for an ID name, because for example,
the template has been customized by commenting it out, the code proceeds
to bind a handler to an undefined element, which results in the handler
being triggered by the user clicking any element.

The fix is to test for the existence of the DOM element before binding
the handler.

Signed-off-by: Steven Chan <schan@sitka.bclibraries.ca>
Open-ILS/web/js/ui/default/circ/selfcheck/selfcheck.js

index 0b47be3..40e8d57 100644 (file)
@@ -149,8 +149,10 @@ SelfCheckManager.prototype.init = function() {
         'oils-selfck-print-list-link' : function() { self.printList(); }
     }
 
-    for(var id in linkHandlers) 
-        dojo.connect(dojo.byId(id), 'onclick', linkHandlers[id]);
+    for(var id in linkHandlers) {
+        var n = dojo.byId(id);
+        if (n) { dojo.connect(n, 'onclick', linkHandlers[id]); }
+    }
 
 
     if(this.cgi.param('patron')) {