| 
														
															@@ -143,9 +143,6 @@ function fullAccessSetup(config,listName){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	setup.filters['crfRef']=getCRFref(config); 
														 | 
														
														 | 
														
															 	setup.filters['crfRef']=getCRFref(config); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	setup.getInputId=function(vName){return listName+"_"+vName;} 
														 | 
														
														 | 
														
															 	setup.getInputId=function(vName){return listName+"_"+vName;} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	setup.addApply="Save"; 
														 | 
														
														 | 
														
															 	setup.addApply="Save"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	//not neccesarily unique 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	//setup.unique=true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	//no addApply 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	return setup; 
														 | 
														
														 | 
														
															 	return setup; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -289,21 +286,28 @@ function generateSection(config, sectionName, sectionTitle, listName, additional 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	if (debug) print(config,"generate master table"); 
														 | 
														
														 | 
														
															 	if (debug) print(config,"generate master table"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 
														 | 
														
														 | 
														
															 	 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	let setup=fullAccessSetup(config,listName); 
														 | 
														
														 | 
														
															 	let setup=fullAccessSetup(config,listName); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if ("reviewMode" in config)  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		setup=readonlySetup(config); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	//master table is unique per visit 
														 | 
														
														 | 
														
															 	//master table is unique per visit 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	setup.unique=true; 
														 | 
														
														 | 
														
															 	setup.unique=true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if (config.review)  
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		setup=readonlySetup(config); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	generateTable(config,listName,divTable.id,true,additionalData,setup); 
														 | 
														
														 | 
														
															 	generateTable(config,listName,divTable.id,true,additionalData,setup); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 
														 | 
														
														 | 
														
															 	 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	if (debug) print(config,"generate master table: done"); 
														 | 
														
														 | 
														
															 	if (debug) print(config,"generate master table: done"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	let generateSubTable=true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if ("reviewMode" in config) generateSubTable=false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (! ("showFlag" in additionalData) ) generateSubTable=false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 
														 | 
														
														 | 
														
															 	 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if ("showFlag" in additionalData){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (generateSubTable){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		let qName=additionalData.queryName; 
														 | 
														
														 | 
														
															 		let qName=additionalData.queryName; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		let dName=additionalData.divName; 
														 | 
														
														 | 
														
															 		let dName=additionalData.divName; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		let setup=fullAccessSetup(config,qName); 
														 | 
														
														 | 
														
															 		let setup=fullAccessSetup(config,qName); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		if (config.review) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if ("reviewMode" in config) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			setup=readonlySetup(config); 
														 | 
														
														 | 
														
															 			setup=readonlySetup(config); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		generateTable(config,qName,dName,false,additionalData,setup); 
														 | 
														
														 | 
														
															 		generateTable(config,qName,dName,false,additionalData,setup); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -351,6 +355,14 @@ function generateReview(config,data,divReviewId,divReviewListId, listName){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if (vName=="ModifiedBy") return true; 
														 | 
														
														 | 
														
															 		if (vName=="ModifiedBy") return true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		return false;}; 
														 | 
														
														 | 
														
															 		return false;}; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	reviewSetup.addApply="Add Review"; 
														 | 
														
														 | 
														
															 	reviewSetup.addApply="Add Review"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	let generateTableFlag=true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if ("reviewMode" in config && config.reviewMode == "APPROVED" ){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		delete reviewSetup.addApply; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		reviewSetup.readonlyFlag=function(vName){return false;} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		generateTableFlag=false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	reviewSetup.filters=new Object(); 
														 | 
														
														 | 
														
															 	reviewSetup.filters=new Object(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	reviewSetup.filters["crfRef"]=getCRFref(config); 
														 | 
														
														 | 
														
															 	reviewSetup.filters["crfRef"]=getCRFref(config); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	reviewSetup.filters["queryName"]=listId;//entry in reviewComments list is queryname, all in small caps 
														 | 
														
														 | 
														
															 	reviewSetup.filters["queryName"]=listId;//entry in reviewComments list is queryname, all in small caps 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -366,6 +378,9 @@ function generateReview(config,data,divReviewId,divReviewListId, listName){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		print(config,msg); 
														 | 
														
														 | 
														
															 		print(config,msg); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	updateListDisplay(config,divReviewListId,"reviewComments",reviewSetup.filters,true); 
														 | 
														
														 | 
														
															 	updateListDisplay(config,divReviewListId,"reviewComments",reviewSetup.filters,true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (! generateTableFlag) return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	generateTable(config,"reviewComments",divReviewId,false,new Object(),reviewSetup); 
														 | 
														
														 | 
														
															 	generateTable(config,"reviewComments",divReviewId,false,new Object(),reviewSetup); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }	 
														 | 
														
														 | 
														
															 }	 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1452,6 +1467,8 @@ function generateMasterForm(config){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	configSelectRows.containerPath=config.containerPath; 
														 | 
														
														 | 
														
															 	configSelectRows.containerPath=config.containerPath; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	configSelectRows.schemaName='lists'; 
														 | 
														
														 | 
														
															 	configSelectRows.schemaName='lists'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	configSelectRows.queryName=config.setupQueryName; 
														 | 
														
														 | 
														
															 	configSelectRows.queryName=config.setupQueryName; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	//this is new 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	configSelectRows.formName=config.formName; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	configSelectRows.success=function(data){generateForm(config,data);}; 
														 | 
														
														 | 
														
															 	configSelectRows.success=function(data){generateForm(config,data);}; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	configSelectRows.failure=onFailure;//function(errorTxt){print(config,"generateForm fail" + errorTxt)}; 
														 | 
														
														 | 
														
															 	configSelectRows.failure=onFailure;//function(errorTxt){print(config,"generateForm fail" + errorTxt)}; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	LABKEY.Query.selectRows(configSelectRows); 
														 | 
														
														 | 
														
															 	LABKEY.Query.selectRows(configSelectRows); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1460,11 +1477,13 @@ function generateMasterForm(config){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		print(config,"Generating buttons"); 
														 | 
														
														 | 
														
															 		print(config,"Generating buttons"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	//requires onSubmit 
														 | 
														
														 | 
														
															 	//requires onSubmit 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if (config.review){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if ("reviewMode" in config){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if (config.reviewMode=="REVIEW"){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 
														 | 
														
														 | 
														
															 	 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		generateButton(config,"submitDiv","Complete submission","Upload to database",onDatabaseUpload,config); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		generateButton(config,"submitDiv","Review submission","Ask for further review",onUpdateForReview,config); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		generateButton(config,"submitDiv","Remove submission","Remove CRF form",onRemoveCRF,config); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			generateButton(config,"submitDiv","Complete submission","Upload to database",onDatabaseUpload,config); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			generateButton(config,"submitDiv","Review submission","Ask for further review",onUpdateForReview,config); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			generateButton(config,"submitDiv","Remove submission","Remove CRF form",onRemoveCRF,config); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	}	 
														 | 
														
														 | 
														
															 	}	 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	else{ 
														 | 
														
														 | 
														
															 	else{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		generateButton(config,"submitDiv","Complete submission","Submit",onSubmit,config); 
														 | 
														
														 | 
														
															 		generateButton(config,"submitDiv","Complete submission","Submit",onSubmit,config); 
														 |