From 4f18e235bfcbb77c5d4884232344ed9b1265366d Mon Sep 17 00:00:00 2001 From: erickson Date: Wed, 14 Jan 2009 22:18:54 +0000 Subject: [PATCH] added API call for approving a pending address git-svn-id: svn://svn.open-ils.org/ILS/trunk@11832 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/Application/Actor.pm | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm b/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm index 96870cbea8..571b65e4bb 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm @@ -2866,6 +2866,8 @@ sub new_flesh_user { if( grep { $_ eq 'addresses' } @$fields ) { $user->addresses([]) unless @{$user->addresses}; + # don't expose "replaced" addresses by default + $user->addresses([grep {$_->id >= 0} @{$user->addresses}]); if( ref $user->billing_address ) { unless( grep { $user->billing_address->id == $_->id } @{$user->addresses} ) { @@ -3125,6 +3127,29 @@ sub merge_users { } +__PACKAGE__->register_method ( + method => 'approve_user_address', + api_name => 'open-ils.actor.user.pending_address.approve', + signature => { + desc => q/ + / + } +); + +sub approve_user_address { + my($self, $conn, $auth, $addr_id) = @_; + my $e = new_editor(xact => 1, authtoken => $auth); + return $e->die_event unless $e->checkauth; + my $addr = $e->retrieve_actor_user_address($addr_id) + or return $e->die_event; + my $user = $e->retrieve_actor_user($addr->usr); + return $e->die_event unless $e->allowed('UPDATE_USER', $user->home_ou); + my $result = $e->json_query({from => ['actor.approve_pending_address', $addr_id]})->[0] + or return $e->die_event; + $e->commit; + return [values %$result]->[0]; +} + __PACKAGE__->register_method ( method => 'retrieve_friends', -- 2.11.0