Test Password UI
authorBill Erickson <berick@esilibrary.com>
Mon, 12 May 2014 19:02:35 +0000 (15:02 -0400)
committerBill Erickson <berick@esilibrary.com>
Mon, 12 May 2014 19:02:35 +0000 (15:02 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/templates/staff/circ/patron/t_credentials.tt2
Open-ILS/web/js/ui/default/staff/circ/patron/app.js

index 46f6e04..524cb7f 100644 (file)
@@ -11,7 +11,7 @@
               for="verify-username">[% l('Username') %]</label>
             <div class="col-md-8">
               <input type="text" id="verify-username" class="form-control" 
-                focus-me="focusMe" 
+                focus-me="focusMe" ng-disabled="prepop"
                 placeholder="[% l('Username') %]" ng-model="username"/>
             </div>
           </div>
@@ -21,6 +21,7 @@
               for="verify-barcode">[% l('Barcode') %]</label>
             <div class="col-md-8">
               <input type="text" id="verify-barcode" class="form-control" 
+                ng-disabled="prepop"
                 placeholder="[% l('Barcode') %]" ng-model="barcode"/>
             </div>
           </div>
@@ -38,7 +39,7 @@
             <div class="col-md-offset-4 col-md-2">
               <button type="submit" class="btn btn-default">[% l('Verify') %]</button>
             </div>
-            <div class="col-md-2">
+            <div class="col-md-2" ng-hide="prepop">
               <button class="btn btn-default" ng-click="load($event)">[% l('Retrieve') %]</button>
             </div>
           </div>
index 61f938a..8365d26 100644 (file)
@@ -62,6 +62,12 @@ angular.module('egPatronApp', ['ngRoute', 'ui.bootstrap',
         resolve : resolver
     });
 
+    $routeProvider.when('/circ/patron/:id/credentials', {
+        templateUrl: './circ/patron/t_credentials',
+        controller: 'PatronVerifyCredentialsCtrl',
+        resolve : resolver
+    });
+
     $routeProvider.when('/circ/patron/:id/checkout', {
         templateUrl: './circ/patron/t_checkout',
         controller: 'PatronCheckoutCtrl',
@@ -148,13 +154,15 @@ function($q , $timeout , egCore,  egUser) {
             service.current = user;
             service.localFlesh(user);
             service.fetchUserStats();
+            return $q.when();
 
         } else if (id) {
-            if (!force && service.current && 
-                service.current.id() == id) return;
+            if (!force && service.current && service.current.id() == id) 
+                return $q.when();
+
             service.resetPatronLists();
 
-            egUser.get(id).then(
+            return egUser.get(id).then(
                 function(user) {
                     service.current = user;
                     service.localFlesh(user);
@@ -171,6 +179,7 @@ function($q , $timeout , egCore,  egUser) {
             service.resetPatronLists();
             service.current = null;
             service.patron_stats = null;
+            return $q.when();
         }
     }
 
@@ -226,8 +235,9 @@ function($scope,  $q,  $filter,  egCore,  egUser,  patronSvc) {
         $scope.aous = egCore.env.aous;
         if (patron_id) {
             $scope.patron_id = patron_id
-            patronSvc.setDefault($scope.patron_id);
+            return patronSvc.setDefault($scope.patron_id);
         }
+        return $q.when();
     }
 
     $scope.patron = function() { return patronSvc.current }
@@ -597,11 +607,22 @@ function($scope,  $routeParams,  egCore) {
  * Credentials tester
  */
 .controller('PatronVerifyCredentialsCtrl',
-       ['$scope','$location','egCore',
-function($scope,  $location , egCore) {
+       ['$scope','$routeParams','$location','egCore',
+function($scope,  $routeParams , $location , egCore) {
     $scope.verified = null;
     $scope.focusMe = true;
 
+    // called with a patron, pre-populate the form args
+    $scope.initTab('other', $routeParams.id).then(
+        function() {
+            if ($scope.patron()) {
+                $scope.prepop = true;
+                $scope.username = $scope.patron().usrname();
+                $scope.barcode = $scope.patron().card().barcode();
+            }
+        }
+    );
+
     // verify login credentials
     $scope.verify = function() {
         $scope.verified = null;