Skip to content

Commit f2b36b1

Browse files
committed
[FrameworkBundle] [Workflow] Fixed initial place config
1 parent c3c84fe commit f2b36b1

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,7 @@ private function addWorkflowSection(ArrayNodeDefinition $rootNode)
281281
->end()
282282
->end()
283283
->end()
284+
->scalarNode('initial_place')->defaultNull()->end()
284285
->arrayNode('places')
285286
->isRequired()
286287
->requiresAtLeastOneElement()

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -420,15 +420,19 @@ private function registerWorkflowConfiguration(array $workflows, ContainerBuilde
420420
}
421421

422422
// Create a Definition
423-
$definitionDefinition = new Definition(Workflow\Definition::class);
424-
$definitionDefinition->setPublic(false);
425-
$definitionDefinition->addArgument($workflow['places']);
426-
$definitionDefinition->addArgument($transitions);
427-
$definitionDefinition->addTag('workflow.definition', array(
428-
'name' => $name,
429-
'type' => $type,
430-
'marking_store' => isset($workflow['marking_store']['type']) ? $workflow['marking_store']['type'] : null,
431-
));
423+
$definitionDefinition = (new Definition(Workflow\Definition::class))
424+
->setPublic(false)
425+
->addArgument($workflow['places'])
426+
->addArgument($transitions)
427+
->addTag('workflow.definition', array(
428+
'name' => $name,
429+
'type' => $type,
430+
'marking_store' => isset($workflow['marking_store']['type']) ? $workflow['marking_store']['type'] : null,
431+
))
432+
;
433+
if (isset($workflow['initial_place'])) {
434+
$definitionDefinition->addArgument($workflow['initial_place']);
435+
}
432436

433437
// Create MarkingStore
434438
if (isset($workflow['marking_store']['type'])) {

src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@
238238
<xsd:sequence>
239239
<xsd:element name="marking-store" type="marking_store" />
240240
<xsd:element name="supports" type="xsd:string" minOccurs="1" maxOccurs="unbounded" />
241+
<xsd:element name="initial_place" type="xsd:string" />
241242
<xsd:element name="places" type="xsd:string" minOccurs="1" maxOccurs="unbounded" />
242243
<xsd:element name="transitions" type="transitions" />
243244
</xsd:sequence>

0 commit comments

Comments
 (0)