From 73bdcb14addf08a5d5a4c6bf9e825aa5b4a5ae0d Mon Sep 17 00:00:00 2001 From: Aleisha Amohia Date: Fri, 3 Dec 2021 15:31:06 +1300 Subject: [PATCH] Bug 15516: (follow-up) Prevent cancelling unintended holds And a fix for consistent TT code Signed-off-by: Michal Denar --- C4/Reserves.pm | 10 ++++++---- Koha/Hold.pm | 10 ++++++---- koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc | 4 ++-- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index de0c1a67cd..9ef16a0f6c 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -1254,10 +1254,12 @@ sub ModReserveAffect { $transfer->receive if $transfer; # if this hold was part of a group, cancel other holds in the group - my @holds = Koha::Holds->search({ hold_group_id => $hold->hold_group_id }); - foreach my $h ( @holds ) { - push @reserve_ids, $h->reserve_id; - $h->cancel unless $h->reserve_id == $hold->reserve_id; + if ( $hold->hold_group_id ) { + my @holds = Koha::Holds->search({ hold_group_id => $hold->hold_group_id }); + foreach my $h ( @holds ) { + push @reserve_ids, $h->reserve_id; + $h->cancel unless $h->reserve_id == $hold->reserve_id; + } } } diff --git a/Koha/Hold.pm b/Koha/Hold.pm index e69ca9a06f..5cd67415f0 100644 --- a/Koha/Hold.pm +++ b/Koha/Hold.pm @@ -798,11 +798,13 @@ sub fill { if C4::Context->preference('HoldsLog'); # if this hold was part of a group, cancel other holds in the group - my @holds = Koha::Holds->search({ hold_group_id => $hold->hold_group_id }); - foreach my $h ( @holds ) { - $h->cancel unless $h->reserve_id == $hold->reserve_id; - + if ( $hold->hold_group_id ) { + my @holds = Koha::Holds->search({ hold_group_id => $hold->hold_group_id }); + foreach my $h ( @holds ) { + $h->cancel unless $h->reserve_id == $hold->reserve_id; + } } + Koha::BackgroundJob::BatchUpdateBiblioHoldsQueue->new->enqueue( { biblio_ids => [ $old_me->biblionumber ] diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc index c19e09394a..a17b68bc3c 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc @@ -186,9 +186,9 @@ [%- IF hold.non_priority -%]
Non priority hold [%- END -%] - [% IF hold.hold_group_id %] + [%- IF hold.hold_group_id -%]
(part of a hold group)
- [% END %] + [%- END -%] [%- IF ( CAN_user_reserveforothers_modify_holds_priority ) -%] [%- UNLESS hold.found -%] -- 2.11.0