From adcfd083f033fd6f659414b55634d472109a456f Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Thu, 13 Mar 2025 21:35:32 +0000 Subject: [PATCH] Bug 31698: Report errors and failures back to request.tt --- Koha/Hold.pm | 15 +++- .../prog/en/includes/holds_table.inc | 10 ++- .../prog/en/modules/reserve/request.tt | 85 ++++++++++++++++--- reserve/request.pl | 23 +++-- 4 files changed, 114 insertions(+), 19 deletions(-) diff --git a/Koha/Hold.pm b/Koha/Hold.pm index 2368e0b53e4..392cda0e234 100644 --- a/Koha/Hold.pm +++ b/Koha/Hold.pm @@ -189,7 +189,9 @@ sub move_hold_item { my $new_itemnumber = $args->{new_itemnumber}; my $new_biblionumber = $args->{new_biblionumber}; - my $original = $self; + + 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 } ); @@ -201,10 +203,19 @@ sub move_hold_item { C4::Reserves::CanItemBeReserved( $patron, $new_item, $self->branchcode, { ignore_hold_counts => 1 } ); if ( $canReserve->{status} eq 'OK' ) { + my $max = Koha::Holds->search( + { biblionumber => $new_biblionumber }, + { order_by => { -desc => 'priority' }, rows => 1 } + )->next; + my $base_priority = $max ? $max->priority : 0; + my $priority = $base_priority + 1; + my $new_priority = C4::Reserves::_ShiftPriority( $new_biblionumber, $priority ); + $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/includes/holds_table.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc index 2d65e83dc1f..0d26304999e 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc @@ -49,7 +49,15 @@ [%- END -%] [% SET tr_class = hold.suspend ? 'suspend' : '' %] - + 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 03e0b966edb..697f7c02e72 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt @@ -174,6 +174,60 @@ [% END %] + [% IF ( hold_move_successes ) %] +
+

Moved the following holds:

+ +
+ [% END %] + [% IF ( hold_move_failures ) %] +
+ One or more holds were not moved due to following errors: + +
+ [% END %] + [% IF ( failed_holds ) %]
One or more holds were not placed due to following errors: @@ -1437,12 +1491,13 @@