Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
[% ELSIF action == 'merge' %]
<h4>Results</h4>
[% IF error %]
- <div class="dialog alert">Merge failed! The following error was reported: [% error %].</div>
+ [% IF error == 'INVALID_KEEPER' %]
+ <div class="dialog alert">Merge failed! The patron to keep was invalid.</div>
+ [% ELSE %]
+ <div class="dialog alert">Merge failed! The following error was reported: [% error %].</div>
+ [% END %]
[% ELSIF !results.merged.keys.size %]
<div class="dialog alert">No valid patrons to merge were found.</div>
[% ELSE %]
[% END %]
[% END %]
- <a class="btn btn-default btn-sm" href="moremember.pl?borrowernumber=[% keeper.id %]">View patron record</a>
+ [% UNLESS error %]
+ <a class="btn btn-default btn-sm" href="moremember.pl?borrowernumber=[% keeper.id %]">View patron record</a>
+ [% END %]
[% END %]
</div>
</div>
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' );
}
}