From 54f277308e4a291c10463476b6f091df54fc15bd Mon Sep 17 00:00:00 2001 From: Erawat Chamanont Date: Mon, 11 Sep 2023 14:11:27 +0100 Subject: [PATCH] BTHAB-180: Only perform delete if id line item is not empty --- Civi/Api4/Action/CaseSalesOrder/SalesOrderSaveAction.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Civi/Api4/Action/CaseSalesOrder/SalesOrderSaveAction.php b/Civi/Api4/Action/CaseSalesOrder/SalesOrderSaveAction.php index df4dadade..f9661aebd 100644 --- a/Civi/Api4/Action/CaseSalesOrder/SalesOrderSaveAction.php +++ b/Civi/Api4/Action/CaseSalesOrder/SalesOrderSaveAction.php @@ -2,12 +2,12 @@ namespace Civi\Api4\Action\CaseSalesOrder; +use CRM_Civicase_BAO_CaseSalesOrder as CaseSalesOrderBAO; use CRM_Core_Transaction; -use Civi\Api4\Generic\Result; use Civi\Api4\CaseSalesOrderLine; +use Civi\Api4\Generic\Result; use Civi\Api4\Generic\AbstractSaveAction; use Civi\Api4\Generic\Traits\DAOActionTrait; -use CRM_Civicase_BAO_CaseSalesOrder as CaseSalesOrderBAO; /** * {@inheritDoc} @@ -87,6 +87,10 @@ public function removeStaleLineItems(array $salesOrder) { $lineItemsInUse = array_column($salesOrder['items'], 'id'); + if (empty($lineItemsInUse)) { + return; + } + CaseSalesOrderLine::delete() ->addWhere('sales_order_id', '=', $salesOrder['id']) ->addWhere('id', 'NOT IN', $lineItemsInUse)