Forward-port a disallow for editing pickup lib for intransit holds. This may eventua...
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 4 Apr 2008 14:48:17 +0000 (14:48 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 4 Apr 2008 14:48:17 +0000 (14:48 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@9226 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/server/locale/en-US/circ.properties
Open-ILS/xul/staff_client/server/patron/holds.js

index a979f9c..f72d87e 100644 (file)
@@ -332,3 +332,5 @@ staff.circ.holds.already_suspended.plural=Holds %1$s were already suspended.
 staff.circ.holds.unexpected_error.not_likely_modified=Holds not likely modified.
 staff.circ.holds.unexpected_error.not_likely_activated=Holds not likely activated.
 staff.circ.holds.unexpected_error.not_likely_suspended=Holds not likely suspended.
+staff.circ.holds.error.may_not_edit_pickup_lib_for_hold_intransit=You may not edit the pickup library for holds that are in-transit or ready for pickup.
+
index bbe0015..ceb3ef8 100644 (file)
@@ -315,6 +315,17 @@ patron.holds.prototype = {
                                                function() {
                                                        try {
                                                                JSAN.use('util.widgets'); JSAN.use('util.functional'); 
+                                
+                                var deny_edit_because_of_transit = false;
+                                for (var i = 0; i < obj.retrieve_ids.length; i++) {
+                                    var hold = obj.holds_map[ obj.retrieve_ids[i].id ];
+                                    if (hold.status() > 2 /* Which means holds that are In-Transit or Ready for Pickup */) deny_edit_because_of_transit = true;
+                                }
+                                if (deny_edit_because_of_transit) {
+                                    alert(document.getElementById('circStrings').getString('staff.circ.holds.error.may_not_edit_pickup_lib_for_hold_intransit'));
+                                    return;
+                                }
+
                                                                var list = util.functional.map_list(
                                                                        obj.data.list.aou,
                                                                        function(o) {