From 143b01dfa4771a63b9047f8dc294330064da7e2b Mon Sep 17 00:00:00 2001 From: Brendan Lawlor Date: Fri, 12 Sep 2025 12:20:59 +0000 Subject: [PATCH] Bug 30303: Copy values to keeper record when merging patrons Signed-off-by: Lari Taskula Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass --- members/merge-patrons.pl | 44 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/members/merge-patrons.pl b/members/merge-patrons.pl index dce1e5e94c..4e5e0a7474 100755 --- a/members/merge-patrons.pl +++ b/members/merge-patrons.pl @@ -40,6 +40,47 @@ my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user( my $op = $cgi->param('op') || 'show'; my @ids = $cgi->multi_param('id'); +my $copy = $cgi->param('copy'); +my @fields = qw( + surname + firstname + preferred_name + initials + othernames + branchcode + cardnumber + categorycode + address + address2 + city + state + zipcode + country + dateenrolled + date_renewed + dateexpiry + dateofbirth + debarred + email + emailpro + phone + phonepro + mobile + sex + updated_on + userid +); + +my %data; + +for my $field (@fields) { + my $val = $cgi->param($field); + + if ( defined $val ) { + $data{$field} = $val; + } +} + if ( $op eq 'show' ) { my $patrons = Koha::Patrons->search( { borrowernumber => { -in => \@ids } } ); $template->param( patrons => $patrons ); @@ -56,6 +97,9 @@ if ( $op eq 'show' ) { keeper => $keeper, results => $results ); + if ( $copy && $results ) { + $keeper->set( \%data )->store(); + } } catch { $template->param( error => $_ ); }