From 19ecb62f9955f720c9cc0de61eaa47b18c2d4037 Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Tue, 26 Jun 2012 11:39:48 -0400 Subject: [PATCH] fix clear hold shelf with 25 or more holds When there are 25 or more shelf expired holds to be processed, the API call returns an array of objects instead of an object, which the staff client wasn't prepared to accommodate. This fixes that. Signed-off-by: Jason Etheridge Signed-off-by: Mike Rylander --- Open-ILS/xul/staff_client/server/patron/holds.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Open-ILS/xul/staff_client/server/patron/holds.js b/Open-ILS/xul/staff_client/server/patron/holds.js index b8d151ae44..67ad4a98b7 100644 --- a/Open-ILS/xul/staff_client/server/patron/holds.js +++ b/Open-ILS/xul/staff_client/server/patron/holds.js @@ -1903,9 +1903,21 @@ patron.holds.prototype = { ] ); if (typeof robj.ilsevent != 'undefined') { throw(robj); } - if (typeof robj.cache_key == 'undefined') { throw(robj); } - var cache_key = robj.cache_key; + var cache_key; + if (typeof robj.cache_key != 'undefined') { + cache_key = robj.cache_key; + } else { + if (robj.constructor == Array) { + for (var i = 0; i < robj.length; i++) { + if (typeof robj[i].cache_key != 'undefined') { + cache_key = robj[i].cache_key; + } + } + } + } + + if (!cache_key) { throw(robj); } // id's in xulG.holds will prevent the normal retrieval method from // firing. Let's put our affected hold.id's in here: -- 2.11.0