Bug 24663: Test OpacPublic for all OPAC scripts

Prior to this patchset there were 3 different calls to
get_template_and_user (or checkauth) with the authnotrequired param:
 * authnotrequired => 0
 * authnotrequired => 1
 * authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 )

The first one says that an unauthenticated user can access the page, the
second that the user has to be authenticated, and the last one that it
depends on the OpacPublic syspref.
Actually we must replace the first one with the third one, if the OPAC
is not public, the authentication must be forced.

To do so we are going to remove the "authnotrequired => 0" occurrences,
and check the OpacPublic syspref's value in C4::Auth

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Jonathan Druart 2020-02-17 13:16:48 +01:00
parent db55279886
commit 4b9475346e

View file

@ -784,6 +784,7 @@ sub checkauth {
my $emailaddress = shift; my $emailaddress = shift;
$type = 'opac' unless $type; $type = 'opac' unless $type;
$authnotrequired = 0 unless C4::Context->preference("OpacPublic");
my $dbh = C4::Context->dbh; my $dbh = C4::Context->dbh;
my $timeout = _timeout_syspref(); my $timeout = _timeout_syspref();