@@ -, +, @@ --- 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(-) --- a/C4/Reserves.pm +++ a/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; + } } } --- a/Koha/Hold.pm +++ a/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 ] --- a/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc +++ a/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 -%] --