From 977349ce0ddf1a2227b1de0b8e3d2575e6cf4ac7 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 --- members/merge-patrons.pl | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/members/merge-patrons.pl b/members/merge-patrons.pl index cb10f2fcbb..2f88a66f8e 100755 --- a/members/merge-patrons.pl +++ b/members/merge-patrons.pl @@ -40,6 +40,52 @@ 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 $name = $cgi->param('name'); +my @fields = qw( + 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 ($name) { + my @names = split( ', ', $name ); + $data{'firstname'} = $names[0]; + $data{'surname'} = $names[1]; +} + if ( $op eq 'show' ) { my $patrons = Koha::Patrons->search( { borrowernumber => { -in => \@ids } } ); $template->param( patrons => $patrons ); @@ -56,6 +102,9 @@ if ( $op eq 'show' ) { keeper => $keeper, results => $results ); + if ($copy) { + $keeper->set( \%data )->store(); + } } catch { $template->param( error => $_ ); } -- 2.39.5