LP#1402797 browser client noncat counts in patron summary
authorBill Erickson <berickxx@gmail.com>
Wed, 31 Dec 2014 21:00:06 +0000 (16:00 -0500)
committerBill Erickson <berickxx@gmail.com>
Thu, 12 Feb 2015 17:03:08 +0000 (12:03 -0500)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Open-ILS/src/templates/staff/circ/patron/t_summary.tt2
Open-ILS/web/js/ui/default/staff/circ/patron/app.js

index 1f09c77..8c803cf 100644 (file)
       <div class="col-md-5">[% l('Lost') %]</div>
       <div class="col-md-7">{{patron_stats().checkouts.lost}}</div>
     </div>
+    <div class="row" 
+      ng-class="{'patron-summary-alert' : patron_stats().checkouts.lost}">
+      <div class="col-md-5">[% l('Non-Cataloged') %]</div>
+      <div class="col-md-7">{{patron_stats().checkouts.noncat}}</div>
+    </div>
     <div class="row">
       <div class="col-md-5">[% l('Holds') %]</div>
       <div class="col-md-7">
index d8b373a..d3c0add 100644 (file)
@@ -233,6 +233,7 @@ function($q , $timeout , $location , egCore,  egUser , $locale) {
         service.hold_ids = [];
         service.checkout_overrides = {};
         service.patron_stats = null;
+        service.noncat_ids = [];
         service.hasAlerts = false;
         service.alertsShown = false;
         service.patronExpired = false;
@@ -487,6 +488,18 @@ function($q , $timeout , $location , egCore,  egUser , $locale) {
         );
     }
 
+    // Fetches the IDs of any active non-cat checkouts for the current
+    // user.  Also sets the patron_stats non_cat count value to match.
+    service.getUserNonCats = function(id) {
+        return egCore.net.request(
+            'open-ils.circ',
+            'open-ils.circ.open_non_cataloged_circulation.user.authoritative',
+            egCore.auth.token(), id
+        ).then(function(noncat_ids) {
+            service.noncat_ids = noncat_ids;
+            service.patron_stats.checkouts.noncat = noncat_ids.length;
+        });
+    }
 
     // grab additional circ info
     service.fetchUserStats = function() {
@@ -508,7 +521,10 @@ function($q , $timeout , $location , egCore,  egUser , $locale) {
                 }
             );
 
-            return service.fetchGroupFines();
+            // run these two in parallel
+            var p1 = service.getUserNonCats(service.current.id());
+            var p2 = service.fetchGroupFines();
+            return $q.all([p1, p2]);
         });
     }