From 6568a54721587ed3c9de3a6f1506c345b3f60f2b Mon Sep 17 00:00:00 2001 From: Petro Vashchuk Date: Tue, 28 Jul 2020 18:22:50 +0300 Subject: [PATCH] Bug 25946: borrowerRelationship can be empty When borrowerRelationship is empty in system preferences, Relationship dropdown is not required and we accept empty value. Also fixes bug that didn't let you to pick empty value even when you specified that it should be possible in system preferences but in the end of the string (i.e. "|father|mother" worked, but "father|mother|" don't). To reproduce (borrowerRelationship can be empty): 1) Go to system preferences and make borrowerRelationship empty. 2) Create a new patron who is assumed to have a guarantor or modify the existing one. 3) Under "Guarantor Information" click on "Search to add" button. After performing the search, select a user to act as guarantor. Try to save your changes. 4) Observe that relationship field is required in order to save but you can't actually choose anything as it doesn't contain anything. 5) Apply the patch. 6) Repeat steps above. 7) Observe that it allows you to save the form now. To reproduce (can't choose empty value bug): 1) Go to system preferences and set borrowerRelationship exactly to "father|mother|". 2) Create a new patron who is assumed to have a guarantor or modify the existing one. 3) Under "Guarantor Information" click on "Search to add" button. After performing the search, select a user to act as guarantor. 4) Observe that there's no option to leave relationship field empty. 5) Apply the patch. 6) Repeat steps above. 7) Observe that it has empty option that you can choose and save the form. Mentored-by: Andrew Nugged --- members/memberentry.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/members/memberentry.pl b/members/memberentry.pl index 985a96446c..c6a6ec9ba7 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -107,7 +107,8 @@ my @messages; ## Deal with guarantor stuff $template->param( relationships => scalar $patron->guarantor_relationships ) if $patron; -my @relations = split /,|\|/, C4::Context->preference('borrowerRelationship'); +my @relations = split /,|\|/, C4::Context->preference('borrowerRelationship'), -1; +@relations = ('') unless @relations; my $empty_relationship_allowed = grep {$_ eq ""} @relations; $template->param( empty_relationship_allowed => $empty_relationship_allowed ); -- 2.17.1