From baaddaf0bc30a9f6696693fee8fa38d59cca701c Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Thu, 9 Mar 2017 15:26:44 -0500 Subject: [PATCH] LP#1167541: Use Patron home org for pickup lib instead of staff's When staff are placing a hold for a patron, we should use the patron's preferred pickup location, and failing that, their home library rather than the staff's home library. To test ------- [1] In the web staff client, search for a title to place a hold request on, using a patron record whose home library is different from the home library of the staff member you are logged in as. [2] Note that the pickup location defaults to the staff account's home library. [3] Apply the patch and repeat step #1. This time, the default pickup library should be the home library of the patron. [4] Set a preferred pickup location for the patron, then repeat step #1. This time, the default pickup library should be the preferred pickup location just set. [5] Repeat steps #1-#4 using the XUL staff client; note that for step #3, it will be necessary to rebuild the client. Signed-off-by: Mike Rylander Signed-off-by: Chris Sharp Signed-off-by: Galen Charlton --- Open-ILS/web/js/ui/default/opac/staff.js | 1 + Open-ILS/web/js/ui/default/staff/services/eframe.js | 1 + Open-ILS/xul/staff_client/chrome/content/main/menu.js | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Open-ILS/web/js/ui/default/opac/staff.js b/Open-ILS/web/js/ui/default/opac/staff.js index fff3aea07d..37d9a3c8c6 100644 --- a/Open-ILS/web/js/ui/default/opac/staff.js +++ b/Open-ILS/web/js/ui/default/opac/staff.js @@ -110,6 +110,7 @@ function staff_hold_usr_barcode_changed2( } cur_hold_barcode = load_info.barcode; if(!only_settings || (isload && isload !== true)) document.getElementById('hold_usr_input').value = load_info.barcode; // Safe at this point as we already set cur_hold_barcode + if(!only_settings || (isload && isload !== true) && load_info.pickup_lib) document.getElementById('pickup_lib').value = load_info.pickup_lib; // Safe at this point as we already set cur_hold_barcode if(load_info.settings['opac.default_pickup_location']) document.getElementById('pickup_lib').value = load_info.settings['opac.default_pickup_location']; if(!load_info.settings['opac.default_phone']) load_info.settings['opac.default_phone'] = ''; diff --git a/Open-ILS/web/js/ui/default/staff/services/eframe.js b/Open-ILS/web/js/ui/default/staff/services/eframe.js index b9b4dd7327..3beaa7c271 100644 --- a/Open-ILS/web/js/ui/default/staff/services/eframe.js +++ b/Open-ILS/web/js/ui/default/staff/services/eframe.js @@ -256,6 +256,7 @@ angular.module('egCoreMod') deferred.resolve({ "barcode": barcode, + "pickup_lib": user.home_ou(), "settings" : settings, "user_email" : user.email(), "patron_name" : patron_name diff --git a/Open-ILS/xul/staff_client/chrome/content/main/menu.js b/Open-ILS/xul/staff_client/chrome/content/main/menu.js index 1a6680afcc..26034babed 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/menu.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/menu.js @@ -2836,7 +2836,7 @@ commands: user.first_given_name() + ' ' + ( user.second_given_name() ? user.second_given_name() + ' ' : '' ) + ( user.suffix() ? user.suffix() : ''); - return {"barcode": barcode, "settings" : settings, "user_email" : user.email(), "patron_name" : patron_name}; + return {"barcode": barcode, "pickup_lib" : user.home_ou(), "settings" : settings, "user_email" : user.email(), "patron_name" : patron_name}; }, 'sort_menu' : function(menu, recurse) { -- 2.43.2