$user_id ||= $e->requestor->id;
- # PINES ecard project - flesh user object to get barcode & addresses
- my $user = $e->retrieve_actor_user([ $user_id, {
- flesh => 1,
- flesh_fields => {
- au => ['card', 'billing_address', 'mailing_address']
- }
- }]);
+ my $user = $e->retrieve_actor_user( $user_id );
my ($fines) = $self
->method_lookup('open-ils.actor.user.fines.summary')
]);
return {
- # PINES Ecard project adds: preferred name fields, phone, email, home library,
- # billing address, mailing address, current barcode
user => {
first_given_name => $user->first_given_name,
second_given_name => $user->second_given_name,
family_name => $user->family_name,
alias => $user->alias,
- usrname => $user->usrname,
+ usrname => $user->usrname
+ },
+ fines => $fines->to_bare_hash,
+ checkouts => $out,
+ holds => $holds,
+ messages => { unread => scalar(@$unread_msgs) }
+ };
+}
+
+# PINES ECARD RENEWAL INFO API
+__PACKAGE__->register_method(
+ method => "user_opac_renewal",
+ api_name => "open-ils.actor.user.opac.renewal",
+ argc => 1,
+ authoritative => 1,
+ signature => {
+ desc => 'Returns minimal patron info for 3rd party renewal',
+ params => [
+ {desc => 'Authentication token', type => 'string'},
+ {desc => 'Optional User ID, for use in the staff client', type => 'number'} # number?
+ ],
+ return => {
+ desc => "A user object."
+ }
+ }
+);
+
+sub user_opac_renewal {
+ my( $self, $client, $auth, $user_id ) = @_;
+
+ my $e = new_editor(authtoken=>$auth);
+ return $e->event unless $e->checkauth;
+
+ $user_id ||= $e->requestor->id;
+
+ my $user = $e->retrieve_actor_user([ $user_id, {
+ flesh => 1,
+ flesh_fields => {
+ au => ['card', 'billing_address', 'mailing_address']
+ }
+ }]);
+
+ return {
+ user => {
+ first_given_name => $user->first_given_name,
+ second_given_name => $user->second_given_name,
+ family_name => $user->family_name,
pref_first_given_name => $user->pref_first_given_name,
pref_second_given_name => $user->pref_second_given_name,
pref_family_name => $user->pref_family_name,
mailing_county => $user->mailing_address->county,
mailing_state => $user->mailing_address->state,
mailing_country => $user->mailing_address->country
- },
- fines => $fines->to_bare_hash,
- checkouts => $out,
- holds => $holds,
- messages => { unread => scalar(@$unread_msgs) }
+ }
};
}