From: Bill Erickson Date: Mon, 14 Jul 2014 16:41:48 +0000 (-0400) Subject: move pending patrons to /circ/patron/pending; wire up load action X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=0c31ebb7579383a3bafd1562121935c3753d53fc;p=working%2FEvergreen.git move pending patrons to /circ/patron/pending; wire up load action Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/templates/staff/circ/patron/pending.tt2 b/Open-ILS/src/templates/staff/circ/patron/pending.tt2 new file mode 100644 index 0000000000..21c21cb32a --- /dev/null +++ b/Open-ILS/src/templates/staff/circ/patron/pending.tt2 @@ -0,0 +1,17 @@ +[% + WRAPPER "staff/base.tt2"; + ctx.page_title = l("Pending Patrons"); + ctx.page_app = "egPendingPatronsApp"; +%] + +[% BLOCK APP_JS %] + + + + + +[% END %] + +
+ +[% END %] diff --git a/Open-ILS/src/templates/staff/circ/patron/t_pending_list.tt2 b/Open-ILS/src/templates/staff/circ/patron/t_pending_list.tt2 new file mode 100644 index 0000000000..3809d1230b --- /dev/null +++ b/Open-ILS/src/templates/staff/circ/patron/t_pending_list.tt2 @@ -0,0 +1,34 @@ +
+
+ [% l('Pending Patrons') %] +
+
+ +[% l('Home Library: ' ) %] + +
+ + + + + + + + + + + + + + + + + + + diff --git a/Open-ILS/src/templates/staff/circ/pending_patrons/index.tt2 b/Open-ILS/src/templates/staff/circ/pending_patrons/index.tt2 deleted file mode 100644 index 99539e5a78..0000000000 --- a/Open-ILS/src/templates/staff/circ/pending_patrons/index.tt2 +++ /dev/null @@ -1,17 +0,0 @@ -[% - WRAPPER "staff/base.tt2"; - ctx.page_title = l("Pending Patrons"); - ctx.page_app = "egPendingPatronsApp"; -%] - -[% BLOCK APP_JS %] - - - - - -[% END %] - -
- -[% END %] diff --git a/Open-ILS/src/templates/staff/circ/pending_patrons/t_list.tt2 b/Open-ILS/src/templates/staff/circ/pending_patrons/t_list.tt2 deleted file mode 100644 index 3809d1230b..0000000000 --- a/Open-ILS/src/templates/staff/circ/pending_patrons/t_list.tt2 +++ /dev/null @@ -1,34 +0,0 @@ -
-
- [% l('Pending Patrons') %] -
-
- -[% l('Home Library: ' ) %] - -
- - - - - - - - - - - - - - - - - - - diff --git a/Open-ILS/src/templates/staff/navbar.tt2 b/Open-ILS/src/templates/staff/navbar.tt2 index 7bf674c133..c4ff8691c0 100644 --- a/Open-ILS/src/templates/staff/navbar.tt2 +++ b/Open-ILS/src/templates/staff/navbar.tt2 @@ -93,7 +93,7 @@
  • - + [% l('Register Patron') %]
  • @@ -104,7 +104,7 @@
  • - + [% l('Pending Patrons') %] diff --git a/Open-ILS/web/js/ui/default/staff/circ/patron/pending.js b/Open-ILS/web/js/ui/default/staff/circ/patron/pending.js new file mode 100644 index 0000000000..9c2bc652c8 --- /dev/null +++ b/Open-ILS/web/js/ui/default/staff/circ/patron/pending.js @@ -0,0 +1,84 @@ +angular.module('egPendingPatronsApp', + ['ngRoute', 'ui.bootstrap', 'egCoreMod', 'egUiMod', 'egGridMod']) + +.config(function($routeProvider, $locationProvider, $compileProvider) { + $locationProvider.html5Mode(true); + $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|blob):/); // grid export + + var resolver = {delay : + ['egStartup', function(egStartup) {return egStartup.go()}]} + + $routeProvider.when('/circ/patron/pending/list', { + templateUrl: './circ/patron/t_pending_list', + controller: 'PendingPatronsCtrl', + resolve : resolver + }); + + $routeProvider.otherwise({redirectTo : '/circ/patron/pending/list'}); +}) + +.controller('PendingPatronsCtrl', + ['$scope','$q','$routeParams','$window','$location','egCore','egGridDataProvider', +function($scope , $q , $routeParams , $window , $location , egCore , egGridDataProvider) { + + console.log('HERE'); + + var pending_patrons = []; + var provider = egGridDataProvider.instance({}); + $scope.grid_data_provider = provider; + + function load_patron(item) { + if (angular.isArray(item)) item = item[0]; + if (!item) return; + $window.open( + $location.path( + '/circ/patron/register/stage/' + item.user.usrname()).absUrl(), + '_blank' + ).focus(); + } + + $scope.load_patron = function(action, data, items) { + load_patron(items); + } + + $scope.grid_controls = { + activateItem : load_patron + } + + function refresh_page() { + pending_patrons = []; + provider.refresh(); + } + + provider.get = function(offset, count) { + var deferred = $q.defer(); + var recv_index = 0; + + egCore.net.request( + 'open-ils.actor', + 'open-ils.actor.user.stage.retrieve.by_org', + egCore.auth.token(), $scope.context_org.id() + + ).then( + deferred.resolve, null, + function(user) { + user.id = user.user.row_id(); + user.user.home_ou(egCore.org.get(user.user.home_ou())); + + // only one (mailing) address is captured during patron + // self-registration + user.mailing_address = user.mailing_addresses[0]; + pending_patrons[offset + recv_index++] = user; + deferred.notify(user); + } + ); + + return deferred.promise; + } + + $scope.context_org = egCore.org.get(egCore.auth.user().ws_ou()) + $scope.$watch('context_org', function(newVal, oldVal) { + if (newVal && newVal != oldVal) refresh_page(); + }); +}]) + diff --git a/Open-ILS/web/js/ui/default/staff/circ/pending_patrons/app.js b/Open-ILS/web/js/ui/default/staff/circ/pending_patrons/app.js deleted file mode 100644 index 7a1b4e33aa..0000000000 --- a/Open-ILS/web/js/ui/default/staff/circ/pending_patrons/app.js +++ /dev/null @@ -1,74 +0,0 @@ -angular.module('egPendingPatronsApp', - ['ngRoute', 'ui.bootstrap', 'egCoreMod', 'egUiMod', 'egGridMod']) - -.config(function($routeProvider, $locationProvider, $compileProvider) { - $locationProvider.html5Mode(true); - $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|blob):/); // grid export - - var resolver = {delay : - ['egStartup', function(egStartup) {return egStartup.go()}]} - - $routeProvider.when('/circ/pending_patrons/list', { - templateUrl: './circ/pending_patrons/t_list', - controller: 'PendingPatronsCtrl', - resolve : resolver - }); - - $routeProvider.otherwise({redirectTo : '/circ/pending_patrons/list'}); -}) - -.controller('PendingPatronsCtrl', - ['$scope','$q','$routeParams','$window','$location','egCore','egGridDataProvider', -function($scope , $q , $routeParams , $window , $location , egCore , egGridDataProvider) { - - var pending_patrons = []; - var provider = egGridDataProvider.instance({}); - $scope.grid_data_provider = provider; - - function load_patron(item) { - if (angular.isArray(item)) item = item[0]; - if (!item) return; - // TODO: where does patron editor w/ no context patron live? - } - - $scope.grid_controls = { - activateItem : load_patron - } - - function refresh_page() { - pending_patrons = []; - provider.refresh(); - } - - provider.get = function(offset, count) { - var deferred = $q.defer(); - var recv_index = 0; - - egCore.net.request( - 'open-ils.actor', - 'open-ils.actor.user.stage.retrieve.by_org', - egCore.auth.token(), $scope.context_org.id() - - ).then( - deferred.resolve, null, - function(user) { - user.id = user.user.row_id(); - user.user.home_ou(egCore.org.get(user.user.home_ou())); - - // only one (mailing) address is captured during patron - // self-registration - user.mailing_address = user.mailing_addresses[0]; - pending_patrons[offset + recv_index++] = user; - deferred.notify(user); - } - ); - - return deferred.promise; - } - - $scope.context_org = egCore.org.get(egCore.auth.user().ws_ou()) - $scope.$watch('context_org', function(newVal, oldVal) { - if (newVal && newVal != oldVal) refresh_page(); - }); -}]) -