From 5aed2badda0aa2643dbec9fb0d1c43a8f3603fc9 Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Thu, 13 Mar 2025 23:29:39 +0000 Subject: [PATCH] Bug 31698: Improve priority --- Koha/Hold.pm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Koha/Hold.pm b/Koha/Hold.pm index f1db5b27a1a..54056435ac3 100644 --- a/Koha/Hold.pm +++ b/Koha/Hold.pm @@ -187,9 +187,10 @@ $hold->move_hold_item(); sub move_hold_item { my ( $self, $args ) = @_; - my $new_itemnumber = $args->{new_itemnumber}; - my $new_biblionumber = $args->{new_biblionumber}; - my $original = $self; + my $new_itemnumber = $args->{new_itemnumber}; + my $new_biblionumber = $args->{new_biblionumber}; + my $original = $self; + my $original_biblionumber = $self->biblionumber; my $patron = Koha::Patrons->find( { borrowernumber => $self->borrowernumber } ); my $new_item = Koha::Items->find( { itemnumber => $new_itemnumber } ); @@ -202,14 +203,14 @@ sub move_hold_item { if ( $canReserve->{status} eq 'OK' ) { - # Find the lowest priority among holds on this biblio - my $lowest_priority = Koha::Holds->search( + # Find the highest priority among holds on the new item + my $highest_new_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; + my $max_new_priority = $highest_new_priority ? $highest_new_priority->priority : 0; + my $new_priority = $max_new_priority + 1; $self->update( { -- 2.39.5