Bug 18880: [QA Follow-up] Finishing touch

Do not fill @return if retval == -1 for LDAP (see cfc484b17).
No need to call store after an DBIx update. Rearranged the if statement.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Marcel de Rooy 2017-07-14 08:07:31 +02:00 committed by Jonathan Druart
parent d852b33266
commit 313e1f2f27

View file

@ -1776,10 +1776,10 @@ sub checkpw {
} elsif ($ldap) {
$debug and print STDERR "## checkpw - checking LDAP\n";
my ( $retval, $retcard, $retuserid ) = checkpw_ldap(@_); # EXTERNAL AUTH
if ( $retval ) {
if ( $retval == 1 ) {
@return = ( $retval, $retcard, $retuserid );
$passwd_ok = 1;
}
$passwd_ok = 1 if $retval == 1;
$check_internal_as_fallback = 1 if $retval == 0;
} elsif ( $cas && $query && $query->param('ticket') ) {
@ -1824,12 +1824,12 @@ sub checkpw {
$passwd_ok = 1 if $return[0] > 0; # 1 or 2
}
unless ( $passwd_ok ) { # Auth failed
$patron->update({ login_attempts => $patron->login_attempts + 1 }) if $patron;
} elsif ( $patron ) {
# FIXME Koha::Object->update should return a Koha::Object to allow chaining
$patron->update({ login_attempts => 0 });
$patron->store;
if( $patron ) {
if ( $passwd_ok ) {
$patron->update({ login_attempts => 0 });
} else {
$patron->update({ login_attempts => $patron->login_attempts + 1 });
}
}
return @return;
}