@@ -13,59 +13,79 @@ class WorkflowSubscriber implements EventSubscriberInterface
13
13
{
14
14
public function guardEvent (SymfonyGuardEvent $ event )
15
15
{
16
+ $ workflowName = $ event ->getWorkflowName ();
17
+ $ transitionName = $ event ->getTransition ()->getName ();
18
+
16
19
event (new GuardEvent ($ event ));
17
20
event ('workflow.guard ' , $ event );
18
- event ('workflow. ' . $ event -> getWorkflowName () . ' .guard ' , $ event );
19
- event ('workflow. ' . $ event -> getWorkflowName () . ' . guard.' . $ event -> getTransition ()-> getName ( ), $ event );
21
+ event (sprintf ( 'workflow.%s.guard ' , $ workflowName ) , $ event );
22
+ event (sprintf ( 'workflow.%s. guard.%s ' , $ workflowName , $ transitionName ), $ event );
20
23
}
21
24
22
25
public function leaveEvent (Event $ event )
23
26
{
27
+ $ places = $ event ->getTransition ()->getFroms ();
28
+ $ workflowName = $ event ->getWorkflowName ();
29
+
24
30
event (new LeaveEvent ($ event ));
25
31
event ('workflow.leave ' , $ event );
26
- event ('workflow. ' . $ event ->getWorkflowName () . '.leave ' , $ event );
27
- foreach ($ event ->getTransition ()->getFroms () as $ marking ) {
28
- event ('workflow. ' . $ event ->getWorkflowName () . '.leave. ' . $ marking , $ event );
32
+ event (sprintf ('workflow.%s.leave ' , $ workflowName ), $ event );
33
+
34
+ foreach ($ places as $ place ) {
35
+ event (sprintf ('workflow.%s.leave.%s ' , $ workflowName , $ place ), $ event );
29
36
}
30
37
}
31
38
32
39
public function transitionEvent (Event $ event )
33
40
{
41
+ $ workflowName = $ event ->getWorkflowName ();
42
+ $ transitionName = $ event ->getTransition ()->getName ();
43
+
34
44
event (new TransitionEvent ($ event ));
35
45
event ('workflow.transition ' , $ event );
36
- event ('workflow. ' . $ event -> getWorkflowName () . ' .transition ' , $ event );
37
- event ('workflow. ' . $ event -> getWorkflowName () . ' . transition.' . $ event -> getTransition ()-> getName ( ), $ event );
46
+ event (sprintf ( 'workflow.%s.transition ' , $ workflowName ) , $ event );
47
+ event (sprintf ( 'workflow.%s. transition.%s ' , $ workflowName , $ transitionName ), $ event );
38
48
}
39
49
40
50
public function enterEvent (Event $ event )
41
51
{
52
+ $ places = $ event ->getTransition ()->getTos ();
53
+ $ workflowName = $ event ->getWorkflowName ();
54
+
42
55
event (new EnterEvent ($ event ));
43
56
event ('workflow.enter ' , $ event );
44
- event ('workflow. ' . $ event ->getWorkflowName () . '.enter ' , $ event );
45
- foreach ($ event ->getTransition ()->getTos () as $ marking ) {
46
- event ('workflow. ' . $ event ->getWorkflowName () . '.enter. ' . $ marking , $ event );
57
+ event (sprintf ('workflow.%s.enter ' , $ workflowName ), $ event );
58
+
59
+ foreach ($ places as $ place ) {
60
+ event (sprintf ('workflow.%s.enter.%s ' , $ workflowName , $ place ), $ event );
47
61
}
48
62
}
49
63
50
64
public function enteredEvent (Event $ event )
51
65
{
66
+ $ places = $ event ->getTransition ()->getTos ();
67
+ $ workflowName = $ event ->getWorkflowName ();
68
+
52
69
event (new EnteredEvent ($ event ));
53
70
event ('workflow.entered ' , $ event );
54
- event ('workflow. ' . $ event ->getWorkflowName () . '.entered ' , $ event );
55
- foreach ($ event ->getTransition ()->getTos () as $ marking ) {
56
- event ('workflow. ' . $ event ->getWorkflowName () . '.entered. ' . $ marking , $ event );
71
+ event (sprintf ('workflow.%s.entered ' , $ workflowName ), $ event );
72
+
73
+ foreach ($ places as $ place ) {
74
+ event (sprintf ('workflow.%s.entered.%s ' , $ workflowName , $ place ), $ event );
57
75
}
58
76
}
59
77
60
78
public function completedEvent (Event $ event )
61
79
{
80
+ $ workflowName = $ event ->getWorkflowName ();
81
+ $ transitionName = $ event ->getTransition ()->getName ();
82
+
62
83
event (new CompletedEvent ($ event ));
63
84
event ('workflow.completed ' , $ event );
64
- event ('workflow. ' . $ event -> getWorkflowName () . ' .completed ' , $ event );
65
- event ('workflow. ' . $ event -> getWorkflowName () . ' . completed.' . $ event -> getTransition ()-> getName ( ), $ event );
85
+ event (sprintf ( 'workflow.%s.completed ' , $ workflowName ) , $ event );
86
+ event (sprintf ( 'workflow.%s. completed.%s ' , $ workflowName , $ transitionName ), $ event );
66
87
}
67
88
68
-
69
89
public static function getSubscribedEvents ()
70
90
{
71
91
return [
0 commit comments