example of workflow + finalize normalization

This commit is contained in:
2022-01-29 00:19:11 +01:00
parent dc184762d6
commit 5ac485e06e
4 changed files with 60 additions and 9 deletions

View File

@@ -65,6 +65,26 @@ class MetadataExtractor
return ['name' => $step->getCurrentStep(), 'text' => $text];
}
public function buildArrayPresentationForTransition(EntityWorkflow $entityWorkflow, string $transitionName): array
{
$workflow = $this->registry->get($entityWorkflow, $entityWorkflow->getWorkflowName());
$transitions = $workflow->getDefinition()->getTransitions();
foreach ($transitions as $transition) {
if ($transition->getName() === $transitionName) {
break;
}
}
$metadata = $workflow->getMetadataStore()->getTransitionMetadata($transition);
return [
'name' => $transition->getName(),
'text' => array_key_exists('label', $metadata) ?
$this->translatableStringHelper->localize($metadata['label']) : $transition->getName(),
'isForward' => $metadata['isForward'] ?? null,
];
}
public function buildArrayPresentationForWorkflow(WorkflowInterface $workflow): array
{
$metadata = $workflow->getMetadataStore()->getWorkflowMetadata();