LP#1359934: prevent error opening patron search form
authorGalen Charlton <gmc@esilibrary.com>
Thu, 21 Aug 2014 19:33:53 +0000 (12:33 -0700)
committerBen Shum <bshum@biblio.org>
Thu, 21 Aug 2014 20:09:36 +0000 (16:09 -0400)
As a result of the patch for OpenSRF bug 1316245, JSON2js
in the OpenSRF library is now stricter -- in particular, passing
an undefined value to it results in an exception being thrown.

This patch runs with the increased strictness and fixes an
issue where the patron search form was passing an undefined value
to JSON2js.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Open-ILS/xul/staff_client/server/patron/search_form.js

index 5fadf55..e62efa0 100644 (file)
@@ -19,7 +19,9 @@ patron.search_form.prototype = {
         // But we're going to let search_limit and search_sort be configurable now by those spawning this interface, and let's assume there are no corresponding widgets for now.  
         // I'm going to place them into the "obj" scope for this instance.
         obj.search_limit = params.query.search_limit;
         // But we're going to let search_limit and search_sort be configurable now by those spawning this interface, and let's assume there are no corresponding widgets for now.  
         // I'm going to place them into the "obj" scope for this instance.
         obj.search_limit = params.query.search_limit;
-        obj.search_sort = JSON2js( params.query.search_sort ); // Let's assume this is encoded as JSON
+        obj.search_sort = (typeof params.query.search_sort === 'undefined') ?
+                            null :
+                            JSON2js( params.query.search_sort ); // Let's assume this is encoded as JSON
 
         JSAN.use('OpenILS.data'); this.OpenILS = {}; 
         obj.OpenILS.data = new OpenILS.data(); obj.OpenILS.data.init({'via':'stash'});
 
         JSAN.use('OpenILS.data'); this.OpenILS = {}; 
         obj.OpenILS.data = new OpenILS.data(); obj.OpenILS.data.init({'via':'stash'});