Browse Source

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 <nugged@gmail.com>

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
21.05.x
Petro Vashchuk 3 years ago
committed by Jonathan Druart
parent
commit
d0cc5fa97a
  1. 3
      Koha/Patron/Relationship.pm
  2. 3
      members/memberentry.pl

3
Koha/Patron/Relationship.pm

@ -48,7 +48,8 @@ Overloaded method that makes some checks before storing on the DB
sub store {
my ( $self ) = @_;
my @valid_relationships = split /\|/, C4::Context->preference('borrowerRelationship');
my @valid_relationships = split /\|/, C4::Context->preference('borrowerRelationship'), -1;
@valid_relationships = ('') unless @valid_relationships;
Koha::Exceptions::Patron::Relationship::InvalidRelationship->throw(
no_relationship => 1 )

3
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 );

Loading…
Cancel
Save