diff --git a/htdocs/admin/workflow.php b/htdocs/admin/workflow.php index 3a660ee7f08..17d1f1236d5 100755 --- a/htdocs/admin/workflow.php +++ b/htdocs/admin/workflow.php @@ -76,78 +76,52 @@ print "\n"; clearstatcache(); -$workflowcodes=array(); -$workflow=array( - 'propal' => array( - 'order' => array('WORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL') - ), - 'order' => array( - 'propal' => array('WORKFLOW_PROPAL_AUTOCREATE_ORDER') - ,'invoice' => array('WORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER') - ), - 'invoice' => array ( - 'order' => array('WORKFLOW_ORDER_AUTOCREATE_INVOICE') - //,'contract' => array('WORKFLOW_CONTRACT_AUTOCREATE_INVOICE') - //, 'propal' => array('WORKFLOW_PROPAL_AUTOCREATE_INVOICE') - ) +$workflowcodes=array( + 'WORKFLOW_PROPAL_AUTOCREATE_ORDER'=>array('enabled'=>($conf->propal->enabled && $conf->commande->enabled),'child'=>'order','parent'=>'propal'), + 'WORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL'=>array('enabled'=>($conf->propal->enabled && $conf->commande->enabled),'child'=>'propal','parent'=>'order'), + 'WORKFLOW_ORDER_AUTOCREATE_INVOICE'=>array('enabled'=>($conf->commande->enabled && $conf->facture->enabled),'child'=>'invoice','parent'=>'order'), + 'WORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER'=>array('enabled'=>($conf->facture->enabled && $conf->commande->enabled),'child'=>'order','parent'=>'invoice'), ); if (! empty($conf->modules_parts['workflow']) && is_array($conf->modules_parts['workflow'])) $workflow = array_merge($workflow, $conf->modules_parts['workflow']); -foreach($workflow as $child => $parents) -{ - if ($conf->$child->enabled) - { - $langs->Load($child.'@'.$child); +$nbqualified=0; - foreach($parents as $parent => $actions) - { - if ($conf->$parent->enabled) - { - foreach($actions as $action) - { - $workflowcodes[$child][] = $action; - } - } - } - } +foreach($workflowcodes as $key => $tmparray) +{ + $child=$tmparray['child']; + $parent=$tmparray['parent']; + if (empty($conf->$child->enabled) || empty($conf->$parent->enabled)) continue; + + $nbqualified++; + $var = !$var; + print "