From: Bill Erickson Date: Sun, 21 Feb 2016 23:43:53 +0000 (-0500) Subject: LP#1452950 Patron reg pending users (wip) X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=4a22871377969dc81a9094407e05b55cc853bf88;p=working%2FEvergreen.git LP#1452950 Patron reg pending users (wip) Signed-off-by: Bill Erickson --- 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 4326cb5d83..c1e769eff0 100644 --- a/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 +++ b/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 @@ -22,41 +22,41 @@ diff --git a/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js b/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js index a1bd339bb1..e578aa9949 100644 --- a/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js +++ b/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js @@ -42,6 +42,7 @@ angular.module('egCoreMod') service.get_stat_cats(), service.get_surveys(), service.get_clone_user(), + service.get_stage_user(), service.get_net_access_levels() ]); }; @@ -66,6 +67,48 @@ angular.module('egCoreMod') }); } + service.get_stage_user = function() { + if (!service.stage_username) return $q.when(); + + // fetch the staged user object + return egCore.net.request( + 'open-ils.actor', + 'open-ils.actor.user.stage.retrieve.by_username', + egCore.auth.token(), + service.stage_username + ).then(function(suser) { + if (e = egCore.evt.parse(suser)) { + alert(e); + } else { + service.stage_user = suser; + } + }).then(function() { + + if (!service.stage_user) return; + var requestor = service.stage_user.user.requesting_usr(); + + if (!requestor) return; + + // fetch the requesting user + return egCore.net.request( + 'open-ils.actor', + 'open-ils.actor.user.retrieve.parts', + egCore.auth.token(), + requestor, + ['family_name', 'first_given_name', 'second_given_name'] + ).then(function(parts) { + service.stage_user_requestor = + service.format_name(parts[0], parts[1], parts[2]); + }) + }); + } + + // See note above about not loading egUser. + // TODO: i18n + service.format_name = function(last, first, middle) { + return last + ', ' + first + (middle ? ' ' + middle : ''); + } + //service.check_grp_app_perm = function(grp_id) { // determine which user groups our user is not allowed to modify @@ -557,6 +600,9 @@ angular.module('egCoreMod') return user; } + service.copy_stage_data = function(user) { + } + // copy select values from the cloned user to the new user. // user is a hash service.copy_clone_data = function(user) { @@ -635,12 +681,11 @@ angular.module('egCoreMod') user.billing_address._is_billing = true; user.addresses.push(user.billing_address); user.billing_address._linked_owner_id = clone_user.id(); - // TODO: see note above about egUser, which has its - // own name formatting function. - user.billing_address._linked_owner = - clone_user.family_name() + ', ' + - clone_user.first_given_name() + ' ' + - clone_user.second_given_name(); + user.billing_address._linked_owner = service.format_name( + clone_user.family_name(), + clone_user.first_given_name(), + clone_user.second_given_name() + ); } if (addr = clone_user.mailing_address()) { @@ -654,12 +699,11 @@ angular.module('egCoreMod') user.mailing_address._is_mailing = true; user.addresses.push(user.mailing_address); user.mailing_address._linked_owner_id = clone_user.id(); - // TODO: see note above about egUser, which has its - // own name formatting function. - user.mailing_address._linked_owner = - clone_user.family_name() + ', ' + - clone_user.first_given_name() + ' ' + - clone_user.second_given_name(); + user.mailing_address._linked_owner = service.format_name( + clone_user.family_name(), + clone_user.first_given_name(), + clone_user.second_given_name() + ); } } } @@ -806,8 +850,9 @@ function PatronRegCtrl($scope, $routeParams, $q, $modal, $window, egCore, patronSvc, patronRegSvc, egUnloadPrompt) { $scope.page_data_loaded = false; - $scope.clone_id = patronRegSvc.clone_id = $routeParams.clone_id; - $scope.stage_username = $routeParams.stage_username; + $scope.clone_id = $routeParams.clone_id; + $scope.stage_username = + patronRegSvc.stage_username = $routeParams.stage_username; $scope.patron_id = patronRegSvc.patron_id = $routeParams.edit_id || $routeParams.id; @@ -894,6 +939,8 @@ function PatronRegCtrl($scope, $routeParams, $scope.surveys = prs.surveys; $scope.survey_responses = prs.survey_responses; $scope.stat_cat_entry_maps = prs.stat_cat_entry_maps; + $scope.stage_user = prs.stage_user; + $scope.stage_user_requestor = prs.stage_user_requestor; $scope.user_settings = prs.user_settings; // clone the user settings back into the patronRegSvc so