From: erickson Date: Fri, 22 Jul 2005 20:11:51 +0000 (+0000) Subject: movin on, adding exceptions, more more more X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=846fb23d26cfca25c93e6264a7650074827ead08;p=Evergreen.git movin on, adding exceptions, more more more git-svn-id: svn://svn.open-ils.org/ILS/trunk@1363 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm b/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm index 92fdc05ac0..956ebd029e 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm @@ -43,6 +43,10 @@ sub update_patron { my $new_patron; + if(ref($patron->card)) { $patron->card( $patron->card->id ); } + if(ref($patron->billing_address)) { $patron->billing_address( $patron->billing_address->id ); } + if(ref($patron->mailing_address)) { $patron->mailing_address( $patron->mailing_address->id ); } + # create/update the patron first so we can use his id if($patron->isnew()) { @@ -113,6 +117,11 @@ __PACKAGE__->register_method( sub user_retrieve_fleshed_by_id { my( $self, $client, $user_session, $user_id ) = @_; my $user_obj = $apputils->check_user_session( $user_session ); + + if($apputils->check_user_perms($user_obj->id, $user_obj->home_ou, "VIEW_USER")) { + return OpenILS::Perm->new("VIEW_USER"); + } + return flesh_user($user_id); } @@ -379,6 +388,7 @@ sub _add_update_cards { return $card; } + #if(ref($patron->card)) { $patron->card($patron->card->id); } if($patron->card() == $virtual_id) { $new_patron->card($card->id()); $new_patron->ischanged(1); @@ -456,14 +466,19 @@ sub _add_survey_responses { warn "updating responses for user " . $new_patron->id . "\n"; my $responses = $patron->survey_responses; - for my $resp( @$responses ) { - $resp->usr($new_patron->id); - } - my $status = $apputils->simple_scalar_request( - "open-ils.circ", - "open-ils.circ.survey.submit.user_id", - $responses ); + if($responses) { + + for my $resp( @$responses ) { + $resp->usr($new_patron->id); + } + + my $status = $apputils->simple_scalar_request( + "open-ils.circ", + "open-ils.circ.survey.submit.user_id", + $responses ); + + } return $new_patron; } diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ.pm index 6d3c7007bc..ecae5e0373 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ.pm @@ -6,6 +6,7 @@ use OpenILS::Application::Circ::Rules; use OpenILS::Application::Circ::Survey; use OpenILS::Application::Circ::StatCat; use OpenILS::Application::Circ::Holds; +use OpenILS::Application::Circ::Money; use OpenILS::Application::AppUtils; my $apputils = "OpenILS::Application::AppUtils"; diff --git a/Open-ILS/src/perlmods/OpenILS/EX.pm b/Open-ILS/src/perlmods/OpenILS/EX.pm index 276f517775..be8ac128d9 100644 --- a/Open-ILS/src/perlmods/OpenILS/EX.pm +++ b/Open-ILS/src/perlmods/OpenILS/EX.pm @@ -20,6 +20,7 @@ my %ex_types = ( MAX_RENEWALS_REACHED => 9, COPY_NEEDED_FOR_HOLD => 10, NO_HOLD_FOUND => 11, + NO_TRANSACTION_FOUND => 12, ); use overload ( '""' => sub { $_[0]->ex()->err_msg(); } ); diff --git a/Open-ILS/src/templates/strings/ex.ttk b/Open-ILS/src/templates/strings/ex.ttk index b2c606a6b5..b41820e52d 100644 --- a/Open-ILS/src/templates/strings/ex.ttk +++ b/Open-ILS/src/templates/strings/ex.ttk @@ -45,6 +45,9 @@ IF type == ex_types.NO_HOLD_FOUND; ret("The requested hold could not be found"); END; + IF type == ex_types.NO_TRANSACTION_FOUND; + ret("The requested transaction could not be found"); END; + ret("Unknown exception occured"); -%]