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 "\n"; + print "".img_object('', $tmparray['child']).$langs->trans('desc'.$key)."\n"; + print ''; + if ($conf->use_javascript_ajax) + { + print ajax_constantonoff($key); + } + else + { + if (! empty($conf->global->$key)) + { + print ''; + print img_picto($langs->trans("Activated"),'switch_on'); + print ''; + } + else + { + print ''; + print img_picto($langs->trans("Disabled"),'switch_off'); + print ''; + } + } + print ''; + print ''; } -if (count($workflowcodes) > 0) -{ - foreach($workflowcodes as $key => $actions) - { - foreach($actions as $action) - { - $var = !$var; - print "\n"; - print "".img_object('', $key).$langs->trans('desc'.$action)."\n"; - print ''; - if ($conf->use_javascript_ajax) - { - print ajax_constantonoff($action); - } - else - { - if (! empty($conf->global->$action)) - { - print ''; - print img_picto($langs->trans("Activated"),'switch_on'); - print ''; - } - else - { - print ''; - print img_picto($langs->trans("Disabled"),'switch_off'); - print ''; - } - } - print ''; - print ''; - } - } -} -else +if ($nbqualified == 0) { print ''.$langs->trans("ThereIsNoWorkflowToModify"); }