Skip to content
Snippets Groups Projects
Commit af997bd5 authored by Nico Vermaas's avatar Nico Vermaas
Browse files

add joined_status (property) field

parent 2e2ddd0e
No related branches found
No related tags found
1 merge request!311SDC-937 many-to-one join-output-tasks
Pipeline #53046 passed
......@@ -292,6 +292,24 @@ class Task(models.Model):
return False
return True
@property
def joined_status(self):
# if a task has joined_input_tasks, then check their status
try:
joined_input_tasks = self.joined_input_tasks.all()
status = None
for task in joined_input_tasks:
if status and task.status != status:
return None
status = task.status
# all statusses are the same, return it
return status
except Exception as e:
print(e)
return "unknown"
# NV: this shows the latest status change, but because it is a derived property it cannot be sorted.
# This functionality was not requested, and to avoid additional requests about 'sort' functionalty
# it is currently commented out. Could be of use later though, so I leave it in for now.
......
......@@ -91,7 +91,8 @@ class TaskReadSerializer(serializers.ModelSerializer):
class Meta:
model = Task
fields = ['id','task_type','creationTime','filter',
'predecessor','predecessor_status','successors', 'joined_input_tasks','joined_output_task',
'predecessor','predecessor_status','successors',
'joined_input_tasks','joined_output_task','joined_status',
'project','sas_id','priority','purge_policy','cleanup_policy','resume',
'workflow',
'stage_request_id',
......@@ -123,7 +124,7 @@ class TaskReadSerializerFast(serializers.ModelSerializer):
class Meta:
model = Task
fields = ['id','task_type','creationTime','filter','predecessor','predecessor_status',
'joined_input_tasks', 'joined_output_task',
'joined_input_tasks', 'joined_output_task', 'joined_status'
'project','sas_id','priority','purge_policy','cleanup_policy','resume',
'workflow',
'stage_request_id',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment