Model and schema for new StudyCreator api endpoint
Update StudyModel to use new model
This commit is contained in:
parent
5cf011f1d9
commit
db1f3ba6ab
|
@ -29,7 +29,6 @@ class ProtocolBuilderStatus(enum.Enum):
|
|||
open = 'open' # Open To Enrollment: has start date?
|
||||
abandoned = 'abandoned' # Not found in PB
|
||||
|
||||
|
||||
# DRAFT = 'draft', # !Q_COMPLETE
|
||||
# IN_PROCESS = 'in_process', # Q_COMPLETE && !UPLOAD_COMPLETE
|
||||
# IN_REVIEW = 'in_review', # Q_COMPLETE && (!UPLOAD_COMPLETE)
|
||||
|
@ -37,29 +36,23 @@ class ProtocolBuilderStatus(enum.Enum):
|
|||
# INACTIVE = 'inactive', # Not found in PB
|
||||
|
||||
|
||||
class ProtocolBuilderCreatorStudy(object):
|
||||
|
||||
class ProtocolBuilderStudy(object):
|
||||
def __init__(
|
||||
self, STUDYID: int, TITLE: str, NETBADGEID: str,
|
||||
DATE_MODIFIED: str, Q_COMPLETE: str, HSRNUMBER: str
|
||||
):
|
||||
def __init__(self, STUDYID, DATELASTMODIFIED, DATECREATED, TITLE):
|
||||
self.STUDYID = STUDYID
|
||||
self.DATELASTMODIFIED = DATELASTMODIFIED
|
||||
self.DATECREATED = DATECREATED
|
||||
self.TITLE = TITLE
|
||||
self.NETBADGEID = NETBADGEID
|
||||
self.DATE_MODIFIED = DATE_MODIFIED
|
||||
self.Q_COMPLETE = Q_COMPLETE
|
||||
self.HSRNUMBER = HSRNUMBER
|
||||
|
||||
class ProtocolBuilderStudySchema(ma.Schema):
|
||||
|
||||
class ProtocolBuilderCreatorStudySchema(ma.Schema):
|
||||
class Meta:
|
||||
model = ProtocolBuilderStudy
|
||||
unknown = INCLUDE
|
||||
fields = ["STUDYID", "TITLE", "NETBADGEID",
|
||||
"DATE_MODIFIED", "Q_COMPLETE"]
|
||||
fields = ["STUDYID", "DATELASTMODIFIED", "DATECREATED", "TITLE"]
|
||||
|
||||
@post_load
|
||||
def make_pbs(self, data, **kwargs):
|
||||
return ProtocolBuilderStudy(**data)
|
||||
def make_study(self, data, **kwargs):
|
||||
return ProtocolBuilderCreatorStudy(**data)
|
||||
|
||||
|
||||
class ProtocolBuilderInvestigator(object):
|
||||
|
|
|
@ -11,7 +11,7 @@ from crc import db, ma
|
|||
from crc.api.common import ApiErrorSchema, ApiError
|
||||
from crc.models.file import FileModel, SimpleFileSchema, FileSchema
|
||||
from crc.models.ldap import LdapModel, LdapSchema
|
||||
from crc.models.protocol_builder import ProtocolBuilderStatus, ProtocolBuilderStudy
|
||||
from crc.models.protocol_builder import ProtocolBuilderCreatorStudy
|
||||
from crc.models.workflow import WorkflowSpecCategoryModel, WorkflowState, WorkflowStatus, WorkflowSpecModel, \
|
||||
WorkflowModel
|
||||
from crc.services.file_service import FileService
|
||||
|
@ -57,10 +57,10 @@ class StudyModel(db.Model):
|
|||
short_name = db.Column(db.String, nullable=True)
|
||||
proposal_name = db.Column(db.String, nullable=True)
|
||||
|
||||
def update_from_protocol_builder(self, pbs: ProtocolBuilderStudy):
|
||||
self.title = pbs.TITLE
|
||||
self.user_uid = pbs.NETBADGEID
|
||||
self.last_updated = pbs.DATE_MODIFIED
|
||||
def update_from_protocol_builder(self, study: ProtocolBuilderCreatorStudy, user_id):
|
||||
self.title = study.TITLE
|
||||
self.user_uid = user_id
|
||||
self.last_updated = study.DATELASTMODIFIED
|
||||
|
||||
self.irb_status = IrbStatus.incomplete_in_protocol_builder
|
||||
|
||||
|
|
Loading…
Reference in New Issue