Bugzilla – Attachment 104261 Details for
Bug 23070
Use Koha::Hold in C4::Reserves::RevertWaitingStatus
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 23070: Use Koha::Hold in C4::Reserves::RevertWaitingStatus
Bug-23070-Use-KohaHold-in-C4ReservesRevertWaitingS.patch (text/plain), 2.50 KB, created by
Victor Grousset/tuxayo
on 2020-05-04 12:11:01 UTC
(
hide
)
Description:
Bug 23070: Use Koha::Hold in C4::Reserves::RevertWaitingStatus
Filename:
MIME Type:
Creator:
Victor Grousset/tuxayo
Created:
2020-05-04 12:11:01 UTC
Size:
2.50 KB
patch
obsolete
>From 04eee9c2d3cd71f96747b54ffb15195e5c813d24 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Thu, 6 Jun 2019 15:14:28 -0500 >Subject: [PATCH] Bug 23070: Use Koha::Hold in > C4::Reserves::RevertWaitingStatus > >We are using raw SQL statements, we should use Koha::Hold instead. > >This patch does not seem optimal, we would like to increment priority in >only 1 statement and without the need to fetch and loop all holds. > >== Test plan == >- apply patch >- place some holds on the same record >- check that the priorities look good >- mark one hold as waiting by doing a check-in >- revert the waiting status >- confirm that the priorities are recalculated correctly > >Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> >--- > C4/Reserves.pm | 34 ++++++++++++---------------------- > 1 file changed, 12 insertions(+), 22 deletions(-) > >diff --git a/C4/Reserves.pm b/C4/Reserves.pm >index 9c040bdc12..3ffb633331 100644 >--- a/C4/Reserves.pm >+++ b/C4/Reserves.pm >@@ -1984,31 +1984,21 @@ sub RevertWaitingStatus { > my $dbh = C4::Context->dbh; > > ## Get the waiting reserve we want to revert >- my $query = " >- SELECT * FROM reserves >- WHERE itemnumber = ? >- AND found IS NOT NULL >- "; >- my $sth = $dbh->prepare( $query ); >- $sth->execute( $itemnumber ); >- my $reserve = $sth->fetchrow_hashref(); >- >- my $hold = Koha::Holds->find( $reserve->{reserve_id} ); # TODO Remove the next raw SQL statements and use this instead >+ my $hold = Koha::Holds->search( >+ { >+ itemnumber => $itemnumber, >+ found => { not => undef }, >+ } >+ )->next; > > ## Increment the priority of all other non-waiting > ## reserves for this bib record >- $query = " >- UPDATE reserves >- SET >- priority = priority + 1 >- WHERE >- biblionumber = ? >- AND >- priority > 0 >- "; >- $sth = $dbh->prepare( $query ); >- $sth->execute( $reserve->{'biblionumber'} ); >+ my $holds = Koha::Holds->search({ biblionumber => $hold->biblionumber, priority => { '>' => 0 } }); >+ while ( my $h = $holds->next ) { >+ $h->priority( $h->priority + 1 )->store; >+ } > >+ ## Fix up the currently waiting reserve > $hold->set( > { > priority => 1, >@@ -2018,7 +2008,7 @@ sub RevertWaitingStatus { > } > )->store(); > >- _FixPriority( { biblionumber => $reserve->{biblionumber} } ); >+ _FixPriority( { biblionumber => $hold->biblionumber } ); > > return $hold; > } >-- >2.26.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 23070
:
90400
|
97976
|
97977
|
99168
|
99169
|
99170
|
103907
|
103908
|
103909
|
103910
|
104253
|
104261
|
104262
|
104263
|
104264
|
106556
|
106557
|
106558
|
106559