<div id="reg-alert-pane">
- <div id="reg-dupe-links">
- [%# dupe_search_encoded is uri escaped in the JS %]
- <div class="alert alert-danger" ng-show="dupe_counts.name">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded}}">
- [% l('[_1] patron(s) with same name', '{{dupe_counts.name}}') %]
- </a>
- </div>
- <div class="alert alert-danger" ng-show="dupe_counts.email">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded}}">
- [% l('[_1] patron(s) with same email',
- '{{dupe_counts.email}}') %]</a>
- </div>
- <div class="alert alert-danger" ng-show="dupe_counts.ident">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded}}">
- [% l('[_1] patron(s) with same identification',
- '{{dupe_counts.ident}}') %]</a>
- </div>
- <div class="alert alert-danger" ng-show="dupe_counts.phone">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded}}">
- [% l('[_1] patron(s) with same phone',
- '{{dupe_counts.phone}}') %]</a>
- </div>
- <div class="alert alert-danger" ng-show="dupe_counts.address">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded}}" >
- [% l('[_1] patron(s) with same address',
- '{{dupe_counts.address}}') %]</a>
- </div>
- </div>
-
- <!-- IDL field documentation window -->
+ <div id="reg-dupe-links">
+ [%# dupe_search_encoded is uri escaped in the JS %]
+ <div class="alert alert-danger" ng-show="dupe_counts.name">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded}}">
+ [% l('[_1] patron(s) with same name', '{{dupe_counts.name}}') %]
+ </a>
+ </div>
+ <div class="alert alert-danger" ng-show="dupe_counts.email">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded}}">
+ [% l('[_1] patron(s) with same email',
+ '{{dupe_counts.email}}') %]</a>
+ </div>
+ <div class="alert alert-danger" ng-show="dupe_counts.ident">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded}}">
+ [% l('[_1] patron(s) with same identification',
+ '{{dupe_counts.ident}}') %]</a>
+ </div>
+ <div class="alert alert-danger" ng-show="dupe_counts.phone">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded}}">
+ [% l('[_1] patron(s) with same phone',
+ '{{dupe_counts.phone}}') %]</a>
+ </div>
+ <div class="alert alert-danger" ng-show="dupe_counts.address">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded}}" >
+ [% l('[_1] patron(s) with same address',
+ '{{dupe_counts.address}}') %]</a>
+ </div>
+ </div>
+
+ <!-- IDL field documentation window -->
<div class="alert alert-info" ng-show="selected_field_doc">
<fieldset id="reg-field-doc">
<legend>
<div>{{selected_field_doc.string()}}</div>
</fieldset>
</div>
+
+ <div class="alert alert-info" ng-show="stage_user_requestor">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/{{stage_user.reqesting_usr()}}/edit">
+ [% l('Requested by [_1]', '{{stage_user_requestor}}') %]
+ </a>
+ </div>
</div>
service.get_stat_cats(),
service.get_surveys(),
service.get_clone_user(),
+ service.get_stage_user(),
service.get_net_access_levels()
]);
};
});
}
+ 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
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) {
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()) {
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()
+ );
}
}
}
$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;
$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