fix cascading schedule when parent tasks have sequence relationships #3772

This commit is contained in:
Sigma Dimensions (Yass)
2023-09-20 01:05:19 +01:00
parent 377bcfe6da
commit a3802c25c0
2 changed files with 29 additions and 1 deletions
@@ -426,3 +426,23 @@ def get_tasks_for_product(product, schedule=None):
]
return inputs, outputs
def get_sequence_assignment(task, sequence="successor"):
if sequence == "successor":
relationship_attr = "IsPredecessorTo"
elif sequence == "predecessor":
relationship_attr = "IsSuccessorFrom"
else:
return []
relationship = getattr(task, relationship_attr, None)
if relationship:
return relationship
for rel in task.Nests or []:
result = get_sequence_assignment(rel.RelatingObject, sequence)
if result:
return result
return []