LP#1621947 Address Alert functionality user/khuckins/lp1621947-patron-reg-address-alerts
authorKyle Huckins <khuckins@catalystdevworks.com>
Wed, 19 Oct 2016 21:57:02 +0000 (14:57 -0700)
committerKyle Huckins <khuckins@catalystdevworks.com>
Tue, 15 Nov 2016 16:46:19 +0000 (08:46 -0800)
Add Address Alert to the alerts pane when address alert
is detected.

Add detection for address alerts.

Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
 Changes to be committed:
modified:   Open-ILS/src/templates/staff/circ/patron/t_edit.tt2
modified:   Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js

Open-ILS/src/templates/staff/circ/patron/t_edit.tt2
Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js

index 5543e9d..b7516dc 100644 (file)
     </div>
   </div>
 
+  <div class="alert alert-danger" ng-show="address_alerts.length > 0">
+      <div class="strong-text-3">[% l('Address Alert') %]</div>
+      <div ng-repeat="address_alert in address_alerts">
+        {{address_alert.alert_message()}}
+      </div>
+  </div>
+
   <!-- IDL field documentation window -->
   <div class="alert alert-info" ng-show="selected_field_doc">
     <fieldset id="reg-field-doc">
index 1005453..f0a45cd 100644 (file)
@@ -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':