From: Kyle Huckins Date: Wed, 19 Oct 2016 21:57:02 +0000 (-0700) Subject: LP#1621947: webstaff address alert functionality X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=5a3e0dd391babe99beba48b8959ca14a1b777843;p=working%2FEvergreen.git LP#1621947: webstaff address alert functionality Add Address Alert to the alerts pane when address alert is detected in the patron editor. This implements functionality that was originally added tot he XUL patron editor in LP#898248. To test: [1] Define an address alert. [2] Open a patron record in the webstaff patron editor and create or update an address that would match the alert set up in step 1. Verify, upon blur of street 1, street 2, or the city inputs that an alert is displayed. Note that the feature does not call for the presence of an address alert to prevent the operator from saving the record; the alert is purely advisory. Signed-off-by: Kyle Huckins Signed-off-by: Galen Charlton --- 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 5543e9d8c2..b7516dc702 100644 --- a/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 +++ b/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 @@ -55,6 +55,13 @@ +
+
[% l('Address Alert') %]
+
+ {{address_alert.alert_message()}} +
+
+
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 10054530cf..f0a45cddb3 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 @@ -1106,6 +1106,7 @@ function($scope , $routeParams , $q , $uibModal , $window , egCore , // for existing patrons, disable barcode input by default $scope.disable_bc = $scope.focus_usrname = Boolean($scope.patron_id); $scope.focus_bc = !Boolean($scope.patron_id); + $scope.address_alerts = []; $scope.dupe_counts = {}; // map of perm name to true/false for perms the logged in user @@ -1587,6 +1588,27 @@ function($scope , $routeParams , $q , $uibModal , $window , egCore , patronRegSvc.invalidate_field($scope.patron, field); } + address_alert = function(addr) { + var args = { + street1: addr.street1, + street2: addr.street2, + city: addr.city, + state: addr.state, + county: addr.county, + country: addr.country, + post_code: addr.post_code, + mailing_address: addr._is_mailing, + billing_address: addr._is_billing + } + + egCore.net.request( + 'open-ils.actor', + 'open-ils.actor.address_alert.test', + egCore.auth.token(), egCore.auth.user().ws_ou(), args + ).then(function(res) { + $scope.address_alerts = res; + }); + } $scope.dupe_value_changed = function(type, value) { $scope.dupe_counts[type] = 0; @@ -1689,6 +1711,7 @@ function($scope , $routeParams , $q , $uibModal , $window , egCore , case 'city': // dupe search on address wants the address object as the value. $scope.dupe_value_changed('address', obj); + address_alert(obj); break; case 'post_code':