From 74ae74d5faec9a4ba4fbf573b4a81b1274402773 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. Signed-off-by: Owen Leonard Signed-off-by: Martin Renvoize Signed-off-by: Jonathan Druart --- 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 c43b4f7640..9ca03ef3dd 100755 --- a/opac/opac-memberentry.pl +++ b/opac/opac-memberentry.pl @@ -124,6 +124,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); @@ -219,7 +220,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.39.5