From: Bill Erickson Date: Mon, 28 Jul 2014 15:51:50 +0000 (-0400) Subject: user permission editor from patron view X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=6479f51564d13d9d196e0a3168cccf7cbec33aac;p=working%2FEvergreen.git user permission editor from patron view Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/templates/staff/circ/patron/index.tt2 b/Open-ILS/src/templates/staff/circ/patron/index.tt2 index 9f08139333..9048faa308 100644 --- a/Open-ILS/src/templates/staff/circ/patron/index.tt2 +++ b/Open-ILS/src/templates/staff/circ/patron/index.tt2 @@ -141,6 +141,11 @@ angular.module('egCoreMod').run(['egStrings', function(s) {
  • + + [% l('User Permission Editor') %] + +
  • +
  • [% l('Test Password') %] diff --git a/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 b/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 index 26cc7666c9..3f85366f4e 100644 --- a/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 +++ b/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 @@ -1,3 +1,2 @@ - diff --git a/Open-ILS/src/templates/staff/circ/patron/t_edit_perms.tt2 b/Open-ILS/src/templates/staff/circ/patron/t_edit_perms.tt2 new file mode 100644 index 0000000000..76d10f6e8a --- /dev/null +++ b/Open-ILS/src/templates/staff/circ/patron/t_edit_perms.tt2 @@ -0,0 +1 @@ + diff --git a/Open-ILS/web/js/ui/default/staff/admin/user_perms.js b/Open-ILS/web/js/ui/default/staff/admin/user_perms.js index c93247df9a..460e8d1ad2 100644 --- a/Open-ILS/web/js/ui/default/staff/admin/user_perms.js +++ b/Open-ILS/web/js/ui/default/staff/admin/user_perms.js @@ -88,14 +88,11 @@ function($scope , $routeParams , $window , $location , egCore) { url += '?usr=' + encodeURIComponent(user_id); // user_edit does not load the session via cookie. It uses URL - // params or xulG instead. We are forced to use URL params, - // since xulG pass-thru's are not inserted until the iframe is - // loaded. - // xulG instead. Pass via xulG. + // params or xulG instead. Pass via xulG. $scope.funcs = { ses : egCore.auth.token(), on_patron_save : function() { - $window.location.reload(); + $scope.funcs.reload(); } } diff --git a/Open-ILS/web/js/ui/default/staff/circ/patron/app.js b/Open-ILS/web/js/ui/default/staff/circ/patron/app.js index 2291c0c619..044a99b0fb 100644 --- a/Open-ILS/web/js/ui/default/staff/circ/patron/app.js +++ b/Open-ILS/web/js/ui/default/staff/circ/patron/app.js @@ -180,6 +180,12 @@ angular.module('egPatronApp', ['ngRoute', 'ui.bootstrap', resolve : resolver }); + $routeProvider.when('/circ/patron/:id/edit_perms', { + templateUrl: './circ/patron/t_edit_perms', + controller: 'PatronPermsCtrl', + resolve : resolver + }); + $routeProvider.when('/circ/patron/:id/group', { templateUrl: './circ/patron/t_group', controller: 'PatronGroupCtrl', @@ -1497,3 +1503,25 @@ function($scope, $routeParams, $location , egCore , patronSvc) { $scope.funcs = {}; }]) +.controller('PatronPermsCtrl', + ['$scope','$routeParams','$window','$location','egCore', +function($scope , $routeParams , $window , $location , egCore) { + $scope.initTab('other', $routeParams.id); + + var url = $location.absUrl().replace( + /\/eg\/staff.*/, '/xul/server/patron/user_edit.xhtml'); + + url += '?usr=' + encodeURIComponent($routeParams.id); + + // user_edit does not load the session via cookie. It uses URL + // params or xulG instead. Pass via xulG. + $scope.funcs = { + ses : egCore.auth.token(), + on_patron_save : function() { + $scope.funcs.reload(); + } + } + + $scope.user_perms_url = url; +}]) + diff --git a/Open-ILS/web/js/ui/default/staff/services/eframe.js b/Open-ILS/web/js/ui/default/staff/services/eframe.js index 5d4f94fbc5..b706a508d2 100644 --- a/Open-ILS/web/js/ui/default/staff/services/eframe.js +++ b/Open-ILS/web/js/ui/default/staff/services/eframe.js @@ -16,7 +16,7 @@ angular.module('egCoreMod') handlers : '=', // called after onload of each new iframe page - onchange : '=' + onchange : '=', }, templateUrl : './share/t_eframe', @@ -68,7 +68,7 @@ angular.module('egCoreMod') console.debug('egEmbedFrameLoader(): ' + page); // reload ifram page w/o reloading the entire UI - $scope.reload_page = function() { + $scope.reload = function() { iframe.contentWindow.location.replace( iframe.contentWindow.location); } @@ -195,6 +195,7 @@ angular.module('egCoreMod') } if ($scope.handlers) { + $scope.handlers.reload = $scope.reload; angular.forEach($scope.handlers, function(val, key) { iframe.contentWindow.xulG[key] = val; });