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 <lebbeous@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
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' ) {