|
@@ -27,6 +27,7 @@ function drawForm(par){
|
|
populateSelectTableEntry(par,"Form");
|
|
populateSelectTableEntry(par,"Form");
|
|
|
|
|
|
generateTable(par,"startDiv","startTable");
|
|
generateTable(par,"startDiv","startTable");
|
|
|
|
+ generateButtonRow("startTable","Start filling the selected form","Start", par, startForm);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -633,3 +634,52 @@ function addNewEntry(par){
|
|
generateList(par,"Crf");};
|
|
generateList(par,"Crf");};
|
|
LABKEY.Query.insertRows(config);
|
|
LABKEY.Query.insertRows(config);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+function startForm(par){
|
|
|
|
+ let crfVar=par.vars["Crf"];
|
|
|
|
+ let el=par.config.document.getElementById(crfVar.selectId);
|
|
|
|
+ let config=generateQConfig(par.masterQuery);
|
|
|
|
+ config.filterArray=[LABKEY.Filter.create(crfVar.masterSelectVarName,el.value)]
|
|
|
|
+ config.success=function(data){findURL(data,par)};
|
|
|
|
+ LABKEY.Query.selectRows(config);
|
|
|
|
+ // The set of URL par.
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function findURL(data,par){
|
|
|
|
+ let entry=data.rows[0];
|
|
|
|
+
|
|
|
|
+ let fields=data.metaData.fields;
|
|
|
|
+ let formVar=par.vars["Form"];
|
|
|
|
+ let formVarName=formVar.masterSelectVarName;
|
|
|
|
+ let lookup;
|
|
|
|
+ for (f in fields){
|
|
|
|
+ if (fields[f].name!=formVarName) continue;
|
|
|
|
+ lookup=fields[f].lookup;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ let config=generateQConfig(lookup.queryName);
|
|
|
|
+ config.schemaName=lookup.schemaName;
|
|
|
|
+ config.filterArray=[LABKEY.Filter.create(lookup.keyColumn,entry[formVarName])];
|
|
|
|
+ config.success=function(data){finalRedirect(data,entry,par)};
|
|
|
|
+ LABKEY.Query.selectRows(config);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function finalRedirect(data,entry,par){
|
|
|
|
+ let formEntry=data.rows[0];
|
|
|
|
+ let formVar=par.vars["Form"];
|
|
|
|
+ let formUrl=formEntry[formVar.urlName];
|
|
|
|
+ var params = {
|
|
|
|
+ "name": formUrl, // The destination wiki page. The name of this parameter is not arbitrary.
|
|
|
|
+ "userid": entry[par.vars["User"].masterSelectVarName],
|
|
|
|
+ "entryId": entry[par.vars["Crf"].masterSelectVarName]
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ let containerPath="TECANT/Data";//part of data?
|
|
|
|
+ // This changes the page after building the URL.
|
|
|
|
+ //Note that the wiki page destination name is set in params.
|
|
|
|
+ var wikiURL = LABKEY.ActionURL.buildURL("wiki", "page", containerPath, params);
|
|
|
|
+ print("Redirecting to "+wikiURL);
|
|
|
|
+
|
|
|
|
+ window.location = wikiURL;
|
|
|
|
+}
|