Browse Source

Adding reviewPortal webpart and updating formPortal to reflect FormStatus visibility settings

Andrej Studen 4 years ago
parent
commit
62d2f24906

+ 0 - 3
views/crfPortal.webpart.xml

@@ -1,3 +0,0 @@
-<webpart xmlns="http:/labkey.org/data/xml/webpart" title="CRF Portal">
-	<view name="crfPortal"/>
-</webpart>

+ 1 - 1
views/formPortal.webpart.xml

@@ -1,4 +1,4 @@
 <webpart xlmns="http://labkey.org/data/xml/webpart"
 	title="CRF Portal">
 	<view name="formPortal"/>
-<webpart>
+</webpart>

+ 4 - 0
views/reviewPortal.webpart.xml

@@ -0,0 +1,4 @@
+<webpart xlmns="http://labkey.org/data/xml/webpart"
+	title="CRF Review Portal">
+	<view name="reviewPortal"/>
+</webpart>

+ 28 - 3
web/crf/formPortal.js

@@ -126,6 +126,19 @@ function afterPopulatingCrfReviewers(config,formConfig,data){
 	formConfig.crfReviewers=data;
 	print(config,"afterPopulatingCrfReviewers");
 	print(config,"Number of CRF reviewerrs: "+formConfig.crfReviewers.rows.length);
+	let qconfig=new Object();
+
+	qconfig.schemaName="lists";
+	qconfig.queryName="FormStatus";
+	qconfig.success=function(data){afterPopulatingFormStatus(config,formConfig,data)};
+	LABKEY.Query.selectRows(qconfig);
+}
+
+
+function afterPopulatingFormStatus(config,formConfig,data){
+	formConfig.formStatus=data;
+	print(config,"afterPopulatingFormStatus");
+	print(config,"Number of states in FormStatus: "+formConfig.formStatus.rows.length);
 	
 	formConfig.table=config.document.createElement("table");
 	config.document.getElementById(config.div).appendChild(formConfig.table);
@@ -133,9 +146,21 @@ function afterPopulatingCrfReviewers(config,formConfig,data){
 	let qconfig=new Object();
 	qconfig.schemaName="lists";
 	qconfig.queryName="crfEntry";
-	let formStatusValue=1;//In Progress
-	if ("review" in config) formStatusValue=2;//Submitted
-	qconfig.filterArray=[LABKEY.Filter.create('formStatus',formStatusValue)];
+
+	let visibleLevel="crfEditor";
+	if ("review" in config) visibleLevel="crfReviewer";
+
+
+	let formStatusValue="";
+	for (let i=0;i<formConfig.formStatus.rows.length;i++){
+		if (formConfig.formStatus.rows[i].visibleLevel==visibleLevel){
+			if (formStatusValue.length>0) formStatusValue+=";";
+			formStatusValue+=String(formConfig.formStatus.rows[i].Key);
+		}
+	}
+	
+	//if ("review" in config) formStatusValue="2";//Submitted
+	qconfig.filterArray=[LABKEY.Filter.create('formStatus',formStatusValue,LABKEY.Filter.Types.IN)];
 	let currentUser=LABKEY.Security.currentUser.id;
 	if ("review" in config){
 		let reviewer=0;