@@ -, +, @@
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 @@
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 @@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; --