[Workflow] Made the configuration more robust for the 'property' key

This commit is contained in:
Grégoire Pineau 2019-10-28 15:43:17 +01:00
parent 3be177a93f
commit 0c31ff007e
2 changed files with 10 additions and 2 deletions

View File

@ -303,7 +303,7 @@ class Configuration implements ConfigurationInterface
->end()
->end()
->scalarNode('property')
->defaultValue('marking')
->defaultNull() // In Symfony 5.0, set "marking" as default property
->end()
->scalarNode('service')
->cannotBeEmpty()
@ -481,6 +481,14 @@ class Configuration implements ConfigurationInterface
return $v;
})
->end()
->validate()
->ifTrue(function ($v) {
return isset($v['marking_store']['property'])
&& (!isset($v['marking_store']['type']) || 'method' !== $v['marking_store']['type'])
;
})
->thenInvalid('"property" option is only supported by the "method" marking store.')
->end()
->end()
->end()
->end()

View File

@ -666,7 +666,7 @@ class FrameworkExtension extends Extension
if ('method' === $workflow['marking_store']['type']) {
$markingStoreDefinition->setArguments([
'state_machine' === $type, //single state
$workflow['marking_store']['property'],
$workflow['marking_store']['property'] ?? 'marking',
]);
} else {
foreach ($workflow['marking_store']['arguments'] as $argument) {