From df0b8bceede739555c19f40e23aabad02b8b7ec7 Mon Sep 17 00:00:00 2001 From: Mason James Date: Thu, 1 Dec 2016 13:38:51 +1300 Subject: [PATCH] Bug 18118 - Unexpected behaviour with 'GoogleOpenIDConnect' and 'OpacPublic' syspref combination. TEST PLAN ---------- 1/ configure a working 'GoogleOpenIDConnect' account See comment #5 which also links back to https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=16892#c3 2/ set 'OpacPublic' (under OPAC) to 'Disabled' and 'GoogleOpenIDConnect' (under Administration) to 'Yes'. 3/ log in user successfully via google-auth, observe redirect to opac-user.pl (bad) 4/ apply patch -- on kohadevbox remember to restart all! Plack is unforgiving. :) 5/ log in user successfully via google-auth, observe expected redirect to opac-main.pl (good) While I would normally suggest running koha qa test tools, because this file doesn't end in .pl, it doesn't get picked up by them. 6/ perlcritic -4 opac/svc/auth/googleopenidconnect -- notice this is a level better than required. :) This also eyeballs easily well. Signed-off-by: Mark Tompsett --- opac/svc/auth/googleopenidconnect | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/opac/svc/auth/googleopenidconnect b/opac/svc/auth/googleopenidconnect index d417d7a..e3d7df4 100755 --- a/opac/svc/auth/googleopenidconnect +++ b/opac/svc/auth/googleopenidconnect @@ -216,8 +216,16 @@ elsif ( defined $query->param('code') ) { my ( $userid, $cookie, $session_id ) = checkauth( $query, 1, {}, 'opac', $email ); if ($userid) { # A user with this email is registered in koha + + #handle redirect to main.pl, for private opac + my $uri; + if (C4::Context->preference('OpacPublic') ) { + $uri = '/cgi-bin/koha/opac-user.pl'; + } else { + $uri = '/cgi-bin/koha/opac-main.pl'; + } print $query->redirect( - -uri => '/cgi-bin/koha/opac-user.pl', + -uri => $uri, -cookie => $cookie ); } -- 2.1.4