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)