Bug 22565: Do NOT replace all internalnote's on receive
authorMartin Renvoize <martin.renvoize@ptfs-europe.com>
Mon, 25 Mar 2019 10:49:15 +0000 (10:49 +0000)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Mon, 25 Mar 2019 15:07:49 +0000 (15:07 +0000)
Bug 21467 introduced a but whereby setting any order_internalnote on
receive one would end up setting all orders to have that internalnote.

This patch adds the missing WHERE clause to the database query which was
likely lost during a rebase?

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 9acf69f7a690a78bd09af7afbb28e4b32c493903)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

C4/Acquisition.pm

index bbfd0c1..66af0c6 100644 (file)
@@ -1455,8 +1455,12 @@ sub ModReceiveOrder {
         );
 
         if ( not $order->{subscriptionid} && defined $order->{order_internalnote} ) {
-            $dbh->do(q|UPDATE aqorders
-                SET order_internalnote = ?|, {}, $order->{order_internalnote});
+            $dbh->do(
+                q|UPDATE aqorders
+                SET order_internalnote = ?
+                WHERE ordernumber = ?|, {},
+                $order->{order_internalnote}, $order->{ordernumber}
+            );
         }
 
         # Recalculate tax_value