From 35921e0bc1c8c8e127f8415070675eebe8019e60 Mon Sep 17 00:00:00 2001 From: berick Date: Thu, 7 Apr 2011 14:22:48 -0400 Subject: [PATCH] after clearing out a stale ses cookie, return user to originally requested resource instead directing home. this prevents the case where going to 'my account' in presence of expired ses cookie redirects the user home --- Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm index 13bff7bc31..3ba6aec560 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm @@ -201,8 +201,10 @@ sub load_common { } else { - # authtoken is no longer valid, log out to clean up - return $self->load_logout; + # if we encounter a stale authtoken, call load_logout + # to clean up the cookie, then redirect the user to the + # originally requested page + return $self->load_logout($self->apache->unparsed_uri); } } @@ -274,13 +276,14 @@ sub load_login { # ----------------------------------------------------------------------------- sub load_logout { my $self = shift; + my $redirect_to = shift; # If the user was adding anyting to an anonymous cache # while logged in, go ahead and clear it out. $self->clear_anon_cache; return $self->generic_redirect( - $self->ctx->{home_page}, + $redirect_to || $self->ctx->{home_page}, $self->cgi->cookie( -name => COOKIE_SES, -path => '/', -- 2.11.0