Updated to use new ProtocolBuilderCreatorStudy model and schema

This commit is contained in:
mike cullerton 2021-12-06 14:37:42 -05:00
parent db1f3ba6ab
commit 8813098190
2 changed files with 8 additions and 10 deletions

View File

@ -6,7 +6,8 @@ import requests
from crc import app from crc import app
from crc.api.common import ApiError from crc.api.common import ApiError
from crc.models.protocol_builder import ProtocolBuilderStudySchema, ProtocolBuilderRequiredDocument from crc.models.protocol_builder import ProtocolBuilderCreatorStudySchema, ProtocolBuilderRequiredDocument
class ProtocolBuilderService(object): class ProtocolBuilderService(object):
STUDY_URL = app.config['PB_USER_STUDIES_URL'] STUDY_URL = app.config['PB_USER_STUDIES_URL']
@ -33,7 +34,7 @@ class ProtocolBuilderService(object):
response = requests.get(url) response = requests.get(url)
if response.ok and response.text: if response.ok and response.text:
try: try:
pb_studies = ProtocolBuilderStudySchema(many=True).loads(response.text) pb_studies = ProtocolBuilderCreatorStudySchema(many=True).loads(response.text)
return pb_studies return pb_studies
except JSONDecodeError as err: except JSONDecodeError as err:
raise ApiError("protocol_builder_error", raise ApiError("protocol_builder_error",

View File

@ -1,9 +1,7 @@
import urllib
from copy import copy from copy import copy
from datetime import datetime from datetime import datetime
from typing import List from typing import List
import flask
import requests import requests
from SpiffWorkflow import WorkflowException from SpiffWorkflow import WorkflowException
from SpiffWorkflow.bpmn.PythonScriptEngine import Box from SpiffWorkflow.bpmn.PythonScriptEngine import Box
@ -12,15 +10,14 @@ from ldap3.core.exceptions import LDAPSocketOpenError
from crc import db, session, app from crc import db, session, app
from crc.api.common import ApiError from crc.api.common import ApiError
from crc.models.data_store import DataStoreModel
from crc.models.email import EmailModel from crc.models.email import EmailModel
from crc.models.file import FileModel, File, FileSchema from crc.models.file import FileModel, File, FileSchema
from crc.models.ldap import LdapSchema from crc.models.ldap import LdapSchema
from crc.models.protocol_builder import ProtocolBuilderStudy, ProtocolBuilderStatus from crc.models.protocol_builder import ProtocolBuilderCreatorStudy
from crc.models.study import StudyModel, Study, StudyStatus, Category, WorkflowMetadata, StudyEventType, StudyEvent, \ from crc.models.study import StudyModel, Study, StudyStatus, Category, WorkflowMetadata, StudyEventType, StudyEvent, \
IrbStatus, StudyAssociated, StudyAssociatedSchema StudyAssociated
from crc.models.task_event import TaskEventModel, TaskEvent from crc.models.task_event import TaskEventModel
from crc.models.task_log import TaskLogModel from crc.models.task_log import TaskLogModel
from crc.models.workflow import WorkflowSpecCategoryModel, WorkflowModel, WorkflowSpecModel, WorkflowState, \ from crc.models.workflow import WorkflowSpecCategoryModel, WorkflowModel, WorkflowSpecModel, WorkflowState, \
WorkflowStatus, WorkflowSpecDependencyFile WorkflowStatus, WorkflowSpecDependencyFile
@ -375,7 +372,7 @@ class StudyService(object):
str(app.config['PB_ENABLED'])) str(app.config['PB_ENABLED']))
# Get studies matching this user from Protocol Builder # Get studies matching this user from Protocol Builder
pb_studies: List[ProtocolBuilderStudy] = ProtocolBuilderService.get_studies(user.uid) pb_studies: List[ProtocolBuilderCreatorStudy] = ProtocolBuilderService.get_studies(user.uid)
# Get studies from the database # Get studies from the database
db_studies = session.query(StudyModel).filter_by(user_uid=user.uid).all() db_studies = session.query(StudyModel).filter_by(user_uid=user.uid).all()
@ -393,7 +390,7 @@ class StudyService(object):
session.add(db_study) session.add(db_study)
db_studies.append(db_study) db_studies.append(db_study)
db_study.update_from_protocol_builder(pb_study) db_study.update_from_protocol_builder(pb_study, user.uid)
StudyService._add_all_workflow_specs_to_study(db_study) StudyService._add_all_workflow_specs_to_study(db_study)
# If there is a new automatic status change and there isn't a manual change in place, record it. # If there is a new automatic status change and there isn't a manual change in place, record it.