From c6900591e833a2bd2bc0f13d0258d2e93fff9480 Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Tue, 22 Sep 2015 09:49:39 +0200 Subject: [PATCH] Bug 14867 - userid not generated when defined in BorrowerUnwantedField When userid is not provided when creating a new patron, it is generated using surname and firstname. The bug is when userid is defined in syspref BorrowerUnwantedField, the input text is missing in patron creation form. When saving you always get an alert message : "Username/password already exists". No patron can be created. This patch corrects by adding this case to userid generation conditions. Test plan : - add 'userid' in syspref BorrowerUnwantedField - try to create a new patron : /cgi-bin/koha/members/memberentry.pl - there is not input text for userid - choose non-existing surname and firstname - click on save => Without patch : patron is not created, you see the alert message "Username/password already exists" => With patch : patron is created, userid is generated with surname and firstname - remove 'userid' in syspref BorrowerUnwantedField and check it can be defined in patron creation form --- members/memberentry.pl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/members/memberentry.pl b/members/memberentry.pl index 5841022..8448ba0 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -262,8 +262,9 @@ $newdata{'city'} = $input->param('city') if defined($input->param('city')) $newdata{'zipcode'} = $input->param('zipcode') if defined($input->param('zipcode')); $newdata{'country'} = $input->param('country') if defined($input->param('country')); -#builds default userid -if ( (defined $newdata{'userid'}) && ($newdata{'userid'} eq '')){ +# builds default userid +# userid input text may be empty or missing because of syspref BorrowerUnwantedField +if ( ( defined $newdata{'userid'} && $newdata{'userid'} eq '' ) || $check_BorrowerUnwantedField =~ /userid/ ) { if ( ( defined $newdata{'firstname'} ) && ( defined $newdata{'surname'} ) ) { # Full page edit, firstname and surname input zones are present $newdata{'userid'} = Generate_Userid( $borrowernumber, $newdata{'firstname'}, $newdata{'surname'} ); -- 2.1.0