LP#1402797 Browser client checkout 'Done' clears current user
authorBill Erickson <berickxx@gmail.com>
Tue, 2 Dec 2014 22:28:01 +0000 (17:28 -0500)
committerBill Erickson <berickxx@gmail.com>
Thu, 12 Feb 2015 16:58:27 +0000 (11:58 -0500)
Clicking the 'Done' button after checkout resets the patron side bar and
action tabs to completely hide the previous patron's data.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Open-ILS/web/js/ui/default/staff/circ/patron/app.js

index b51a110..d1ebcfc 100644 (file)
@@ -249,6 +249,15 @@ function($q , $timeout , $location , egCore,  egUser , $locale) {
         return service.setPrimary(service.current.id(), null, true);
     }
 
+    // clear the currently focused user
+    service.clearPrimary = function() {
+        // reset with no patron
+        service.resetPatronLists();
+        service.current = null;
+        service.patron_stats = null;
+        return $q.when();
+    }
+
     // sets the primary display user, fetching data as necessary.
     service.setPrimary = function(id, user, force) {
         var user_id = id ? id : (user ? user.id() : null);
@@ -328,11 +337,10 @@ function($q , $timeout , $location , egCore,  egUser , $locale) {
             );
         } else {
 
-            // reset with no patron
-            service.resetPatronLists();
-            service.current = null;
-            service.patron_stats = null;
-            return $q.when();
+            // fetching a null user clears the primary user.
+            // NOTE: this should probably reject() and log an error, 
+            // but calling clear for backwards compat for now.
+            return service.clearPrimary();
         }
     }
 
@@ -617,7 +625,7 @@ function($scope,  $q,  $location , $filter,  egCore,  egUser,  patronSvc) {
        ['$scope','$location','egCore','egConfirmDialog','egUser','patronSvc',
 function($scope , $location , egCore , egConfirmDialog , egUser , patronSvc) {
     $scope.selectMe = true; // focus text input
-    patronSvc.setPrimary(); // clear the default user
+    patronSvc.clearPrimary(); // clear the default user
 
     // jump to the patron checkout UI
     function loadPatron(user_id) {