use Carp;
use Text::CSV;
use Encode qw( decode_utf8 );
+use Try::Tiny;
use C4::Members;
}
}
if ($overwrite_passwords){
- $patron->set_password({ password => $borrower{password} });
+ try {
+ $patron->set_password({ password => $borrower{password} });
+ }
+ catch {
+ if ( $_->isa('Koha::Exceptions::Password::TooShort') ) {
+ push @errors, { passwd_too_short => 1, borrowernumber => $borrowernumber, length => $_->{length}, min_length => $_->{min_length} };
+ }
+ elsif ( $_->isa('Koha::Exceptions::Password::WhitespaceCharacters') ) {
+ push @errors, { passwd_whitespace => 1, borrowernumber => $borrowernumber } ;
+ }
+ elsif ( $_->isa('Koha::Exceptions::Password::TooWeak') ) {
+ push @errors, { passwd_too_weak => 1, borrowernumber => $borrowernumber } ;
+ }
+ elsif ( $_->isa('Koha::Exceptions::Password::Plugin') ) {
+ push @errors, { passwd_plugin_err => 1, borrowernumber => $borrowernumber } ;
+ }
+ else {
+ push @errors, { passwd_unknown_err => 1, borrowernumber => $borrowernumber } ;
+ }
+ }
}
if ($extended) {
if ($ext_preserve) {
Userid [% e.userid | html %] is already used by another patron.
</li>
[% END %]
+ [% IF e.passwd_too_short %]
+ <li class="line_error">
+ Password is too short for patron with borrowernumber [% e.borrowernumber | html %]. Minimum length is [% e.min_length %], length is [% e.length %]
+ </li>
+ [% END %]
+ [% IF e.passwd_whitespace %]
+ <li class="line_error">
+ Password contains whitespace for patron with borrowernumber [% e.borrowernumber | html %].
+ </li>
+ [% END %]
+ [% IF e.passwd_too_weak %]
+ <li class="line_error">
+ Password is too weak for patron with borrowernumber [% e.borrowernumber | html %].
+ </li>
+ [% END %]
+ [% IF e.passwd_plugin_err %]
+ <li class="line_error">
+ Password plugin error for patron with borrowernumber [% e.borrowernumber | html %].
+ </li>
+ [% END %]
+ [% IF e.passwd_unknown_err %]
+ <li class="line_error">
+ Password error for patron with borrowernumber [% e.borrowernumber | html %].
+ </li>
+ [% END %]
[% END %]
</ul>
</div>