From dfaea2d937270b954c0ac5509d9b46ffa5e4f91f Mon Sep 17 00:00:00 2001 From: Philip Kalinsky Date: Thu, 16 Jan 2020 15:29:14 -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 | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/atst/models/portfolio_state_machine.py b/atst/models/portfolio_state_machine.py index c5a5bb2d..d3794a04 100644 --- a/atst/models/portfolio_state_machine.py +++ b/atst/models/portfolio_state_machine.py @@ -108,13 +108,17 @@ class PortfolioStateMachine( # 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) - create_trigger = list( - filter( - lambda trigger: trigger.startswith("create_"), - self.machine.get_triggers(self.state.name), - ) - )[0] - if create_trigger: + try: + create_trigger = list( + filter( + lambda trigger: trigger.startswith("create_"), + self.machine.get_triggers(self.state.name), + ) + )[0] + except IndexError: + # are we done ? + pass + else: self.trigger(create_trigger, **kwargs) # @with_payload