patron reg cont.
authorBill Erickson <berickxx@gmail.com>
Sun, 10 May 2015 21:28:28 +0000 (17:28 -0400)
committerBill Erickson <berickxx@gmail.com>
Sun, 10 May 2015 21:28:28 +0000 (17:28 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/templates/staff/circ/patron/t_edit.tt2
Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js

index b95af05..5c79b58 100644 (file)
 
 <!-- ident_type -->
 
+<div class="row pad-all-min form-group">
+    <div class="col-md-3 reg-field-label">
+        <label>{{idl_fields.au.ident_type.label}}</label>
+        <img ng-show="field_doc.au.ident_type" 
+            ng-click="selected_field_doc=field_doc.au.ident_type"
+            src='[% DOC_IMG %]'></img>
+    </div>
+    <div class="col-md-3 reg-field-input">
+        <div class="btn-group" dropdown>
+          <button type="button" class="btn btn-default dropdown-toggle">
+            <span style="padding-right: 5px;">
+                {{patron.ident_type.name() || "[% l('Primary Ident Type') %]"}}
+            </span>
+            <span class="caret"></span>
+          </button>
+          <ul class="dropdown-menu">
+            <li ng-repeat="type in ident_types">
+              <a href ng-click="patron.ident_type = type">{{type.name()}}</a>
+            </li>
+          </ul>
+        </div>
+    </div>
+</div>
+
+
 [% formfield('au', 'ident_value') %]
 [% formfield('au', 'ident_value2') %]
 [% formfield('au', 'email') %]
 
 <!-- net_access_level -->
 
+<div class="row pad-all-min form-group">
+    <div class="col-md-3 reg-field-label">
+        <label>{{idl_fields.au.net_access_level.label}}</label>
+        <img ng-show="field_doc.au.net_access_level" 
+            ng-click="selected_field_doc=field_doc.au.net_access_level"
+            src='[% DOC_IMG %]'></img>
+    </div>
+    <div class="col-md-3 reg-field-input">
+        <div class="btn-group" dropdown>
+          <button type="button" class="btn btn-default dropdown-toggle">
+            <span style="padding-right: 5px;">
+                {{patron.net_access_level.name() || "[% l('Net Access Level') %]"}}
+            </span>
+            <span class="caret"></span>
+          </button>
+          <ul class="dropdown-menu">
+            <li ng-repeat="level in net_access_levels">
+              <a href 
+                ng-click="patron.net_access_level = level">{{level.name()}}</a>
+            </li>
+          </ul>
+        </div>
+    </div>
+</div>
+
 [% formfield('au', 'active', '', 'checkbox') %]
 [% formfield('au', 'barred', '', 'checkbox') %]
 [% formfield('au', 'master_account', '', 'checkbox') %]
index ce582af..1133cc4 100644 (file)
@@ -10,12 +10,25 @@ angular.module('egCoreMod')
     };
 
     service.init = function(scope) {
+        // launches a series of parallel data retrieval calls
         return $q.all([
             service.get_field_doc(),
-            service.get_perm_groups()
+            service.get_perm_groups(),
+            service.get_ident_types(),
+            service.get_net_access_levels()
         ]);
     };
 
+    service.get_ident_types = function() {
+        return egCore.pcrud.retrieveAll('cit', {}, {atomic : true})
+        .then(function(types) { service.ident_types = types });
+    };
+
+    service.get_net_access_levels = function() {
+        return egCore.pcrud.retrieveAll('cnal', {}, {atomic : true})
+        .then(function(levels) { service.net_access_levels = levels });
+    }
+
     service.get_perm_groups = function() {
         if (egCore.env.pgt) {
             service.profiles = egCore.env.pgt.list;
@@ -55,7 +68,7 @@ angular.module('egCoreMod')
      * into the scope.
      *
      * 1. Turn everything into a hash
-     * 2. ... Except certain fields whose widgets require objects
+     * 2. ... Except certain fields (selectors) whose widgets require objects
      * 3. Bools must be Boolean, not t/f.
      */
     service.init_existing_patron = function(current) {
@@ -65,6 +78,8 @@ angular.module('egCoreMod')
         patron.home_ou = egCore.org.get(patron.home_ou.id);
         patron.expire_date = new Date(Date.parse(patron.expire_date));
         patron.profile = current.profile(); // pre-hash version
+        patron.net_access_level = current.net_access_level();
+        patron.ident_type = current.ident_type();
 
         angular.forEach(
             ['juvenile', 'barred', 'active', 'master_account'],
@@ -102,6 +117,8 @@ function PatronRegCtrl($scope, $routeParams,
         $scope.patron = patronRegSvc.init_patron(patronSvc.current);
         $scope.field_doc = patronRegSvc.field_doc;
         $scope.profiles = patronRegSvc.profiles;
+        $scope.ident_types = patronRegSvc.ident_types;
+        $scope.net_access_levels = patronRegSvc.net_access_levels;
     });
 
     // returns the tree depth of the selected profile group tree node.