When placing holds on a bib with monographic part, require selection of a specific...
authorJason Etheridge <jason@esilibrary.com>
Fri, 20 May 2011 06:40:24 +0000 (02:40 -0400)
committerJason Etheridge <jason@esilibrary.com>
Fri, 20 May 2011 06:40:38 +0000 (02:40 -0400)
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Open-ILS/web/opac/locale/en-US/opac.dtd
Open-ILS/web/opac/skin/default/js/holds.js
Open-ILS/web/opac/skin/default/xml/common/holds.xml

index b52813a..7a41e07 100644 (file)
@@ -609,6 +609,7 @@ We recommend that you remove this title from any bookbags it may have been added
 <!ENTITY common.hold.issuance "Issuance Hold">
 <!ENTITY common.hold.advanced "Advanced Hold Options">
 <!ENTITY common.hold.delivery "Please select a physical location where your hold can be delivered.">
+<!ENTITY common.hold.part_required "Please select a specific monographic part to hold.">
 <!ENTITY common.hold.checked_out "This item is already checked out.">
 <!ENTITY common.hold.checked_out.override "This item is already checked out.  Would you like to place the hold anyway?">
 <!ENTITY common.hold.exists "A hold already exists on the requested item.">
index aaf7a2e..384643d 100644 (file)
@@ -945,10 +945,15 @@ function holdsBuildHoldFromWindow() {
        else
                hold.email_notify(0);
 
-    var part = getSelectorVal($('holds_parts_selector'));
-    if(part) {
-        holdArgs.type = 'P';
-        holdArgs.part = part;
+    if(holdArgs.recordParts && holdArgs.recordParts.length) {
+        var part = getSelectorVal($('holds_parts_selector'));
+        if(part) {
+            holdArgs.type = 'P';
+            holdArgs.part = part;
+        } else {
+            alertId('holds_pick_part');
+            return;
+        }
     }
 
        var target = holdArgs[holdTargetTypeMap[holdArgs.type]];
index 7d8712d..014ee24 100644 (file)
        <span class='hide_me' id='holds_explain_adv'>&holds.advanced_options;</span>
 
        <span class='hide_me' id='holds_pick_good_org'>&common.hold.delivery;</span>
+       <span class='hide_me' id='holds_pick_part'>&common.hold.part_required;</span>
 
        <span class='hide_me' id='hold_dup_exists'>&common.hold.exists;</span>
        <span class='hide_me' id='hold_checked_out'>&common.hold.checked_out;</span>