From c49066640e9e747af29801cc7989636d542e750f Mon Sep 17 00:00:00 2001 From: boudet jean pascal <68547382+atm-jpb@users.noreply.github.com> Date: Tue, 28 Oct 2025 19:22:06 +0100 Subject: [PATCH] Previously, the function correctly returned the error code, but $this->errors (the error array of the main object, e.g., the invoice) was not updated. The end-user would see a generic failure message without knowing why closing the shipment failed (e.g., "Invalid status," "Stock not sufficient," etc.). (#35980) Co-authored-by: jpb --- .../triggers/interface_20_modWorkflow_WorkflowManager.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php index b09e881f007..ff94b0385b8 100644 --- a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php +++ b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php @@ -211,6 +211,7 @@ class InterfaceWorkflowManager extends DolibarrTriggers if (price2num($totalonlinkedelements, 'MT') == price2num($object->total_ht, 'MT')) { foreach ($object->linkedObjects['shipping'] as $element) { $ret = $element->setClosed(); + $this->errors = $element->errors; if ($ret < 0) { return (int) $ret; }