From 3c2ac414b2d5d2c42eb8b13cd1f2177adf97e07e Mon Sep 17 00:00:00 2001 From: Ayoub Glizi-Vicioso Date: Mon, 9 Mar 2026 16:42:02 -0400 Subject: [PATCH] Bug 41780: (Follow-up) Ensure firstname is used if preferred name is missing in patron import --- Koha/Patron.pm | 31 ------------------- .../prog/en/includes/patron-title.inc | 10 +++--- 2 files changed, 5 insertions(+), 36 deletions(-) diff --git a/Koha/Patron.pm b/Koha/Patron.pm index 9c94cf1710..7fcc5decde 100644 --- a/Koha/Patron.pm +++ b/Koha/Patron.pm @@ -196,37 +196,6 @@ sub plain_text_password { return; } -sub preferred_name { - - my ( $self ) = @_; - - my $val = $self->_result->preferred_name; - - return $self->{_cached_preferred_name} if exists $self->{_cached_preferred_name}; - - if ( !defined $val || $val =~ /^\s*$/ ) { - my $fname = $self->firstname; - if ( defined $fname && $fname ne '' ) { - - return $fname if (!$self->in_storage || $self->_result->is_changed); - - eval { - $self->_result->update({ preferred_name => $fname }); - $self->_result->discard_changes; - }; - - if ($@) { - warn "Non-fatal: Could not auto-sync preferred_name for patron " . $self->borrowernumber . ": $@"; - } - - return $fname; - } - } - - $self->{_cached_preferred_name} = $val; - return $val; -} - =head3 store Patron specific store method to cleanup record diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-title.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-title.inc index 0796a36104..fae1b4fc90 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-title.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-title.inc @@ -7,7 +7,7 @@ [%- SET data.surname = patron.surname -%] [%- SET data.othernames = patron.othernames -%] [%- SET data.firstname = patron.firstname -%] - [%- SET data.preferred_name = patron.preferred_name -%] + [%- SET data.preferred_name = patron.preferred_name || patron.firstname -%] [%- SET data.middle_name = patron.middle_name -%] [%- SET data.cardnumber = patron.cardnumber -%] [%- SET data.borrowernumber = patron.borrowernumber -%] @@ -17,7 +17,7 @@ [%- SET data.surname = borrower.surname -%] [%- SET data.othernames = borrower.othernames -%] [%- SET data.firstname = borrower.firstname -%] - [%- SET data.preferred_name = borrower.preferred_name -%] + [%- SET data.preferred_name = borrower.preferred_name || borrower.firstname -%] [%- SET data.middle_name = borrower.middle_name -%] [%- SET data.cardnumber = borrower.cardnumber -%] [%- SET data.borrowernumber = borrower.borrowernumber -%] @@ -27,7 +27,7 @@ [%- SET data.surname = surname -%] [%- SET data.othernames = othernames -%] [%- SET data.firstname = firstname -%] - [%- SET data.preferred_name = preferred_name -%] + [%- SET data.preferred_name = preferred_name || firstname -%] [%- SET data.middle_name = middle_name -%] [%- SET data.cardnumber = cardnumber -%] [%- SET data.borrowernumber = borrowernumber -%] @@ -77,8 +77,8 @@ [%- END -%] [%- ELSE -%] [%- IF (data.title) %][%- WRAPPER maybe_span field_name='patron_title' -%][%- data.title _ ' ' | html -%][%- END -%][%- END -%] - [%- IF ( patron.preferred_name ) -%] - [%- WRAPPER maybe_span field_name='preferred_name' -%][%- patron.preferred_name | html %][%- END -%] + [%- IF ( data.preferred_name ) -%] + [%- WRAPPER maybe_span field_name='preferred_name' -%][%- data.preferred_name | html %][%- END -%] [%- ELSIF ( data.firstname ) -%] [%- WRAPPER maybe_span field_name = 'firstname' -%][%- data.firstname | html -%][%- END -%] [%- END -%] -- 2.53.0