From 45be2fa7b6df7ef2708ff55376fc074f7609e99f Mon Sep 17 00:00:00 2001 From: Lebbeous Fogle-Weekley Date: Fri, 24 Feb 2012 14:56:18 -0500 Subject: [PATCH] Avoid JSPAC hold placement interface problems when no holdable copies This addresses a bug brought to my attention by John Jones. When you're trying to place certain holds (at least title level holds) on records for which there are no holdable formats (no descriptors as returned by open-ils.search.metabib.record_to_descriptors), then holdArgs.recordDescriptors in holds.js can be an empty array. There is a line of code that assumes this will never happen. The end user-visible result of the javascript failing here is an alert() dialog about phone number format, but this is a red herring. That only happens because the problem code is in one big function that has too many responsibilites. Signed-off-by: Lebbeous Fogle-Weekley Signed-off-by: Michael Peters Signed-off-by: Mike Rylander --- Open-ILS/web/opac/skin/default/js/holds.js | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Open-ILS/web/opac/skin/default/js/holds.js b/Open-ILS/web/opac/skin/default/js/holds.js index df7bef4..15e7bc2 100644 --- a/Open-ILS/web/opac/skin/default/js/holds.js +++ b/Open-ILS/web/opac/skin/default/js/holds.js @@ -551,7 +551,7 @@ function __holdsDrawWindow() { var mods_formats = rec.types_of_resource(); var formats; - if(holdArgs.recordDescriptors) + if (holdArgs.recordDescriptors && holdArgs.recordDescriptors.length) formats = holdArgs.recordDescriptors[0].item_type(); if( holdArgs.type == 'T' ) { -- 1.7.2.5