From: Bill Erickson Date: Thu, 14 Sep 2017 22:09:08 +0000 (-0400) Subject: LP#1712637 Patron edit hold pickup location repairs X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=2b94b7b9b4b31a2dfd024dba18edc542c55920e8;p=contrib%2FConifer.git LP#1712637 Patron edit hold pickup location repairs 1. Allow setting the hold pickup location independant of the home library. 2. Disable org units in the pickup lib selector that are not viable hold pickup locations (can_have_vols=f) 3. Consistent w/ the XUL client, allow a patron to be created without selecting a default pickup location. To test: [1] Register a new patron and confirm pickup location is initialy unset. [2] Confirm pickup lib options are viable pickup locations. [3] Apply a pickup location different from the home library and confirm the home library selector remains unchanged. [4] Confirm saving the patron applies the expected pickup location value. Signed-off-by: Bill Erickson Signed-off-by: Kathy Lussier --- diff --git a/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 b/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 index 76649b71f7..34a7c2b748 100644 --- a/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 +++ b/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 @@ -579,9 +579,11 @@ within the "form" by name for validation.
- + +
diff --git a/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js b/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js index d68d9509df..c54935ccb6 100644 --- a/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js +++ b/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js @@ -1140,7 +1140,7 @@ function($scope , $routeParams , $q , $uibModal , $window , egCore , } $scope.hold_notify_type.phone = true; $scope.hold_notify_type.email = true; - $scope.hold_notify_type.sms = false; + $scope.hold_notify_type.sms = false; // staged users may be loaded w/ a profile. $scope.set_expire_date(); @@ -1211,6 +1211,13 @@ function($scope , $routeParams , $q , $uibModal , $window , egCore , $scope.user_settings = prs.user_settings; prs.user_settings = {}; + // If a default pickup lib is applied to the patron, apply it + // to the UI at page load time. Otherwise, leave the value unset. + if ($scope.user_settings['opac.default_pickup_location']) { + $scope.patron._pickup_lib = egCore.org.get( + $scope.user_settings['opac.default_pickup_location']); + } + extract_hold_notify(); if ($scope.patron.isnew) set_new_patron_defaults(prs); @@ -1636,6 +1643,11 @@ function($scope , $routeParams , $q , $uibModal , $window , egCore , }); } + $scope.handle_pulib_changed = function(org) { + if (!$scope.user_settings) return; // still rendering + $scope.user_settings['opac.default_pickup_location'] = org.id(); + } + // This is called with every character typed in a form field, // since that's the only way to gaurantee something has changed. // See handle_field_changed for ng-change vs. ng-blur. @@ -1767,6 +1779,12 @@ function($scope , $routeParams , $q , $uibModal , $window , egCore , ); } + // returns true (disable) for orgs that cannot have vols (for holds pickup) + $scope.disable_pulib = function(org_id) { + if (!org_id) return; + return !egCore.org.CanHaveVolumes(org_id); + } + // Returns true if the Save and Save & Clone buttons should be disabled. $scope.edit_passthru.hide_save_actions = function() { return $scope.patron.isnew ?