@@ -, +, @@ --- C4/AuthoritiesMarc.pm | 6 +++++- authorities/merge.pl | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) --- a/C4/AuthoritiesMarc.pm +++ a/C4/AuthoritiesMarc.pm @@ -1512,7 +1512,11 @@ sub merge { } }#foreach $marc - DelAuthority($mergefrom) if ($mergefrom != $mergeto); + if ( $mergefrom != $mergeto ) { + my $number_of_authorities_deleted = DelAuthority($mergefrom); + die "Authority $mergefrom has not been deleted" + if $number_of_authorities_deleted == 0; + } return @editedbiblios; } --- a/authorities/merge.pl +++ a/authorities/merge.pl @@ -63,15 +63,15 @@ if ($merge) { # Deleting the other record if ( scalar(@errors) == 0 ) { - my $error; if ($input->param('mergereference') eq 'breeding') { require C4::ImportBatch; C4::ImportBatch::SetImportRecordStatus( $recordid2, 'imported' ); } else { - C4::AuthoritiesMarc::merge( $recordid2, GetAuthority($recordid2), $recordid1, $record ); - $error = (DelAuthority($recordid2) == 0); + eval { + C4::AuthoritiesMarc::merge( $recordid2, GetAuthority($recordid2), $recordid1, $record ); + }; + push @errors, 1 if $@; } - push @errors, $error if ($error); } # Parameters --