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 <mrylander@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
}
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'] = '';
deferred.resolve({
"barcode": barcode,
+ "pickup_lib": user.home_ou(),
"settings" : settings,
"user_email" : user.email(),
"patron_name" : patron_name
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) {