Change study progress resulting from a query

This commit is contained in:
alicia pritchett 2022-03-18 14:42:03 -04:00
parent 2ab96b16a0
commit 3c5a75c976

View File

@ -106,16 +106,17 @@ class StudyService(object):
study.warnings = StudyService._update_status_of_workflow_meta(workflow_metas, study.warnings = StudyService._update_status_of_workflow_meta(workflow_metas,
master_workflow_results) master_workflow_results)
category.workflows = workflow_metas category.workflows = workflow_metas
# Calculate study progress and return it as a integer out of a hundred # Calculate study progress and return it as a integer out of a hundred
completed_wfs = 0 all_workflows = db.session.query(WorkflowModel).\
total_wfs = 0 filter(WorkflowModel.study_id == study.id).\
for category in study.categories: count()
for workflow in category.workflows: complete_workflows = db.session.query(WorkflowModel).\
total_wfs +=1 filter(WorkflowModel.study_id == study.id).\
if workflow.status == WorkflowStatus.complete: filter(WorkflowModel.status == WorkflowStatus.complete).\
completed_wfs += 1 count()
if total_wfs > 0: if all_workflows > 0:
study.progress = int((completed_wfs/total_wfs)*100) study.progress = int((complete_workflows/all_workflows)*100)
else: else:
study.progress = 0 study.progress = 0
return study return study