@@ -, +, @@ relationship column" --- Koha/Patron.pm | 4 ++++ about.pl | 4 ++++ koha-tmpl/intranet-tmpl/prog/en/columns.def | 1 + koha-tmpl/intranet-tmpl/prog/en/modules/about.tt | 4 ++-- t/db_dependent/Koha/Patrons.t | 6 +++++- 5 files changed, 16 insertions(+), 3 deletions(-) --- a/Koha/Patron.pm +++ a/Koha/Patron.pm @@ -202,6 +202,10 @@ sub store { $self->surname( uc($self->surname) ) if C4::Context->preference("uppercasesurnames"); + $self->relationship(undef) # We do not want to store an empty string in this field + if defined $self->relationship + and $self->relationship eq ""; + unless ( $self->in_storage ) { #AddMember # Generate a valid userid/login if needed --- a/about.pl +++ a/about.pl @@ -499,6 +499,8 @@ $template->param( 'bad_yaml_prefs' => \@bad_yaml_prefs ) if @bad_yaml_prefs; SELECT COUNT(*) FROM ( SELECT relationship FROM borrower_relationships WHERE relationship='_bad_data' + UNION ALL + SELECT relationship FROM borrowers WHERE relationship='_bad_data') a }); $bad_relationships_count = $bad_relationships_count->[0]->[0]; @@ -507,6 +509,8 @@ $template->param( 'bad_yaml_prefs' => \@bad_yaml_prefs ) if @bad_yaml_prefs; SELECT DISTINCT(relationship) FROM ( SELECT relationship FROM borrower_relationships WHERE relationship IS NOT NULL + UNION ALL + SELECT relationship FROM borrowers WHERE relationship IS NOT NULL) a }); my %valid_relationships = map { $_ => 1 } split( /,|\|/, C4::Context->preference('borrowerRelationship') ); --- a/koha-tmpl/intranet-tmpl/prog/en/columns.def +++ a/koha-tmpl/intranet-tmpl/prog/en/columns.def @@ -6,6 +6,7 @@ Initials Other name Gender +Relationship Street number Street type Address --- a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt @@ -263,7 +263,7 @@ [% IF warnRelationships %]

Patron relationship problems

[% IF bad_relationships_count %] -

Your database contained guarantee/guarantor pairs with no defined relationship. They have been set the value '_bad_data' in the [% "borrower_relationships.relationship" | $HtmlTags tag="strong" %] column. Fix them manually by recreating those relationships, or have your system's administrator correct the values.

+

Your database contained guarantee/guarantor pairs with no defined relationship. They have been set the value '_bad_data' in the [% "borrowers.relationship" | $HtmlTags tag="strong" %] and/or [% "borrower_relationships.relationship" | $HtmlTags tag="strong" %] columns. Fix them manually by recreating those relationships, or have your system's administrator correct the values.

[% END %] [% IF wrong_relationships %] @@ -273,7 +273,7 @@
  • [% rel.0 | html %]
  • [% END %] -

    If the relationship is one you want, please add it to the 'borrowerRelationship' system preference, otherwise have your system's administrator correct the values in [% "borrower_relationships.relationship" | $HtmlTags tag="strong" %] in the database.

    +

    If the relationship is one you want, please add it to the 'borrowerRelationship' system preference, otherwise have your system's administrator correct the values in [% "borrowers.relationship" | $HtmlTags tag="strong" %] and/or [% "borrower_relationships.relationship" | $HtmlTags tag="strong" %] in the database.

    [% END %] [% END %] --- a/t/db_dependent/Koha/Patrons.t +++ a/t/db_dependent/Koha/Patrons.t @@ -1774,7 +1774,7 @@ subtest 'Test Koha::Patrons::merge' => sub { }; subtest '->store' => sub { - plan tests => 6; + plan tests => 7; my $schema = Koha::Database->new->schema; $schema->storage->txn_begin; @@ -1813,6 +1813,10 @@ subtest '->store' => sub { is( $patron_1->surname, $surname, 'Surname remains unchanged on store.'); + # Test relationship + $patron_1->relationship("")->store; + is( $patron_1->relationship, undef, ); + $schema->storage->dbh->{PrintError} = $print_error; $schema->storage->txn_rollback; --