From 891307f29be27113475b1605a558799ab9874c01 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 --- authorities/merge.pl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/authorities/merge.pl b/authorities/merge.pl index 80c3640dc1..5b8c4fb260 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