1 angular.module('egPendingPatronsApp',
2 ['ngRoute', 'ui.bootstrap', 'egCoreMod', 'egUiMod', 'egGridMod'])
4 .config(function($routeProvider, $locationProvider, $compileProvider) {
5 $locationProvider.html5Mode(true);
6 $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|blob):/); // grid export
8 var resolver = {delay :
9 ['egStartup', function(egStartup) {return egStartup.go()}]}
11 $routeProvider.when('/circ/patron/pending/list', {
12 templateUrl: './circ/patron/t_pending_list',
13 controller: 'PendingPatronsCtrl',
17 $routeProvider.otherwise({redirectTo : '/circ/patron/pending/list'});
20 .controller('PendingPatronsCtrl',
21 ['$scope','$q','$routeParams','$window','$location','egCore','egGridDataProvider',
22 function($scope , $q , $routeParams , $window , $location , egCore , egGridDataProvider) {
26 var pending_patrons = [];
27 var provider = egGridDataProvider.instance({});
28 $scope.grid_data_provider = provider;
30 function load_patron(item) {
31 if (angular.isArray(item)) item = item[0];
35 '/circ/patron/register/stage/' + item.user.usrname()).absUrl(),
40 $scope.load_patron = function(action, data, items) {
44 $scope.grid_controls = {
45 activateItem : load_patron
48 function refresh_page() {
53 provider.get = function(offset, count) {
54 var deferred = $q.defer();
59 'open-ils.actor.user.stage.retrieve.by_org',
60 egCore.auth.token(), $scope.context_org.id()
63 deferred.resolve, null,
65 user.id = user.user.row_id();
66 user.user.home_ou(egCore.org.get(user.user.home_ou()));
68 // only one (mailing) address is captured during patron
70 user.mailing_address = user.mailing_addresses[0];
71 pending_patrons[offset + recv_index++] = user;
72 deferred.notify(user);
76 return deferred.promise;
79 $scope.context_org = egCore.org.get(egCore.auth.user().ws_ou())
80 $scope.$watch('context_org', function(newVal, oldVal) {
81 if (newVal && newVal != oldVal) refresh_page();