diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/populate.py b/SAS/TMSS/backend/src/tmss/tmssapp/populate.py index e7c757539af412c484ff799f7bb48ad9fe8b4056..9132ea1bf43366ac65cb03a3876d21be83482721 100644 --- a/SAS/TMSS/backend/src/tmss/tmssapp/populate.py +++ b/SAS/TMSS/backend/src/tmss/tmssapp/populate.py @@ -160,6 +160,8 @@ def populate_subtask_allowed_state_transitions(apps, schema_editor): SubtaskAllowedStateTransitions(old_state=SCHEDULING, new_state=SCHEDULED), SubtaskAllowedStateTransitions(old_state=SCHEDULING, new_state=UNSCHEDULABLE), SubtaskAllowedStateTransitions(old_state=UNSCHEDULABLE, new_state=DEFINED), + SubtaskAllowedStateTransitions(old_state=UNSCHEDULABLE, new_state=CANCELLED), + SubtaskAllowedStateTransitions(old_state=UNSCHEDULABLE, new_state=ERROR), SubtaskAllowedStateTransitions(old_state=SCHEDULED, new_state=STARTING), # this is an odd one, as most (all?) subtasks are queued before execution... SubtaskAllowedStateTransitions(old_state=SCHEDULED, new_state=QUEUEING), SubtaskAllowedStateTransitions(old_state=SCHEDULED, new_state=UNSCHEDULING), diff --git a/SAS/TMSS/backend/test/test_utils.py b/SAS/TMSS/backend/test/test_utils.py index 86ac97ee5d768f26f1ce624b8e9b9c7d18148e0f..9c8fe9aedcbabac601e3d9e8fee0ed30cdd59fdc 100644 --- a/SAS/TMSS/backend/test/test_utils.py +++ b/SAS/TMSS/backend/test/test_utils.py @@ -109,6 +109,7 @@ def set_subtask_state_following_allowed_transitions(subtask: typing.Union[Subtas SubtaskState.Choices.QUEUEING.value, SubtaskState.Choices.STARTING.value, SubtaskState.Choices.FINISHING.value, + SubtaskState.Choices.UNSCHEDULABLE.value, SubtaskState.Choices.CANCELLING.value): subtask.state = SubtaskState.objects.get(value=SubtaskState.Choices.ERROR.value) subtask.error_reason = 'set_subtask_state_following_allowed_transitions'