mirror of
https://github.com/sartography/cr-connect-workflow.git
synced 2025-02-22 20:58:28 +00:00
Merge branch 'master' into feature/customer_lookup
This commit is contained in:
commit
a5f5468e9a
6
Pipfile.lock
generated
6
Pipfile.lock
generated
@ -241,11 +241,11 @@
|
||||
},
|
||||
"docxtpl": {
|
||||
"hashes": [
|
||||
"sha256:243722fb7d4e960a1d02a8b177bea62aaba9e4fa5a791bfb47f788aa86167540",
|
||||
"sha256:fa751b8b0be23fdb2f5e307040c7ea6dbe367b5ed165b70a43ea5ad5ff45bd55"
|
||||
"sha256:a46c9cd6ea6d7350a8f16b467c3b1cd09767c83e1da5753f306cc550a7b04959",
|
||||
"sha256:ab92c5710b6774eff52a90529fb96af29aacfc2d14c0986b6f58ac5bfe403bdf"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==0.8.1"
|
||||
"version": "==0.9.0"
|
||||
},
|
||||
"et-xmlfile": {
|
||||
"hashes": [
|
||||
|
@ -1,15 +1,22 @@
|
||||
import os
|
||||
from os import environ
|
||||
|
||||
basedir = os.path.abspath(os.path.dirname(__file__))
|
||||
|
||||
NAME = "CR Connect Workflow"
|
||||
CORS_ENABLED = False
|
||||
DEVELOPMENT = True
|
||||
SQLALCHEMY_DATABASE_URI = "postgresql://crc_user:crc_pass@localhost:5432/crc_dev"
|
||||
DEVELOPMENT = environ.get('DEVELOPMENT', default="True")
|
||||
|
||||
DB_HOST = environ.get('DB_HOST', default="localhost")
|
||||
DB_PORT = environ.get('DB_PORT', default="5432")
|
||||
DB_NAME = environ.get('DB_NAME', default="crc_dev")
|
||||
DB_USER = environ.get('DB_USER', default="crc_user")
|
||||
DB_PASSWORD = environ.get('DB_PASSWORD', default="crc_pass")
|
||||
SQLALCHEMY_DATABASE_URI = environ.get('SQLALCHEMY_DATABASE_URI', default="postgresql://%s:%s@%s:%s/%s" % (DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, DB_NAME))
|
||||
TOKEN_AUTH_TTL_HOURS = 2
|
||||
TOKEN_AUTH_SECRET_KEY = "Shhhh!!! This is secret! And better darn well not show up in prod."
|
||||
FRONTEND_AUTH_CALLBACK = "http://localhost:4200/session"
|
||||
SWAGGER_AUTH_KEY = "SWAGGER"
|
||||
TOKEN_AUTH_SECRET_KEY = environ.get('TOKEN_AUTH_SECRET_KEY', default="Shhhh!!! This is secret! And better darn well not show up in prod.")
|
||||
FRONTEND_AUTH_CALLBACK = environ.get('FRONTEND_AUTH_CALLBACK', default="http://localhost:4200/session")
|
||||
SWAGGER_AUTH_KEY = environ.get('SWAGGER_AUTH_KEY', default="SWAGGER")
|
||||
|
||||
#: Default attribute map for single signon.
|
||||
SSO_ATTRIBUTE_MAP = {
|
||||
@ -24,7 +31,8 @@ SSO_ATTRIBUTE_MAP = {
|
||||
}
|
||||
|
||||
# %s/%i placeholders expected for uva_id and study_id in various calls.
|
||||
PB_USER_STUDIES_URL = "http://workflow.sartography.com:5001/pb/user_studies?uva_id=%s"
|
||||
PB_INVESTIGATORS_URL = "http://workflow.sartography.com:5001/pb/investigators?studyid=%i"
|
||||
PB_REQUIRED_DOCS_URL = "http://workflow.sartography.com:5001/pb/required_docs?studyid=%i"
|
||||
PB_STUDY_DETAILS_URL = "http://workflow.sartography.com:5001/pb/study?studyid=%i"
|
||||
PB_BASE_URL = environ.get('PB_BASE_URL', default="http://localhost:5001/pb/")
|
||||
PB_USER_STUDIES_URL = environ.get('PB_USER_STUDIES_URL', default=PB_BASE_URL + "user_studies?uva_id=%s")
|
||||
PB_INVESTIGATORS_URL = environ.get('PB_INVESTIGATORS_URL', default=PB_BASE_URL + "investigators?studyid=%i")
|
||||
PB_REQUIRED_DOCS_URL = environ.get('PB_REQUIRED_DOCS_URL', default=PB_BASE_URL + "required_docs?studyid=%i")
|
||||
PB_STUDY_DETAILS_URL = environ.get('PB_STUDY_DETAILS_URL', default=PB_BASE_URL + "study?studyid=%i")
|
||||
|
@ -14,13 +14,13 @@
|
||||
</camunda:formField>
|
||||
<camunda:formField id="FormField_BudgetDraft" label="Draft Budget" type="file">
|
||||
<camunda:properties>
|
||||
<camunda:property id="hide_expression" value="!model.FormField_isBudget" />
|
||||
<camunda:property id="hide_expression" value="!(model.FormField_isBudget) | FormField_isBudget == null" />
|
||||
</camunda:properties>
|
||||
</camunda:formField>
|
||||
<camunda:formField id="FormField_Budget Final" label="Final Budget" type="file">
|
||||
<camunda:properties>
|
||||
<camunda:property id="description" value="This is the budget that you will negotiate with your funding source." />
|
||||
<camunda:property id="hide_expression" value="!model.FormField_isBudget" />
|
||||
<camunda:property id="hide_expression" value="!(model.FormField_isBudget) | FormField_isBudget == null" />
|
||||
</camunda:properties>
|
||||
</camunda:formField>
|
||||
</camunda:formData>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<decisionTable id="decisionTable_1">
|
||||
<input id="input_1" label="Investigator's Brochure Form Upload Count">
|
||||
<inputExpression id="inputExpression_1" typeRef="integer">
|
||||
<text>Documents["DrugDevDoc_InvestBrochure"]["count"]</text>
|
||||
<text>Documents.DrugDevDoc_InvestBrochure.count</text>
|
||||
</inputExpression>
|
||||
</input>
|
||||
<output id="output_1" label="Investigator's Brochure(s) Uploaded?" name="isInvestigatorsBrochure" typeRef="boolean" />
|
||||
|
@ -7,7 +7,7 @@
|
||||
<decisionTable id="decisionTable_1">
|
||||
<input id="input_1" label="IVRS-IWRS-IXRS Manual Count">
|
||||
<inputExpression id="inputExpression_1" typeRef="integer">
|
||||
<text>Documents["DrugDevDoc_IVRSIWRSIXRSMan"]["count"]</text>
|
||||
<text>Documents.DrugDevDoc_IVRSIWRSIXRSMan.count</text>
|
||||
</inputExpression>
|
||||
</input>
|
||||
<output id="output_1" label="IVRS-IWRS-IXRS Manual Uploaded?" name="isIVRS-IWRS-IXRS" typeRef="boolean" />
|
||||
|
24
crc/static/bpmn/irb_api_personnel/coordinator_status.dmn
Normal file
24
crc/static/bpmn/irb_api_personnel/coordinator_status.dmn
Normal file
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<definitions xmlns="http://www.omg.org/spec/DMN/20151101/dmn.xsd" xmlns:biodi="http://bpmn.io/schema/dmn/biodi/1.0" id="Definitions_65a4c07" name="DRD" namespace="http://camunda.org/schema/1.0/dmn">
|
||||
<decision id="Decision_Coordinator" name="Coordinator Status">
|
||||
<extensionElements>
|
||||
<biodi:bounds x="200" y="140" width="180" height="80" />
|
||||
</extensionElements>
|
||||
<decisionTable id="decisionTable_1">
|
||||
<input id="input_1" label="Coordinator Status">
|
||||
<inputExpression id="inputExpression_1" typeRef="boolean">
|
||||
<text></text>
|
||||
</inputExpression>
|
||||
</input>
|
||||
<output id="output_1" label="Coordinator Form Banner" name="ElementDoc_Coordinator" typeRef="string" />
|
||||
<rule id="DecisionRule_0sfkgkh">
|
||||
<inputEntry id="UnaryTests_160rjry">
|
||||
<text></text>
|
||||
</inputEntry>
|
||||
<outputEntry id="LiteralExpression_1lxmr3n">
|
||||
<text>"Placeholder"</text>
|
||||
</outputEntry>
|
||||
</rule>
|
||||
</decisionTable>
|
||||
</decision>
|
||||
</definitions>
|
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<definitions xmlns="http://www.omg.org/spec/DMN/20151101/dmn.xsd" xmlns:biodi="http://bpmn.io/schema/dmn/biodi/1.0" id="Definitions_305b1db" name="DRD" namespace="http://camunda.org/schema/1.0/dmn">
|
||||
<decision id="Decision_DepartmentChair" name="Department Chair Status">
|
||||
<extensionElements>
|
||||
<biodi:bounds x="200" y="150" width="180" height="80" />
|
||||
</extensionElements>
|
||||
<decisionTable id="decisionTable_1">
|
||||
<input id="input_1" label="Department Chair Status">
|
||||
<inputExpression id="inputExpression_1" typeRef="boolean">
|
||||
<text></text>
|
||||
</inputExpression>
|
||||
</input>
|
||||
<output id="output_1" label="Department Chair Form Banner" name="ElementDoc_DepartmentChair" typeRef="string" />
|
||||
<rule id="DecisionRule_1by29jj">
|
||||
<inputEntry id="UnaryTests_1gr92h8">
|
||||
<text></text>
|
||||
</inputEntry>
|
||||
<outputEntry id="LiteralExpression_0xadafz">
|
||||
<text>"DC Placeholder"</text>
|
||||
</outputEntry>
|
||||
</rule>
|
||||
</decisionTable>
|
||||
</decision>
|
||||
</definitions>
|
@ -10,14 +10,7 @@
|
||||
<bpmn:script>StudyInfo investigators</bpmn:script>
|
||||
</bpmn:scriptTask>
|
||||
<bpmn:userTask id="UserTask_EditPrimaryInvestigator" name="Edit Primary Investigator" camunda:formKey="PrimaryInvestigator">
|
||||
<bpmn:documentation>### From Protocol Builder
|
||||
{% for personnel in study.investigators|selectattr("INVESTIGATORTYPE", "equalto", "PI") %}
|
||||
#### {{ personnel.INVESTIGATORTYPEFULL }}
|
||||
{{ personnel.NETBADGEID }}
|
||||
{% else %}
|
||||
#### No Primary Investigator Entered in Protocol Builder
|
||||
The PI is needed for many required steps. Please enter this information in Protocol Builder as soon as possible.
|
||||
{% endfor %}</bpmn:documentation>
|
||||
<bpmn:documentation>{{ElementDoc_PrimaryInvestigator}}</bpmn:documentation>
|
||||
<bpmn:extensionElements>
|
||||
<camunda:formData>
|
||||
<camunda:formField id="PI_Experience" label="Investigator's Experience" type="textarea">
|
||||
@ -44,7 +37,7 @@ The PI is needed for many required steps. Please enter this information in Prot
|
||||
<bpmn:sequenceFlow id="SequenceFlow_122pp0f" sourceRef="UserTask_EditPrimaryInvestigator" targetRef="Gateway_19lvya6" />
|
||||
<bpmn:sequenceFlow id="Flow_0g0o593" sourceRef="Gateway_13kno0x" targetRef="UserTask_EditPrimaryInvestigator" />
|
||||
<bpmn:parallelGateway id="Gateway_13kno0x">
|
||||
<bpmn:incoming>Flow_05aywbq</bpmn:incoming>
|
||||
<bpmn:incoming>Flow_19i1d30</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_0g0o593</bpmn:outgoing>
|
||||
<bpmn:outgoing>Flow_1nudg96</bpmn:outgoing>
|
||||
<bpmn:outgoing>Flow_18ix81l</bpmn:outgoing>
|
||||
@ -58,13 +51,6 @@ The PI is needed for many required steps. Please enter this information in Prot
|
||||
</bpmn:parallelGateway>
|
||||
<bpmn:sequenceFlow id="Flow_1nudg96" sourceRef="Gateway_13kno0x" targetRef="Activity_EditCoordinator" />
|
||||
<bpmn:userTask id="Activity_EditCoordinator" name="Edit Coordinator" camunda:formKey="Coordinator">
|
||||
<bpmn:documentation>### From Protocol Builder
|
||||
{% for personnel in study.investigators|selectattr("INVESTIGATORTYPE", "equalto", "SC_I") %}
|
||||
#### {{ personnel.INVESTIGATORTYPEFULL }}
|
||||
{{ personnel.NETBADGEID }}
|
||||
{% else %}
|
||||
#### No Primary Coordinator Entered in Protocol Builder
|
||||
{% endfor %}</bpmn:documentation>
|
||||
<bpmn:extensionElements>
|
||||
<camunda:formData>
|
||||
<camunda:formField id="CoordinatorI_EditAccess" label="Should this Coordinator have Study Team editing access in the system?" type="boolean" defaultValue="true" />
|
||||
@ -77,13 +63,6 @@ The PI is needed for many required steps. Please enter this information in Prot
|
||||
<bpmn:sequenceFlow id="Flow_00lv37g" sourceRef="Activity_EditCoordinator" targetRef="Gateway_19lvya6" />
|
||||
<bpmn:sequenceFlow id="Flow_18ix81l" sourceRef="Gateway_13kno0x" targetRef="Activity_EditDepartmentChair" />
|
||||
<bpmn:userTask id="Activity_EditDepartmentChair" name="Edit Department Chair" camunda:formKey="DeptmentChair">
|
||||
<bpmn:documentation>### From Protocol Builder
|
||||
{% for personnel in study.investigators|selectattr("INVESTIGATORTYPE", "equalto", "DEPT_CH") %}
|
||||
#### {{ personnel.INVESTIGATORTYPEFULL }}
|
||||
{{ personnel.NETBADGEID }}
|
||||
{% else %}
|
||||
#### No Department Chair Entered in Protocol Builder
|
||||
{% endfor %}</bpmn:documentation>
|
||||
<bpmn:extensionElements>
|
||||
<camunda:formData>
|
||||
<camunda:formField id="DepartmentChair_EditAccess" label="Should the Department Chair have Study Team editing access in the system?" type="boolean" defaultValue="false" />
|
||||
@ -94,74 +73,110 @@ The PI is needed for many required steps. Please enter this information in Prot
|
||||
<bpmn:outgoing>Flow_0y1jvdw</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
<bpmn:sequenceFlow id="Flow_0y1jvdw" sourceRef="Activity_EditDepartmentChair" targetRef="Gateway_19lvya6" />
|
||||
<bpmn:sequenceFlow id="Flow_05aywbq" sourceRef="ScriptTask_LoadPersonnel" targetRef="Gateway_13kno0x" />
|
||||
<bpmn:sequenceFlow id="Flow_05aywbq" sourceRef="ScriptTask_LoadPersonnel" targetRef="Activity_PI-Satus" />
|
||||
<bpmn:sequenceFlow id="Flow_0kcrx5l" sourceRef="StartEvent_1" targetRef="ScriptTask_LoadPersonnel" />
|
||||
<bpmn:sequenceFlow id="Flow_12rh5aj" sourceRef="Activity_PI-Satus" targetRef="Activity_CoordinatorStatus" />
|
||||
<bpmn:businessRuleTask id="Activity_PI-Satus" name="Primary Investigator Status" camunda:decisionRef="Decision_PrimaryInvestigator">
|
||||
<bpmn:incoming>Flow_05aywbq</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_12rh5aj</bpmn:outgoing>
|
||||
</bpmn:businessRuleTask>
|
||||
<bpmn:sequenceFlow id="Flow_04nzqn8" sourceRef="Activity_CoordinatorStatus" targetRef="Activity_DepartmentChairStatus" />
|
||||
<bpmn:businessRuleTask id="Activity_CoordinatorStatus" name="Coordinator Status" camunda:decisionRef="Decision_Coordinator">
|
||||
<bpmn:incoming>Flow_12rh5aj</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_04nzqn8</bpmn:outgoing>
|
||||
</bpmn:businessRuleTask>
|
||||
<bpmn:sequenceFlow id="Flow_19i1d30" sourceRef="Activity_DepartmentChairStatus" targetRef="Gateway_13kno0x" />
|
||||
<bpmn:businessRuleTask id="Activity_DepartmentChairStatus" name="Department Chair Status" camunda:decisionRef="Decision_DepartmentChair">
|
||||
<bpmn:incoming>Flow_04nzqn8</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_19i1d30</bpmn:outgoing>
|
||||
</bpmn:businessRuleTask>
|
||||
</bpmn:process>
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_01143nb">
|
||||
<bpmndi:BPMNEdge id="Flow_19i1d30_di" bpmnElement="Flow_19i1d30">
|
||||
<di:waypoint x="580" y="170" />
|
||||
<di:waypoint x="645" y="170" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_04nzqn8_di" bpmnElement="Flow_04nzqn8">
|
||||
<di:waypoint x="440" y="170" />
|
||||
<di:waypoint x="480" y="170" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_12rh5aj_di" bpmnElement="Flow_12rh5aj">
|
||||
<di:waypoint x="290" y="170" />
|
||||
<di:waypoint x="340" y="170" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0kcrx5l_di" bpmnElement="Flow_0kcrx5l">
|
||||
<di:waypoint x="168" y="170" />
|
||||
<di:waypoint x="270" y="170" />
|
||||
<di:waypoint x="-52" y="170" />
|
||||
<di:waypoint x="30" y="170" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_05aywbq_di" bpmnElement="Flow_05aywbq">
|
||||
<di:waypoint x="370" y="170" />
|
||||
<di:waypoint x="475" y="170" />
|
||||
<di:waypoint x="130" y="170" />
|
||||
<di:waypoint x="190" y="170" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0y1jvdw_di" bpmnElement="Flow_0y1jvdw">
|
||||
<di:waypoint x="710" y="300" />
|
||||
<di:waypoint x="810" y="300" />
|
||||
<di:waypoint x="810" y="195" />
|
||||
<di:waypoint x="880" y="300" />
|
||||
<di:waypoint x="980" y="300" />
|
||||
<di:waypoint x="980" y="195" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_18ix81l_di" bpmnElement="Flow_18ix81l">
|
||||
<di:waypoint x="500" y="195" />
|
||||
<di:waypoint x="500" y="300" />
|
||||
<di:waypoint x="610" y="300" />
|
||||
<di:waypoint x="670" y="195" />
|
||||
<di:waypoint x="670" y="300" />
|
||||
<di:waypoint x="780" y="300" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_00lv37g_di" bpmnElement="Flow_00lv37g">
|
||||
<di:waypoint x="710" y="170" />
|
||||
<di:waypoint x="785" y="170" />
|
||||
<di:waypoint x="880" y="170" />
|
||||
<di:waypoint x="955" y="170" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1nudg96_di" bpmnElement="Flow_1nudg96">
|
||||
<di:waypoint x="525" y="170" />
|
||||
<di:waypoint x="610" y="170" />
|
||||
<di:waypoint x="695" y="170" />
|
||||
<di:waypoint x="780" y="170" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_14469u8_di" bpmnElement="Flow_14469u8">
|
||||
<di:waypoint x="835" y="170" />
|
||||
<di:waypoint x="932" y="170" />
|
||||
<di:waypoint x="1005" y="170" />
|
||||
<di:waypoint x="1102" y="170" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0g0o593_di" bpmnElement="Flow_0g0o593">
|
||||
<di:waypoint x="500" y="145" />
|
||||
<di:waypoint x="500" y="30" />
|
||||
<di:waypoint x="610" y="30" />
|
||||
<di:waypoint x="670" y="145" />
|
||||
<di:waypoint x="670" y="30" />
|
||||
<di:waypoint x="780" y="30" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="SequenceFlow_122pp0f_di" bpmnElement="SequenceFlow_122pp0f">
|
||||
<di:waypoint x="710" y="30" />
|
||||
<di:waypoint x="810" y="30" />
|
||||
<di:waypoint x="810" y="145" />
|
||||
<di:waypoint x="880" y="30" />
|
||||
<di:waypoint x="980" y="30" />
|
||||
<di:waypoint x="980" y="145" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
|
||||
<dc:Bounds x="132" y="152" width="36" height="36" />
|
||||
<dc:Bounds x="-88" y="152" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="ScriptTask_0h49cmf_di" bpmnElement="ScriptTask_LoadPersonnel">
|
||||
<dc:Bounds x="270" y="130" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="EndEvent_1qor16n_di" bpmnElement="EndEvent_1qor16n">
|
||||
<dc:Bounds x="932" y="152" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_1lvmp6i_di" bpmnElement="Gateway_13kno0x">
|
||||
<dc:Bounds x="475" y="145" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_0k9iptd_di" bpmnElement="Gateway_19lvya6">
|
||||
<dc:Bounds x="785" y="145" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0d622qi_di" bpmnElement="Activity_EditDepartmentChair">
|
||||
<dc:Bounds x="610" y="260" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0fl86y3_di" bpmnElement="Activity_EditCoordinator">
|
||||
<dc:Bounds x="610" y="130" width="100" height="80" />
|
||||
<dc:Bounds x="30" y="130" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="UserTask_0hpnrm9_di" bpmnElement="UserTask_EditPrimaryInvestigator">
|
||||
<dc:Bounds x="610" y="-10" width="100" height="80" />
|
||||
<dc:Bounds x="780" y="-10" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="EndEvent_1qor16n_di" bpmnElement="EndEvent_1qor16n">
|
||||
<dc:Bounds x="1102" y="152" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_1lvmp6i_di" bpmnElement="Gateway_13kno0x">
|
||||
<dc:Bounds x="645" y="145" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_0k9iptd_di" bpmnElement="Gateway_19lvya6">
|
||||
<dc:Bounds x="955" y="145" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0fl86y3_di" bpmnElement="Activity_EditCoordinator">
|
||||
<dc:Bounds x="780" y="130" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0d622qi_di" bpmnElement="Activity_EditDepartmentChair">
|
||||
<dc:Bounds x="780" y="260" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_1yggezg_di" bpmnElement="Activity_PI-Satus">
|
||||
<dc:Bounds x="190" y="130" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_10gqxcp_di" bpmnElement="Activity_CoordinatorStatus">
|
||||
<dc:Bounds x="340" y="130" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_1g0yuo4_di" bpmnElement="Activity_DepartmentChairStatus">
|
||||
<dc:Bounds x="480" y="130" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
|
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<definitions xmlns="http://www.omg.org/spec/DMN/20151101/dmn.xsd" xmlns:biodi="http://bpmn.io/schema/dmn/biodi/1.0" id="Definitions_cc48f13" name="DRD" namespace="http://camunda.org/schema/1.0/dmn">
|
||||
<decision id="Decision_PrimaryInvestigator" name="Primary Investigator Status">
|
||||
<extensionElements>
|
||||
<biodi:bounds x="200" y="160" width="180" height="80" />
|
||||
</extensionElements>
|
||||
<decisionTable id="decisionTable_1">
|
||||
<input id="input_1" label="Primary Investogator Status">
|
||||
<inputExpression id="inputExpression_1" typeRef="boolean" expressionLanguage="feel">
|
||||
<text>list contains( for i in [study.investigators[0].INVESTIGATORTYPE, study.investigators[1].INVESTIGATORTYPE, study.investigators[2].INVESTIGATORTYPE] return i, "PI")</text>
|
||||
</inputExpression>
|
||||
</input>
|
||||
<output id="output_1" label="Primary Investigator Form Banner" name="ElementDoc_PrimaryInvestigator" typeRef="string" />
|
||||
<rule id="DecisionRule_19gl4re">
|
||||
<inputEntry id="UnaryTests_14311bk">
|
||||
<text>true</text>
|
||||
</inputEntry>
|
||||
<outputEntry id="LiteralExpression_1d3eboq">
|
||||
<text>"Placeholder - True"</text>
|
||||
</outputEntry>
|
||||
</rule>
|
||||
<rule id="DecisionRule_1crmfau">
|
||||
<inputEntry id="UnaryTests_110jbd6">
|
||||
<text>false</text>
|
||||
</inputEntry>
|
||||
<outputEntry id="LiteralExpression_107i08h">
|
||||
<text>"Placeholder - False"</text>
|
||||
</outputEntry>
|
||||
</rule>
|
||||
</decisionTable>
|
||||
</decision>
|
||||
</definitions>
|
@ -2,12 +2,12 @@
|
||||
<definitions xmlns="http://www.omg.org/spec/DMN/20151101/dmn.xsd" xmlns:biodi="http://bpmn.io/schema/dmn/biodi/1.0" id="Definitions_1p34ouw" name="DRD" namespace="http://camunda.org/schema/1.0/dmn" exporter="Camunda Modeler" exporterVersion="3.4.1">
|
||||
<decision id="data_security_plan" name="Data Security Plan">
|
||||
<extensionElements>
|
||||
<biodi:bounds x="190" y="80" width="180" height="80" />
|
||||
<biodi:bounds x="180" y="80" width="180" height="80" />
|
||||
</extensionElements>
|
||||
<decisionTable id="DecisionTable_1mjqwlv">
|
||||
<input id="InputClause_18pwfqu" label="Data Plan Required in PB?">
|
||||
<input id="InputClause_18pwfqu" label="Required Doc Keys">
|
||||
<inputExpression id="LiteralExpression_1y84stb" typeRef="boolean" expressionLanguage="feel">
|
||||
<text>Documents['Study_DataSecurityPlan']['required']</text>
|
||||
<text>Documents['UVACompl_PRCAppr']['required']</text>
|
||||
</inputExpression>
|
||||
</input>
|
||||
<output id="OutputClause_05y0j7c" label="data_security_plan" name="data_security_plan" typeRef="string" />
|
||||
|
@ -2,7 +2,7 @@
|
||||
<definitions xmlns="http://www.omg.org/spec/DMN/20151101/dmn.xsd" xmlns:biodi="http://bpmn.io/schema/dmn/biodi/1.0" id="Definitions_1p34ouw" name="DRD" namespace="http://camunda.org/schema/1.0/dmn" exporter="Camunda Modeler" exporterVersion="3.4.1">
|
||||
<decision id="enter_core_info" name="Enter Core Info">
|
||||
<extensionElements>
|
||||
<biodi:bounds x="170" y="60" width="180" height="80" />
|
||||
<biodi:bounds x="160" y="60" width="180" height="80" />
|
||||
</extensionElements>
|
||||
<decisionTable id="decisionTable_1">
|
||||
<input id="InputClause_1ki80j6" label="required doc ids">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<definitions xmlns="http://www.omg.org/spec/DMN/20151101/dmn.xsd" xmlns:biodi="http://bpmn.io/schema/dmn/biodi/1.0" id="Definitions_1p34ouw" name="DRD" namespace="http://camunda.org/schema/1.0/dmn" exporter="Camunda Modeler" exporterVersion="3.4.1">
|
||||
<decision id="sponsor_funding_source" name="Sponsor Funding Source">
|
||||
<extensionElements>
|
||||
<biodi:bounds x="190" y="70" width="180" height="80" />
|
||||
<biodi:bounds x="190" y="80" width="180" height="80" />
|
||||
</extensionElements>
|
||||
<decisionTable id="DecisionTable_00zdxg0">
|
||||
<input id="InputClause_02n3ccs" label="Sponsor Document Required in PB?">
|
||||
<input id="InputClause_02n3ccs" label="CoCApplication Required?">
|
||||
<inputExpression id="LiteralExpression_1ju4o1o" typeRef="boolean" expressionLanguage="feel">
|
||||
<text>Documents['AD_LabManual']['required']</text>
|
||||
</inputExpression>
|
||||
|
@ -60,13 +60,52 @@
|
||||
</bpmn:process>
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0jhpidf">
|
||||
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
|
||||
<dc:Bounds x="192" y="421" width="36" height="36" />
|
||||
<bpmndi:BPMNShape id="TextAnnotation_0ydnva4_di" bpmnElement="TextAnnotation_0ydnva4">
|
||||
<dc:Bounds x="155" y="210" width="110" height="82" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="Flow_0x9580l_di" bpmnElement="Flow_0x9580l">
|
||||
<di:waypoint x="740" y="550" />
|
||||
<di:waypoint x="800" y="550" />
|
||||
<di:waypoint x="800" y="464" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1txrak2_di" bpmnElement="Flow_1txrak2">
|
||||
<di:waypoint x="740" y="439" />
|
||||
<di:waypoint x="775" y="439" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1nimppb_di" bpmnElement="Flow_1nimppb">
|
||||
<di:waypoint x="608" y="439" />
|
||||
<di:waypoint x="640" y="439" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_18pl92p_di" bpmnElement="Flow_18pl92p">
|
||||
<di:waypoint x="583" y="464" />
|
||||
<di:waypoint x="583" y="550" />
|
||||
<di:waypoint x="640" y="550" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="SequenceFlow_17ct47v_di" bpmnElement="SequenceFlow_17ct47v">
|
||||
<di:waypoint x="400" y="439" />
|
||||
<di:waypoint x="558" y="439" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1m8285h_di" bpmnElement="Flow_1m8285h">
|
||||
<di:waypoint x="583" y="414" />
|
||||
<di:waypoint x="583" y="330" />
|
||||
<di:waypoint x="640" y="330" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0pwtiqm_di" bpmnElement="Flow_0pwtiqm">
|
||||
<di:waypoint x="825" y="439" />
|
||||
<di:waypoint x="862" y="439" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1sggkit_di" bpmnElement="Flow_1sggkit">
|
||||
<di:waypoint x="740" y="330" />
|
||||
<di:waypoint x="800" y="330" />
|
||||
<di:waypoint x="800" y="414" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="SequenceFlow_1ees8ka_di" bpmnElement="SequenceFlow_1ees8ka">
|
||||
<di:waypoint x="228" y="439" />
|
||||
<di:waypoint x="300" y="439" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
|
||||
<dc:Bounds x="192" y="421" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Event_135x8jg_di" bpmnElement="Event_135x8jg">
|
||||
<dc:Bounds x="862" y="421" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
@ -76,74 +115,35 @@
|
||||
<bpmndi:BPMNShape id="Activity_1yqy50i_di" bpmnElement="Activity_1yqy50i">
|
||||
<dc:Bounds x="640" y="290" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_1kk6x70_di" bpmnElement="Gateway_12tpgcy">
|
||||
<dc:Bounds x="775" y="414" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_1m22g4p_di" bpmnElement="Gateway_1nta7st">
|
||||
<dc:Bounds x="558" y="414" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_1k5eeun_di" bpmnElement="Activity_1k5eeun">
|
||||
<dc:Bounds x="640" y="399" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_16cm213_di" bpmnElement="Activity_16cm213">
|
||||
<dc:Bounds x="640" y="510" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="TextAnnotation_1pv8ygy_di" bpmnElement="TextAnnotation_1pv8ygy">
|
||||
<dc:Bounds x="300" y="247" width="100" height="68" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="TextAnnotation_1f52jro_di" bpmnElement="TextAnnotation_1f52jro">
|
||||
<dc:Bounds x="461" y="80" width="243" height="124" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="Association_0w69z3w_di" bpmnElement="Association_0w69z3w">
|
||||
<di:waypoint x="350" y="399" />
|
||||
<di:waypoint x="350" y="315" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="TextAnnotation_0ydnva4_di" bpmnElement="TextAnnotation_0ydnva4">
|
||||
<dc:Bounds x="155" y="220" width="110" height="82" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="Association_0a41ixa_di" bpmnElement="Association_0a41ixa">
|
||||
<di:waypoint x="210" y="421" />
|
||||
<di:waypoint x="210" y="302" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="TextAnnotation_1f52jro_di" bpmnElement="TextAnnotation_1f52jro">
|
||||
<dc:Bounds x="461" y="80" width="243" height="124" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="Flow_1sggkit_di" bpmnElement="Flow_1sggkit">
|
||||
<di:waypoint x="740" y="330" />
|
||||
<di:waypoint x="800" y="330" />
|
||||
<di:waypoint x="800" y="414" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="Gateway_1kk6x70_di" bpmnElement="Gateway_12tpgcy">
|
||||
<dc:Bounds x="775" y="414" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="Flow_0pwtiqm_di" bpmnElement="Flow_0pwtiqm">
|
||||
<di:waypoint x="825" y="439" />
|
||||
<di:waypoint x="862" y="439" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="Gateway_1m22g4p_di" bpmnElement="Gateway_1nta7st">
|
||||
<dc:Bounds x="558" y="414" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="Association_1mzqzwj_di" bpmnElement="Association_1mzqzwj">
|
||||
<di:waypoint x="583" y="414" />
|
||||
<di:waypoint x="583" y="204" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1m8285h_di" bpmnElement="Flow_1m8285h">
|
||||
<di:waypoint x="583" y="414" />
|
||||
<di:waypoint x="583" y="330" />
|
||||
<di:waypoint x="640" y="330" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="SequenceFlow_17ct47v_di" bpmnElement="SequenceFlow_17ct47v">
|
||||
<di:waypoint x="400" y="439" />
|
||||
<di:waypoint x="558" y="439" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_18pl92p_di" bpmnElement="Flow_18pl92p">
|
||||
<di:waypoint x="583" y="464" />
|
||||
<di:waypoint x="583" y="550" />
|
||||
<di:waypoint x="640" y="550" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1nimppb_di" bpmnElement="Flow_1nimppb">
|
||||
<di:waypoint x="608" y="439" />
|
||||
<di:waypoint x="640" y="439" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="Activity_1k5eeun_di" bpmnElement="Activity_1k5eeun">
|
||||
<dc:Bounds x="640" y="399" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="Flow_1txrak2_di" bpmnElement="Flow_1txrak2">
|
||||
<di:waypoint x="740" y="439" />
|
||||
<di:waypoint x="775" y="439" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="Activity_16cm213_di" bpmnElement="Activity_16cm213">
|
||||
<dc:Bounds x="640" y="510" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="Flow_0x9580l_di" bpmnElement="Flow_0x9580l">
|
||||
<di:waypoint x="740" y="550" />
|
||||
<di:waypoint x="800" y="550" />
|
||||
<di:waypoint x="800" y="464" />
|
||||
<bpmndi:BPMNEdge id="Association_0a41ixa_di" bpmnElement="Association_0a41ixa">
|
||||
<di:waypoint x="210" y="421" />
|
||||
<di:waypoint x="210" y="292" />
|
||||
</bpmndi:BPMNEdge>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
|
@ -65,13 +65,6 @@ class ExampleDataLoader:
|
||||
]
|
||||
db.session.add_all(categories)
|
||||
db.session.commit()
|
||||
self.create_spec(id="top_level_workflow",
|
||||
name="top_level_workflow",
|
||||
display_name="Top Level Workflow",
|
||||
description="Determines the status of other workflows in a study",
|
||||
category_id=None,
|
||||
master_spec=True
|
||||
)
|
||||
|
||||
# Pass IRB Review
|
||||
self.create_spec(id="irb_api_personnel",
|
||||
@ -163,6 +156,14 @@ class ExampleDataLoader:
|
||||
category_id=5,
|
||||
display_order=0)
|
||||
|
||||
# Top Level (Master Status) Workflow
|
||||
self.create_spec(id="top_level_workflow",
|
||||
name="top_level_workflow",
|
||||
display_name="Top Level Workflow",
|
||||
description="Determines the status of other workflows in a study",
|
||||
category_id=None,
|
||||
master_spec=True)
|
||||
|
||||
|
||||
def create_spec(self, id, name, display_name="", description="", filepath=None, master_spec=False, category_id=None, display_order=None):
|
||||
"""Assumes that a directory exists in static/bpmn with the same name as the given id.
|
||||
|
@ -14,8 +14,9 @@ class TestFilesApi(BaseTest):
|
||||
|
||||
def test_list_files_for_workflow_spec(self):
|
||||
self.load_example_data()
|
||||
spec = session.query(WorkflowSpecModel).first()
|
||||
rv = self.app.get('/v1.0/file?workflow_spec_id=%s' % spec.id,
|
||||
spec_id = 'core_info'
|
||||
spec = session.query(WorkflowSpecModel).filter_by(id=spec_id).first()
|
||||
rv = self.app.get('/v1.0/file?workflow_spec_id=%s' % spec_id,
|
||||
follow_redirects=True,
|
||||
content_type="application/json", headers=self.logged_in_headers())
|
||||
self.assert_success(rv)
|
||||
|
Loading…
x
Reference in New Issue
Block a user