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

Was this example useful?
0
                                                    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);
    }
                                            
Was this example useful?
0
                                                    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;
    }
                                            
Was this example useful?
0
                                                    /**
     * 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));
    }