From ca0761051d17b37d95c935a8c10165196bb5e47c Mon Sep 17 00:00:00 2001
From: Nick Clemens <nick@bywatersolutions.com>
Date: Mon, 4 Dec 2023 14:05:43 +0000
Subject: [PATCH] Bug 27595: Place holds when ordering from a suggestion

This patch updates the ordering code to place a hold when adding to a basket from a
suggestion if the new preference PlaceHoldsOnOrdersFromSuggestions is enabled.

To test:
1 - Apply all patches
2 - updatedatabase
3 - See new system preference PlaceHoldsOnOrdersFromSuggestions
4 - Create a new purchase suggestion, mark it accepted
5 - Go to acquisitions, find a vendor, find a basket, 'Add to basket' -> 'From a suggestion'
6 - Complete order, confirm no hold was placed
7 - Enable the new system preference
8 - Repeast 4-6
9 - Confirm a hold was placed

Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
---
 acqui/addorder.pl | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/acqui/addorder.pl b/acqui/addorder.pl
index d29db568d5d..2fc99b66ebe 100755
--- a/acqui/addorder.pl
+++ b/acqui/addorder.pl
@@ -343,6 +343,12 @@ if ( $op eq 'cud-order' ) {
                     STATUS       => 'ORDERED',
                 }
             );
+            if ( C4::Context->preference('PlaceHoldsOnOrdersFromSuggestions') ) {
+                my $suggestion = Koha::Suggestions->find($suggestionid);
+                if ($suggestion) {
+                    $suggestion->place_hold();
+                }
+            }
         }
 
         $orderinfo->{unitprice} = $orderinfo->{ecost}
-- 
2.30.2