@@ -, +, @@ --- .../prog/en/modules/members/merge-patrons.tt | 10 +++++++-- members/merge-patrons.pl | 25 +++++++++++++--------- 2 files changed, 23 insertions(+), 12 deletions(-) --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/merge-patrons.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/merge-patrons.tt @@ -95,7 +95,11 @@ [% ELSIF action == 'merge' %]

Results

[% IF error %] -
Merge failed! The following error was reported: [% error %].
+ [% IF error == 'INVALID_KEEPER' %] +
Merge failed! The patron to keep was invalid.
+ [% ELSE %] +
Merge failed! The following error was reported: [% error %].
+ [% END %] [% ELSIF !results.merged.keys.size %]
No valid patrons to merge were found.
[% ELSE %] @@ -123,7 +127,9 @@ [% END %] [% END %] - View patron record + [% UNLESS error %] + View patron record + [% END %] [% END %] --- a/members/merge-patrons.pl +++ a/members/merge-patrons.pl @@ -48,16 +48,21 @@ if ( $action eq 'show' ) { my $keeper_id = $cgi->param('keeper'); my $results; - try { - my $keeper = Koha::Patrons->find( $keeper_id ); - $results = $keeper->merge_with( \@ids ); - $template->param( - keeper => $keeper, - results => $results - ); - } - catch { - $template->param( error => $_ ); + my $keeper = Koha::Patrons->find( $keeper_id ); + + if ( $keeper ) { + try { + $results = $keeper->merge_with( \@ids ); + $template->param( + keeper => $keeper, + results => $results + ); + } + catch { + $template->param( error => $_ ); + } + } else { + $template->param( error => 'INVALID_KEEPER' ); } } --