diff --git a/crc/scripts/get_study_status.py b/crc/scripts/get_study_status.py new file mode 100644 index 00000000..fea9d656 --- /dev/null +++ b/crc/scripts/get_study_status.py @@ -0,0 +1,18 @@ +from crc import session +from crc.models.study import StudyModel +from crc.scripts.script import Script + + +class StudyStatus(Script): + + def get_description(self): + return """Get the status of the current study. + Status can be one of `in_progress`, `hold`, `open_for_enrollment`, or `abandoned`.""" + + def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs): + return self.do_task(task, study_id, workflow_id, *args, **kwargs) + + def do_task(self, task, study_id, workflow_id, *args, **kwargs): + study_status = session.query(StudyModel.status).filter(StudyModel.id == study_id).scalar() + if study_status: + return study_status.value