From 08aa52c8315c7bec6df9800101c61591892d07dd Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Fri, 3 Apr 2020 08:55:45 +0000 Subject: [PATCH] Bug 22437: Delete older merge requests at new merge time If you merge A to B, we should remove older AA merges (regular merge to itself) in the queue before deleting A. Test plan: [1] Set merge limit in prefs to say X. [2] Find three authorities A, B, C with linkcount >X, >X, Signed-off-by: Phil Ringnalda Signed-off-by: Jonathan Druart Signed-off-by: Martin Renvoize Signed-off-by: Joy Nelson --- authorities/merge.pl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/authorities/merge.pl b/authorities/merge.pl index 57635749ea..f1cdd02cd5 100755 --- a/authorities/merge.pl +++ b/authorities/merge.pl @@ -25,6 +25,7 @@ use C4::AuthoritiesMarc; use C4::Koha; use C4::Biblio; +use Koha::Authority::MergeRequests; use Koha::Authority::Types; use Koha::MetadataRecord::Authority; @@ -84,6 +85,9 @@ if ($merge) { # Delete the other record. Do not merge. It is unneeded and could under # special circumstances have unwanted side-effects. + # Remove older pending merge requests for $recordid2 to itself. The above merge did the job already or will do. (See bug 22437) + my $condition = { authid => $recordid2, authid_new => [undef, 0, $recordid2], done => 0 }; + Koha::Authority::MergeRequests->search($condition)->delete; DelAuthority({ authid => $recordid2, skip_merge => 1 }); # Parameters -- 2.39.5