From 5fb408307e70717ff6259e0585bc88962056bcff Mon Sep 17 00:00:00 2001 From: Fridolyn SOMERS Date: Thu, 11 Apr 2013 16:46:23 +0200 Subject: [PATCH] Bug 10029 - CAS authentication fails in OPAC reserve If OPAC reserve page is accessed without being logged-in, login form is displayed as well as a CAS authentication link (if enabled). A click on this link will lead to CAS server but one comming back to Koha, page shows an error : "ERROR: No biblionumber received". This is because CAS link only contains the query path "/cgi-bin/koha/opac-reserve.pl", not the query parameters. This patch adds query parameters to URI sent to CAS. Test plan : - Enable CAS - Go to opac without been logged-in - Try to place hold on a record => You get to /cgi-bin/koha/opac-reserve.pl?biblionumber=XXX showing authentication page => Check that CAS link contains query param "biblionumber" - Click on CAS link and log in => Check you return well logged-in to reserve page with biblionumber param Signed-off-by: Chris Cormack --- C4/Auth_with_cas.pm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/C4/Auth_with_cas.pm b/C4/Auth_with_cas.pm index d8e5040..f841449 100644 --- a/C4/Auth_with_cas.pm +++ b/C4/Auth_with_cas.pm @@ -91,10 +91,8 @@ sub login_cas { sub login_cas_url { my ($query, $key) = @_; - my $uri = C4::Context->preference('OPACBaseURL') . $query->script_name(); + my $uri = C4::Context->preference('OPACBaseURL') . $query->url( -absolute => 1, -query => 1 ); my $casparam = $query->param('cas'); - # FIXME: This should be more generic and handle whatever parameters there might be - $uri .= "?cas=" . $casparam if (defined $casparam); $casparam = $defaultcasserver if (not defined $casparam); $casparam = $key if (defined $key); my $cas = Authen::CAS::Client->new($casservers->{$casparam}); -- 1.7.10.4