From ce39ac2aaada0be9945d386833ebace08fc7baac Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Thu, 13 Mar 2025 22:26:12 +0000 Subject: [PATCH] Bug 31698: Deal with priority --- Koha/Hold.pm | 13 ++++++++++++- .../prog/en/modules/reserve/request.tt | 4 +++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Koha/Hold.pm b/Koha/Hold.pm index 2368e0b53e4..f1db5b27a1a 100644 --- a/Koha/Hold.pm +++ b/Koha/Hold.pm @@ -201,10 +201,21 @@ sub move_hold_item { C4::Reserves::CanItemBeReserved( $patron, $new_item, $self->branchcode, { ignore_hold_counts => 1 } ); if ( $canReserve->{status} eq 'OK' ) { + + # Find the lowest priority among holds on this biblio + my $lowest_priority = Koha::Holds->search( + { biblionumber => $new_biblionumber }, + { order_by => { -desc => 'priority' }, rows => 1 } + )->next; + + # Set priority to the lowest + 1, or 1 if there are no others + my $new_priority = $lowest_priority ? $lowest_priority->priority + 1 : 1; + $self->update( { itemnumber => $new_item->itemnumber, - biblionumber => $new_item->biblionumber + biblionumber => $new_item->biblionumber, + priority => $new_priority, } ); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt index d00b7b18fa8..afc5d935288 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt @@ -1497,6 +1497,7 @@ Hold ID Original hold + Problem @@ -2027,8 +2028,9 @@ let reserve_biblionumber = $(this).data('biblionumber'); let reserve_itemnumber = $(this).data('itemnumber'); let item_level_hold = $(this).data('item_level_hold'); + let error_message = $(this).data('item_level_hold') ? "" : _("Cannot move a waiting or record level hold"); let found_status = $(this).data('found'); - $('#move_hold_item_selection table').append(`${reserve_id}Biblionumber: ${reserve_biblionumber} Itemnumber: ${reserve_itemnumber}`) + $('#move_hold_item_selection table').append(`${reserve_id}Biblionumber: ${reserve_biblionumber} Itemnumber: ${reserve_itemnumber}${error_message}`) if ( item_level_hold ) { $('#move_hold_item_form').append(``); } -- 2.39.5