From: erickson Date: Thu, 2 Jul 2009 20:30:56 +0000 (+0000) Subject: don't throw exception when auth session is not found. just return undef. updated... X-Git-Tag: sprint4-merge-nov22~9745 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=75d4b6aed77c3204e0ff1b40409d672b441f1f28;p=working%2FEvergreen.git don't throw exception when auth session is not found. just return undef. updated related code git-svn-id: svn://svn.open-ils.org/ILS/trunk@13493 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm b/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm index 701c856729..6b68e51f8d 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm @@ -134,20 +134,13 @@ sub event_code { # throws an exception on error. # --------------------------------------------------------------------------- sub check_user_session { - my( $self, $user_session ) = @_; my $content = $self->simplereq( 'open-ils.auth', - 'open-ils.auth.session.retrieve', $user_session ); - - if(! $content or $self->event_code($content)) { - throw OpenSRF::EX::ERROR - ("Session [$user_session] cannot be authenticated" ); - } - - $logger->debug("Fetch user session $user_session found user " . $content->id ); + 'open-ils.auth.session.retrieve', $user_session); + return undef if (!$content) or $self->event_code($content); return $content; } @@ -331,18 +324,9 @@ sub fetch_user { sub checkses { my( $self, $session ) = @_; - my $user; my $evt; my $e; - - $logger->debug("Checking user session $session"); - - try { - $user = $self->check_user_session($session); - } catch Error with { $e = 1; }; - - $logger->debug("Done checking user session $session " . (($e) ? "error = $e" : "") ); - - if( $e or !$user ) { $evt = OpenILS::Event->new('NO_SESSION'); } - return ( $user, $evt ); + my $user = $self->check_user_session($session) or + return (undef, OpenILS::Event->new('NO_SESSION')); + return ($user); } diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Cat.pm b/Open-ILS/src/perlmods/OpenILS/Application/Cat.pm index 99f289d489..d0e466a9f9 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Cat.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Cat.pm @@ -366,9 +366,9 @@ sub retrieve_copies { # grabbing copy trees should be available for everyone.. if(!@org_ids and $user_session) { - my $user_obj = - OpenILS::Application::AppUtils->check_user_session( $user_session ); #throws EX on error - @org_ids = ($user_obj->home_ou); + my($user_obj, $evt) = OpenILS::Application::AppUtils->checkses($user_session); + return $evt if $evt; + @org_ids = ($user_obj->home_ou); } if( $self->api_name =~ /global/ ) { diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/StatCat.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/StatCat.pm index 57e20dd5b8..8ca8325755 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/StatCat.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/StatCat.pm @@ -50,7 +50,8 @@ sub retrieve_stat_cat_list { $method = "open-ils.storage.fleshed.asset.stat_cat.retrieve.batch.atomic"; } - my $user_obj = $apputils->check_user_session($user_session); + my($user_obj, $evt) = $apputils->checkses($user_session); + return $evt if $evt; my $cats = $apputils->simple_scalar_request( "open-ils.storage", $method, @sc); @@ -77,7 +78,9 @@ sub retrieve_stat_cats { $method = "open-ils.storage.ranged.fleshed.asset.stat_cat.all.atomic"; } - my $user_obj = $apputils->check_user_session($user_session); + my($user_obj, $evt) = $apputils->checkses($user_session); + return $evt if $evt; + if(!$orgid) { $orgid = $user_obj->home_ou; } my $cats = $apputils->simple_scalar_request( "open-ils.storage", $method, $orgid ); @@ -93,7 +96,9 @@ __PACKAGE__->register_method( sub retrieve_ranged_intersect_stat_cats { my( $self, $client, $user_session, $orglist ) = @_; - my $user_obj = $apputils->check_user_session($user_session); + my($user_obj, $evt) = $apputils->checkses($user_session); + return $evt if $evt; + if(!$orglist) { $orglist = [ $user_obj->home_ou ]; } # uniquify, yay! @@ -119,7 +124,9 @@ sub retrieve_ranged_union_stat_cats { use Data::Dumper; warn "Retrieving stat_cats with method $method and orgs " . Dumper($orglist) . "\n"; - my $user_obj = $apputils->check_user_session($user_session); + my($user_obj, $evt) = $apputils->checkses($user_session); + return $evt if $evt; + if(!$orglist) { $orglist = [ $user_obj->home_ou ]; } # uniquify, yay! diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Survey.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Survey.pm index 01c5e9e139..9f75be3ddf 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Survey.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Survey.pm @@ -34,7 +34,9 @@ __PACKAGE__->register_method( sub add_survey { my( $self, $client, $user_session, $survey ) = @_; - my $user_obj = $apputils->check_user_session($user_session); + my($user_obj, $evt) = $apputils->checkses($user_session); + return $evt if $evt; + my $session = $apputils->start_db_session(); my $err = undef; my $id; @@ -138,7 +140,9 @@ sub get_required_surveys { my( $self, $client, $user_session ) = @_; - my $user_obj = $apputils->check_user_session($user_session); + my ($user_obj, $evt) = $apputils->checkses($user_session); + return $evt if $evt; + my $orgid = $user_obj->ws_ou() ? $user_obj->ws_ou() : $user_obj->home_ou(); my $surveys = $apputils->simple_scalar_request( "open-ils.storage", @@ -161,7 +165,8 @@ sub get_survey_responses { my( $self, $client, $user_session, $survey_id, $user_id ) = @_; if(!$user_id) { - my $user_obj = $apputils->check_user_session($user_session); + my ($user_obj, $evt) = $apputils->checkses($user_session); + return $evt if $evt; $user_id = $user_obj->id; } @@ -184,7 +189,9 @@ __PACKAGE__->register_method( sub get_all_surveys { my( $self, $client, $user_session ) = @_; - my $user_obj = $apputils->check_user_session($user_session); + my ($user_obj, $evt) = $apputils->checkses($user_session); + return $evt if $evt; + my $orgid = $user_obj->ws_ou() ? $user_obj->ws_ou() : $user_obj->home_ou(); my $surveys = $apputils->simple_scalar_request( "open-ils.storage", @@ -295,7 +302,8 @@ sub submit_survey { if($self->api_name =~ /session/) { if( ! ($id = $already_seen{$res->usr}) ) { - my $user_obj = $apputils->check_user_session($res->usr); + my ($user_obj, $evt) = $apputils->checkses($res->usr); + return $evt if $evt; $id = $user_obj->id; $already_seen{$res->usr} = $id; } @@ -329,7 +337,9 @@ __PACKAGE__->register_method( sub get_random_survey { my( $self, $client, $user_session ) = @_; - my $user_obj = $apputils->check_user_session($user_session); + my ($user_obj, $evt) = $apputils->checkses($user_session); + return $evt if $evt; + my $surveys = $apputils->simple_scalar_request( "open-ils.storage", "open-ils.storage.action.survey.opac.atomic",