Bug 27626: Fix self registration if categorycode is hidden and PatronSelfRegistrationVerifyByEmail
If categorycode is selected in PatronSelfRegistrationBorrowerUnwantedField and PatronSelfRegistrationVerifyByEmail is turned on, the patron self registration fails with [You must provide a patron's category to validate password's strength and length] at /usr/share/perl5/Exception/Class/Base.pm line 88 Test plan: 0. Select categorycode in PatronSelfRegistrationBorrowerUnwantedField and turn on PatronSelfRegistrationVerifyByEmail 1. Self register a patron 2. Confirm that it works as expected with this patch applied. Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> (cherry picked from commit74ae74d5fa) Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com> (cherry picked from commit2b021df3e2) Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
This commit is contained in:
parent
2fcda64855
commit
4dac16fd36
|
|
@ -120,6 +120,7 @@ if ( $action eq 'create' ) {
|
|||
my %borrower = ParseCgiForBorrower($cgi);
|
||||
|
||||
%borrower = DelEmptyFields(%borrower);
|
||||
$borrower{categorycode} ||= C4::Context->preference('PatronSelfRegistrationDefaultCategory');
|
||||
|
||||
my @empty_mandatory_fields = CheckMandatoryFields( \%borrower, $action );
|
||||
my $invalidformfields = CheckForInvalidFields(\%borrower);
|
||||
|
|
@ -215,8 +216,7 @@ if ( $action eq 'create' ) {
|
|||
}
|
||||
);
|
||||
|
||||
$borrower{categorycode} ||= C4::Context->preference('PatronSelfRegistrationDefaultCategory');
|
||||
$borrower{password} ||= Koha::AuthUtils::generate_password;
|
||||
$borrower{password} ||= Koha::AuthUtils::generate_password(Koha::Patron::Categories->find($borrower{categorycode}));
|
||||
my $consent_dt = delete $borrower{gdpr_proc_consent};
|
||||
my $patron = Koha::Patron->new( \%borrower )->store;
|
||||
Koha::Patron::Consent->new({ borrowernumber => $patron->borrowernumber, type => 'GDPR_PROCESSING', given_on => $consent_dt })->store if $consent_dt;
|
||||
|
|
|
|||
Loading…
Reference in New Issue