@@ -, +, @@
---
.../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' );
}
}
--