From 803ad5b022e0c469d27336bdcdfb4966f3f01960 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 3 Aug 2016 16:28:24 +0100 Subject: [PATCH] Bug 16996: Do not explode if mandatory fields are missing MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit At the OPAC, if a patron modify his/her information and at least 1 mandatory field is missing, Koha will crash with Template process failed: undef error - Can't call method "description" It is raised by Koha::Template::Plugin::Categories::GetName called with an undefined categorycode. The problem is that the values sent originaly are not sent back to the template if the user missed something. This patch makes that all info are resent to the template in order to show the same form to the user. Test plan: 0. Apply patch 1. Make sure that the categorycode is not hidden in the OPAC in: PatronSelfRegistrationBorrowerUnwantedField or PatronSelfModificationBorrowerUnwantedField 2. Add a required field in PatronSelfRegistrationBorrowerMandatoryField, for example email. 3. Go to Your Personal Details in the OPAC (opac-memberentry.pl) and leave blank the required field of point 2 4. Press "Submit update request" There should be no software error. NOTE: The warns will be floody on the logs. Signed-off-by: Mark Tompsett Signed-off-by: Marc Signed-off-by: Nick Clemens Signed-off-by: Kyle M Hall (cherry picked from commit 8c5cb134ee75aad77a9ba9b9fd84005fc0a9feb3) Signed-off-by: Frédéric Demians --- opac/opac-memberentry.pl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl index 8ccd3d754d..f8b0210cc8 100755 --- a/opac/opac-memberentry.pl +++ b/opac/opac-memberentry.pl @@ -186,6 +186,9 @@ elsif ( $action eq 'update' ) { CheckMandatoryFields( \%borrower_changes, $action ); my $invalidformfields = CheckForInvalidFields(\%borrower); + # Send back the data to the template + %borrower = ( %$borrower, %borrower ); + if (@empty_mandatory_fields || @$invalidformfields) { $template->param( empty_mandatory_fields => \@empty_mandatory_fields, -- 2.39.5