Bug 36665: (follow-up) Allow choosing a branch with no IP when using AutoLocation

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Nick Clemens 2024-05-22 13:08:43 +00:00 committed by Katrin Fischer
parent fb45438ae3
commit 58a75cafd6
Signed by: kfischer
GPG key ID: 0EF6E2C03357A834
2 changed files with 15 additions and 2 deletions

View file

@ -1235,11 +1235,17 @@ sub checkauth {
}
if (
# If StaffLoginBranchBasedOnIP is enabled we will try to find a branch
# matching your ip, regardless of the choice you have passed in
(
!C4::Context->preference('AutoLocation')
&& C4::Context->preference('StaffLoginBranchBasedOnIP')
)
|| ( C4::Context->preference('AutoLocation') && $auth_state ne 'failed' )
# When AutoLocation is enabled we will not choose a branch matching IP
# if your selected branch has no IP set
|| ( C4::Context->preference('AutoLocation')
&& $auth_state ne 'failed'
&& $branches->{$branchcode}->{'branchip'} )
)
{
foreach my $br ( uniq( $branchcode, keys %$branches ) ) {

View file

@ -1344,7 +1344,7 @@ subtest 'StaffLoginBranchBasedOnIP' => sub {
subtest 'AutoLocation' => sub {
plan tests => 7;
plan tests => 8;
$schema->storage->txn_begin;
@ -1396,6 +1396,13 @@ subtest 'AutoLocation' => sub {
my $session = C4::Auth::get_session($sessionID);
is( $session->param('branch'), $patron->branchcode );
my $noip_library = $builder->build_object( { class => 'Koha::Libraries', value => { branchip => '' } } );
$cgi->param( 'branch', $noip_library->branchcode );
( $userid, $cookie, $sessionID, $flags, $template ) =
C4::Auth::checkauth( $cgi, 0, { catalogue => 1 }, 'intranet' );
$session = C4::Auth::get_session($sessionID);
is( $session->param('branch'), $noip_library->branchcode );
$schema->storage->txn_rollback;
};