Programming Language PHP
Namespace Oro\Bundle\WorkflowBundle\Entity
Class WorkflowDefinition
Method/Function setConfiguration
Total Examples 3
3 code examples of PHP Oro\Bundle\WorkflowBundle\Entity\WorkflowDefinition::setConfiguration extracted from open source projects
protected function processConfiguration(TranslationProcessor $processor, WorkflowDefinition $definition)
{
$sourceConfiguration = array_merge(
$definition->getConfiguration(),
[
'name' => $definition->getName(),
'label' => $definition->getLabel(),
]
);
$preparedConfiguration = $processor->prepare($definition->getName(), $processor->handle($sourceConfiguration));
if (isset($preparedConfiguration[WorkflowConfiguration::NODE_STEPS])) {
$this->setWorkflowdefinitionSteps($definition, $preparedConfiguration[WorkflowConfiguration::NODE_STEPS]);
}
$definition->setLabel($preparedConfiguration['label']);
unset($preparedConfiguration['label'], $preparedConfiguration['name']);
$definition->setConfiguration($preparedConfiguration);
}
public function updateWorkflowVariables(WorkflowDefinition $definition, WorkflowData $data): WorkflowDefinition
{
$workflowConfig = $definition->getConfiguration();
$variableDefinitionsConfig = $workflowConfig[WorkflowConfiguration::NODE_VARIABLE_DEFINITIONS];
$variablesConfig = $variableDefinitionsConfig[WorkflowConfiguration::NODE_VARIABLES];
foreach ($data as $name => $value) {
if (!isset($variablesConfig[$name])) {
continue;
}
$variablesConfig[$name]['value'] = $value;
}
$variableDefinitionsConfig[WorkflowConfiguration::NODE_VARIABLES] = $variablesConfig;
$workflowConfig[WorkflowConfiguration::NODE_VARIABLE_DEFINITIONS] = $variableDefinitionsConfig;
$definition->setConfiguration($workflowConfig);
$this->process($definition);
return $definition;
}
/**
* Collects init context of all start transitions.
*/
private function processInitContext(Workflow $workflow, WorkflowDefinition $definition)
{
$initData = [];
foreach ($workflow->getTransitionManager()->getStartTransitions() as $startTransition) {
foreach ($startTransition->getInitEntities() as $entity) {
$initData[WorkflowConfiguration::NODE_INIT_ENTITIES][$entity][] = $startTransition->getName();
}
foreach ($startTransition->getInitRoutes() as $route) {
$initData[WorkflowConfiguration::NODE_INIT_ROUTES][$route][] = $startTransition->getName();
}
foreach ($startTransition->getInitDatagrids() as $datagrid) {
$initData[WorkflowConfiguration::NODE_INIT_DATAGRIDS][$datagrid][] = $startTransition->getName();
}
}
$definition->setConfiguration(array_merge($definition->getConfiguration(), $initData));
}