From 6ae0275fa280405bbdd2b4c4bbd8627c65d5d38b Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Tue, 8 Mar 2016 22:04:32 +0000 Subject: [PATCH] Bug 12663 - SCOUserCSS and SCOUserJS ignored on selfcheck login page Currently if not logged in when browsing to http://YOURCATALOG/cgi-bin/koha/sco/sco-main.pl You are redirected to opac-auth.tt and SCOUserCSS and SCOUserJS are not loaded. This page passes through a parameter to the template to indicate this is an SCO login and appropriate CSS and JS should be loaded. Additionally this patch ensure that when loggin in using the form you are redirected to the sco-main.pl instead of the patron account page for the user. To test: 1 - Verify that normal login works on both staff and opac 2 - Verify that SCO link goes to login page if AutoSelfCheckAllowed is set to "Don't allow" 3 - Enter changes into SCOUserJS and SCOUserCSS and observe these are present on SCO log in page with AutoSelfCheck disabled 4 - Verify that a logged in opac user without permissions cannot access the self-checkout module 5 - Verify that AutoSelfCheckAllowed and associated system preferences function as expected 6 - Verify the AutoSelfCheck user is logged out if they attempt to visit another page --- C4/Auth.pm | 1 + .../bootstrap/en/includes/doc-head-close.inc | 9 +++++++- .../bootstrap/en/includes/opac-bottom.inc | 24 +++++++++++++++------- .../opac-tmpl/bootstrap/en/modules/opac-auth.tt | 10 +++++++-- opac/sco/sco-main.pl | 1 + 5 files changed, 35 insertions(+), 10 deletions(-) diff --git a/C4/Auth.pm b/C4/Auth.pm index fef418d..c6c7211 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -1247,6 +1247,7 @@ sub checkauth { opac_css_override => $ENV{'OPAC_CSS_OVERRIDE'}, ); + $template->param( SCO_login => 1 ) if ( $query->param('sco_user_login') ); $template->param( OpacPublic => C4::Context->preference("OpacPublic") ); $template->param( loginprompt => 1 ) unless $info{'nopermission'}; diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/doc-head-close.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/doc-head-close.inc index 54cf6c7..dc61da0 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/doc-head-close.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/doc-head-close.inc @@ -51,7 +51,14 @@ [% IF ( bidi ) %] [% END %] -[% IF ( OPACUserCSS ) %][% END %] +[% IF SCO_login %] + [% SET SCOUserCSS = Koha.Preference('SCOUserCSS') %] + [% IF SCOUserCSS %] + + [% END %] +[% ELSE %] + [% IF ( OPACUserCSS ) %][% END %] +[% END %] [% PROCESS cssinclude %] diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc index 63c562f..aae5c24 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc @@ -266,13 +266,23 @@ $(document).ready(function() { }); [% PROCESS jsinclude %] - -[% IF ( OPACUserJS ) %] - +[% IF SCO_login %] + [% SET SCOUserJS = Koha.Preference('SCOUserJS') %] + [% IF ( SCOUserJS ) %] + + [% END %] +[% ELSE %] + [% IF ( OPACUserJS ) %] + + [% END %] [% END %] diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth.tt index c5cd351..99ef3a0 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth.tt @@ -29,6 +29,9 @@

Access denied

Sorry, the system doesn't think you have permission to access this page.

+ [% IF SCO_login %] +

Logout and try again with a different user

+ [% END %]
[% END %] @@ -137,8 +140,11 @@ [% END %] [% END # / IF casAuthentication %] - -
+ [% IF SCO_login %] + + [% ELSE %] + + [% END %]
[% FOREACH INPUT IN INPUTS %] diff --git a/opac/sco/sco-main.pl b/opac/sco/sco-main.pl index 5584dae..0e2a1b9 100755 --- a/opac/sco/sco-main.pl +++ b/opac/sco/sco-main.pl @@ -64,6 +64,7 @@ if (C4::Context->preference('AutoSelfCheckAllowed')) $query->param(-name=>'password',-values=>[$AutoSelfCheckPass]); $query->param(-name=>'koha_login_context',-values=>['sco']); } +$query->param(-name=>'sco_user_login',-values=>[1]); my ($template, $loggedinuser, $cookie) = get_template_and_user({ template_name => "sco/sco-main.tt", authnotrequired => 0, -- 2.1.4