From 014d7afda863665dee5eabd4ddad0f20941379e6 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 4 Feb 2021 17:37:26 +0100 Subject: [PATCH] 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. --- opac/opac-memberentry.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl index c51a18eafa..8f105fb5e7 100755 --- a/opac/opac-memberentry.pl +++ b/opac/opac-memberentry.pl @@ -129,6 +129,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 ), CheckMandatoryAttributes( \%borrower, $attributes ) ); my $invalidformfields = CheckForInvalidFields(\%borrower); @@ -224,7 +225,6 @@ if ( $action eq 'create' ) { } ); - $borrower{categorycode} ||= C4::Context->preference('PatronSelfRegistrationDefaultCategory'); $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; -- 2.20.1