From 743a91d658d101938788c5fb8356eebea2a4d9ed Mon Sep 17 00:00:00 2001 From: Philip Kalinsky Date: Thu, 16 Jan 2020 14:50:16 -0500 Subject: [PATCH] trigger_next_transition method will call the create trigger of the next stage for machines in CREATED state --- atst/models/portfolio_state_machine.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/atst/models/portfolio_state_machine.py b/atst/models/portfolio_state_machine.py index aef03b22..c5a5bb2d 100644 --- a/atst/models/portfolio_state_machine.py +++ b/atst/models/portfolio_state_machine.py @@ -105,8 +105,17 @@ class PortfolioStateMachine( self.fail_stage(stage) elif state_obj.is_CREATED: + # the create trigger for the next stage should be in the available + # triggers for the current state triggers = self.machine.get_triggers(state_obj.name) - self.trigger(triggers[-1], **kwargs) + create_trigger = list( + filter( + lambda trigger: trigger.startswith("create_"), + self.machine.get_triggers(self.state.name), + ) + )[0] + if create_trigger: + self.trigger(create_trigger, **kwargs) # @with_payload def after_in_progress_callback(self, event):