From cc0be635dc38a722931dde3a2f4c5757cecb06af Mon Sep 17 00:00:00 2001 From: bagtaib Date: Thu, 23 Jun 2022 15:37:37 +0200 Subject: [PATCH] removed the new option and enhanced the old one --- htdocs/admin/workflow.php | 6 --- ...e_20_modWorkflow_WorkflowManager.class.php | 39 ++++++++++--------- htdocs/langs/en_US/orders.lang | 1 + htdocs/langs/en_US/workflow.lang | 1 - 4 files changed, 21 insertions(+), 26 deletions(-) diff --git a/htdocs/admin/workflow.php b/htdocs/admin/workflow.php index 4c7339f8520..47e6e87a244 100644 --- a/htdocs/admin/workflow.php +++ b/htdocs/admin/workflow.php @@ -65,12 +65,6 @@ $workflowcodes = array( 'enabled'=>(!empty($conf->propal->enabled) && !empty($conf->commande->enabled)), 'picto'=>'order' ), - 'WORKFLOW_PROPAL_NOTCREATE_ORDER_IFEXISTS'=>array( - 'family'=>'create', - 'position'=>15, - 'enabled'=>(!empty($conf->propal->enabled) && !empty($conf->commande->enabled)), - 'picto'=>'order' - ), 'WORKFLOW_ORDER_AUTOCREATE_INVOICE'=>array( 'family'=>'create', 'position'=>20, diff --git a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php index 5dc95a0679e..b04be51379d 100644 --- a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php +++ b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php @@ -72,27 +72,28 @@ class InterfaceWorkflowManager extends DolibarrTriggers if ($action == 'PROPAL_CLOSE_SIGNED') { dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); if (!empty($conf->commande->enabled) && !empty($conf->global->WORKFLOW_PROPAL_AUTOCREATE_ORDER)) { - include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; - $newobject = new Commande($this->db); - - $newobject->context['createfrompropal'] = 'createfrompropal'; - $newobject->context['origin'] = $object->element; - $newobject->context['origin_id'] = $object->id; - - $ret = $newobject->createFromProposal($object, $user); - if ($ret < 0) { - $this->error = $newobject->error; - $this->errors[] = $newobject->error; - } - return $ret; - } - if (!empty($conf->global->WORKFLOW_PROPAL_NOTCREATE_ORDER_IFEXISTS)) { $object->fetchObjectLinked(); - if (!empty($object->linkedObjectsIds['commande'])) + if (!empty($object->linkedObjectsIds['commande'])){ + setEventMessages($langs->trans("OrderExists"), null, 'warnings'); return $ret; - } - } - + } + else { + include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; + $newobject = new Commande($this->db); + + $newobject->context['createfrompropal'] = 'createfrompropal'; + $newobject->context['origin'] = $object->element; + $newobject->context['origin_id'] = $object->id; + + $ret = $newobject->createFromProposal($object, $user); + if ($ret < 0) { + $this->error = $newobject->error; + $this->errors[] = $newobject->error; + } + return $ret; + } + } + } // Order to invoice if ($action == 'ORDER_CLOSE') { diff --git a/htdocs/langs/en_US/orders.lang b/htdocs/langs/en_US/orders.lang index a4261f8e62c..aa7dd934ede 100644 --- a/htdocs/langs/en_US/orders.lang +++ b/htdocs/langs/en_US/orders.lang @@ -1,4 +1,5 @@ # Dolibarr language file - Source file is en_US - orders +OrderExists=An order was already open linked to this proposal, so no other order was created automatically OrdersArea=Customers orders area SuppliersOrdersArea=Purchase orders area OrderCard=Order card diff --git a/htdocs/langs/en_US/workflow.lang b/htdocs/langs/en_US/workflow.lang index 15c8b75d3ed..803a31c9646 100644 --- a/htdocs/langs/en_US/workflow.lang +++ b/htdocs/langs/en_US/workflow.lang @@ -3,7 +3,6 @@ WorkflowSetup=Workflow module setup WorkflowDesc=This module provides some automatic actions. By default, the workflow is open (you can do things in the order you want) but here you can activate some automatic actions. ThereIsNoWorkflowToModify=There is no workflow modifications available with the activated modules. # Autocreate -descWORKFLOW_PROPAL_NOTCREATE_ORDER_IFEXISTS=Do not Automatically create a sales order after a commercial proposal is signed if it already exists descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a sales order after a commercial proposal is signed (the new order will have same amount as the proposal) descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Automatically create a customer invoice after a commercial proposal is signed (the new invoice will have same amount as the proposal) descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Automatically create a customer invoice after a contract is validated