From f822dee088b86edecd5d5c73718ad9f8a04c0664 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 13 Dec 2018 12:56:42 -0300 Subject: [PATCH] Bug 22048: Use set_password opac/opac-password-recovery.pl Signed-off-by: Kyle M Hall Signed-off-by: Josef Moravec Signed-off-by: Nick Clemens --- opac/opac-password-recovery.pl | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/opac/opac-password-recovery.pl b/opac/opac-password-recovery.pl index 2b39e52303..6429f7b9a1 100755 --- a/opac/opac-password-recovery.pl +++ b/opac/opac-password-recovery.pl @@ -146,19 +146,26 @@ elsif ( $query->param('passwordReset') ) { } elsif ( $password ne $repeatPassword ) { $error = 'errPassNotMatch'; } else { - my ( $is_valid, $err) = Koha::AuthUtils::is_password_valid( $password ); - unless ( $is_valid ) { - $error = 'password_too_short' if $err eq 'too_short'; - $error = 'password_too_weak' if $err eq 'too_weak'; - $error = 'password_has_whitespaces' if $err eq 'has_whitespaces'; - } else { - Koha::Patrons->find($borrower_number)->update_password( $username, $password ); + try { + Koha::Patrons->find($borrower_number)->set_password({ password => $password }); + CompletePasswordRecovery($uniqueKey); $template->param( password_reset_done => 1, username => $username ); } + catch { + if ( $_->isa('Koha::Exceptions::Password::TooShort') ) { + $error = 'password_too_short'; + } + elsif ( $_->isa('Koha::Exceptions::Password::WhitespaceCharacters') ) { + $error = 'password_has_whitespaces'; + } + elsif ( $_->isa('Koha::Exceptions::Password::TooWeak') ) { + $error = 'password_too_weak'; + } + }; } if ( $error ) { $template->param( -- 2.39.5