From f5ea8e08bee3f9a2ebf3fb9950c69ce02a8a4828 Mon Sep 17 00:00:00 2001
From: Katrin Fischer <katrin.fischer@bsz-bw.de>
Date: Fri, 22 Sep 2023 16:22:47 +0000
Subject: [PATCH] Bug 34686: Write reserve_id to tmp_holdsqueue

To test:
* Apply patch
* Run database update, dbic, restart_all
* Activate RealTimeHoldsQueue
* Place a hold on an available item
* Verify the reserve_id is now showing in tmp_holdsqueue
  SELECT * from tmp_holdsqueue;
* Run misc/cronjobs/holds/build_holds_queue.pl --force
* Verify the tmp_holdqueue still has the reserve_id
* Turn off RealTimeHoldsQueue
* Place another hold on an available item
* Run misc/cronjobs/holds/build_holds_queue.pl
* Verify the reserve_id is in tmp_holdsqueue
---
 C4/HoldsQueue.pm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/C4/HoldsQueue.pm b/C4/HoldsQueue.pm
index 4b811627eb..bb06653d77 100644
--- a/C4/HoldsQueue.pm
+++ b/C4/HoldsQueue.pm
@@ -261,7 +261,7 @@ sub GetPendingHoldRequestsForBib {
 
     my $dbh = C4::Context->dbh;
 
-    my $request_query = "SELECT biblionumber, borrowernumber, itemnumber, priority, reserve_id, reserves.branchcode,
+    my $request_query = "SELECT reserve_id, biblionumber, borrowernumber, itemnumber, priority, reserve_id, reserves.branchcode,
                                 reservedate, reservenotes, borrowers.branchcode AS borrowerbranch, itemtype, item_level_hold, item_group_id
                          FROM reserves
                          JOIN borrowers USING (borrowernumber)
@@ -731,10 +731,10 @@ sub CreatePicklistFromItemMap {
     my $dbh = C4::Context->dbh;
 
     my $sth_load=$dbh->prepare("
-        INSERT INTO tmp_holdsqueue (biblionumber,itemnumber,barcode,surname,firstname,phone,borrowernumber,
+        INSERT INTO tmp_holdsqueue (reserve_id,biblionumber,itemnumber,barcode,surname,firstname,phone,borrowernumber,
                                     cardnumber,reservedate,title, itemcallnumber,
                                     holdingbranch,pickbranch,notes, item_level_request)
-        VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+        VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
     ");
 
     foreach my $itemnumber  (sort keys %$item_map) {
@@ -746,6 +746,7 @@ sub CreatePicklistFromItemMap {
         my $reservedate = $mapped_item->{reservedate};
         my $reservenotes = $mapped_item->{reservenotes};
         my $item_level = $mapped_item->{item_level};
+        my $reserve_id = $mapped_item->{reserve_id};
 
         my $item = Koha::Items->find($itemnumber);
         my $barcode = $item->barcode;
@@ -760,7 +761,7 @@ sub CreatePicklistFromItemMap {
         my $biblio = Koha::Biblios->find( $biblionumber );
         my $title = $biblio->title;
 
-        $sth_load->execute($biblionumber, $itemnumber, $barcode, $surname, $firstname, $phone, $borrowernumber,
+        $sth_load->execute($reserve_id, $biblionumber, $itemnumber, $barcode, $surname, $firstname, $phone, $borrowernumber,
                            $cardnumber, $reservedate, $title, $itemcallnumber,
                            $holdingbranch, $pickbranch, $reservenotes, $item_level);
     }
-- 
2.30.2