From b3d73c5c08fd65c4ad9c120720414f5f260e9288 Mon Sep 17 00:00:00 2001 From: John Doe Date: Tue, 10 Feb 2026 16:47:40 +0000 Subject: [PATCH] Bug 41552: Remove hold from holds queue when suspended --- Koha/Hold.pm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Koha/Hold.pm b/Koha/Hold.pm index d030282997b..68fef475f0a 100644 --- a/Koha/Hold.pm +++ b/Koha/Hold.pm @@ -126,6 +126,22 @@ sub suspend_hold { Koha::BackgroundJob::BatchUpdateBiblioHoldsQueue->new->enqueue( { biblio_ids => [ $self->biblionumber ] } ) if C4::Context->preference('RealTimeHoldsQueue'); + # Remove from holds queue if present + my $dbh = $self->_result->result_source->schema->storage->dbh; + $dbh->do( + q{ + DELETE q, t + FROM tmp_holdsqueue q + INNER JOIN hold_fill_targets t + ON q.borrowernumber = t.borrowernumber + AND q.biblionumber = t.biblionumber + AND q.itemnumber = t.itemnumber + AND q.item_level_request = t.item_level_request + AND q.holdingbranch = t.source_branchcode + WHERE t.reserve_id = ? + }, undef, $self->id + ); + return $self; } -- 2.50.1 (Apple Git-155)