Skip to content
Snippets Groups Projects
Commit 5dae6aec authored by S.Listl's avatar S.Listl
Browse files

Workflow

parent b82fc059
No related branches found
No related tags found
No related merge requests found
Showing
with 208 additions and 20 deletions
......@@ -251,6 +251,11 @@
<kind v="10077" />
<title></title>
</entityNode>
<entityNode>
<name>WorkflowDefinition</name>
<kind v="10077" />
<title></title>
</entityNode>
</childNodes>
</entityNode>
</childNodes>
......
......@@ -45,6 +45,16 @@
<entityName>WorkflowInstance_entity</entityName>
<fieldName>InstancesOfWorkflow</fieldName>
</dependency>
<children>
<entityParameter>
<name>WorkflowDefinitionId_param</name>
<valueProcess>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/instances/children/workflowdefinitionid_param/valueProcess.js</valueProcess>
</entityParameter>
<entityParameter>
<name>WorkflowDefinitionKey_param</name>
<valueProcess>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/instances/children/workflowdefinitionkey_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityField>
<name>KEY</name>
......@@ -61,6 +71,7 @@
<entityActionField>
<name>startNewInstance</name>
<title>Start workflow</title>
<onActionProcess>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/startnewinstance/onActionProcess.js</onActionProcess>
<iconId>VAADIN:PLAY</iconId>
</entityActionField>
<entityField>
......@@ -68,11 +79,23 @@
<contentType>IMAGE</contentType>
<valueProcess>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/diagram/valueProcess.js</valueProcess>
</entityField>
<entityActionField>
<name>openAdminView</name>
<title>Open admin view</title>
<onActionProcess>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/openadminview/onActionProcess.js</onActionProcess>
<iconId>VAADIN:CURLY_BRACKETS</iconId>
<stateProcess>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/openadminview/stateProcess.js</stateProcess>
</entityActionField>
<entityParameter>
<name>ProcessDefinitionKey_param</name>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<isFilterable v="true" />
<isSortable v="true" />
<contentProcess>%aditoprj%/entity/WorkflowDefinition_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/WorkflowDefinition_entity/recordcontainers/jdito/onInsert.js</onInsert>
<onUpdate>%aditoprj%/entity/WorkflowDefinition_entity/recordcontainers/jdito/onUpdate.js</onUpdate>
......
import("system.vars");
import("system.result");
result.string(vars.get("$sys.uid"));
\ No newline at end of file
import("system.vars");
import("system.result");
result.string(vars.get("$field.KEY"));
\ No newline at end of file
import("system.vars");
import("Context_lib");
AdminViewUtils.open();
\ No newline at end of file
import("Context_lib");
import("system.result");
result.string(AdminViewUtils.getActionState());
\ No newline at end of file
import("system.logging");
import("system.vars");
import("system.workflow");
//workflow.startProcessByKey("smol", {});
var conf = workflow.createConfigForLoadingTasks();
var tasks = workflow.getTasks(conf);
logging.log(JSON.stringify(JSON.parse(tasks), null, "\t"))
//workflow.completeTask("2521", {})
logging.log(JSON.stringify(JSON.parse(workflow.getFinishedActivities("2522")), null, "\t"))
\ No newline at end of file
import("system.logging");
import("system.vars");
import("system.result");
import("Workflow_lib");
import("system.workflow");
import("JditoFilter_lib");
var workflowDefObj = WorkflowDefinitionUtils.getDeployedDefinitions();
var workflowDefs = [];
for (let i = 0, l = workflowDefObj.length; i < l; i++)
var workflowKey = vars.exists("$param.ProcessDefinitionKey_param") ? vars.get("$param.ProcessDefinitionKey_param") : null;
var workflowDefs;
if (vars.exists("$local.idvalues") && vars.get("$local.idvalues"))
workflowDefs = [WorkflowDefinitionUtils.getProcessDefinitionById(vars.get("$local.idvalues")[0])];
else
workflowDefs = WorkflowDefinitionUtils.getDeployedDefinitions(workflowKey);
workflowDefs = workflowDefs.map(function (currentDef)
{
let currentDef = workflowDefObj[i];
workflowDefs.push([
return [
currentDef.id,
currentDef.name,
currentDef.category,
currentDef.key,
currentDef.version,
currentDef.active
]);
}
workflowDefs = JditoFilterUtils.filterRecords(["UID", "NAME", "CATEGORY", "KEY", "VERSION", "ACTIVE"], workflowDefs, vars.get("$local.filter").filter);
];
});
workflowDefs = JditoFilterUtils.filterRecords(["UID", "NAME", "CATEGORY", "KEY", "VERSION", "ISACTIVE"], workflowDefs, vars.get("$local.filter").filter);
logging.log(JSON.stringify(workflowDefs, null, "\t"))
result.object(workflowDefs);
\ No newline at end of file
......@@ -27,15 +27,71 @@
<name>WorkflowDefinitionId_param</name>
<expose v="true" />
</entityParameter>
<entityField>
<name>KEY</name>
<title>Key</title>
</entityField>
<entityField>
<name>ISACTIVE</name>
<title>Active</title>
<contentType>BOOLEAN</contentType>
<dropDownProcess>%aditoprj%/entity/WorkflowInstance_entity/entityfields/isactive/dropDownProcess.js</dropDownProcess>
</entityField>
<entityField>
<name>PROCESSDEFINITION_ID</name>
</entityField>
<entityField>
<name>PROCESSDEFINITIONNAME</name>
</entityField>
<entityField>
<name>START_TIME</name>
<title>Start date</title>
<contentType>DATE</contentType>
</entityField>
<entityParameter>
<name>WorkflowDefinitionKey_param</name>
<expose v="true" />
<mandatory v="true" />
</entityParameter>
<entityParameter>
<name>Category_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>Active_param</name>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<isFilterable v="true" />
<isSortable v="true" />
<contentProcess>%aditoprj%/entity/WorkflowInstance_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/WorkflowInstance_entity/recordcontainers/jdito/onInsert.js</onInsert>
<onDelete>%aditoprj%/entity/WorkflowInstance_entity/recordcontainers/jdito/onDelete.js</onDelete>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>KEY.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ISACTIVE.value</name>
<isFilterable v="true" />
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>PROCESSDEFINITIONNAME.value</name>
<isFilterable v="true" />
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>PROCESSDEFINITION_ID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>START_TIME.value</name>
<isFilterable v="true" />
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
</recordContainers>
......
import("system.translate");
import("system.result");
result.object([
["true", translate.text("Yes")],
["false", translate.text("No")]
]);
\ No newline at end of file
import("Util_lib");
import("JditoFilter_lib");
import("system.datetime");
import("system.result");
import("system.logging");
import("Workflow_lib");
import("system.vars");
import("system.workflow");
var workflowDefId = vars.get("$param.WorkflowDefinitionId_param");
var loadConfig = workflow.createConfigForLoadingProcessInstances()
.processDefinitionId(workflowDefId);
var wfInstances = workflow.getProcessInstances(loadConfig);
\ No newline at end of file
logging.log(workflowDefId)
var wfInstances = WorkflowInstanceUtils.getInstances(workflowDefId, vars.get("$param.WorkflowDefinitionKey_param"));
logging.log(JSON.stringify(wfInstances, null, "\t"))
wfInstances = wfInstances.map(function (currentInstance)
{
return [
currentInstance.id,
currentInstance.key,
currentInstance.active,
currentInstance.processDefinitionName,
currentInstance.processDefinitionId,
Date.parse(currentInstance.startTime).toString()
];
});
wfInstances = JditoFilterUtils.filterRecords(["UID", "KEY", "ISACTIVE", "PROCESSDEFINITIONNAME", "PROCESSDEFINITION_ID", "START_TIME"], wfInstances, vars.get("$local.filter").filter);
result.object(wfInstances);
\ No newline at end of file
import("system.vars");
import("system.workflow");
workflow.deleteProcessInstance(vars.get("$local.uid"), "");
\ No newline at end of file
import("system.vars");
import("system.workflow");
workflow.startProcessByKey(vars.get("$param.WorkflowDefinitionKey_param"), {});
\ No newline at end of file
......@@ -20,10 +20,14 @@
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<contentProcess>%aditoprj%/entity/WorkflowTask_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>FORMDEFINITION.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
</recordContainers>
......
......@@ -5220,6 +5220,18 @@
<entry>
<key>Responsible AD supervisor</key>
</entry>
<entry>
<key>Show my contacts</key>
</entry>
<entry>
<key>My contacts</key>
</entry>
<entry>
<key>Show my organisations</key>
</entry>
<entry>
<key>My organisations</key>
</entry>
</keyValueMap>
<font name="Dialog" style="0" size="11" />
<sqlModels>
......
......@@ -5270,6 +5270,18 @@
<entry>
<key>Responsible AD supervisor</key>
</entry>
<entry>
<key>Show my contacts</key>
</entry>
<entry>
<key>My contacts</key>
</entry>
<entry>
<key>Show my organisations</key>
</entry>
<entry>
<key>My organisations</key>
</entry>
</keyValueMap>
<font name="Dialog" style="0" size="11" />
</language>
<?xml version="1.0" encoding="UTF-8"?>
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
<name>WorkflowDefinition</name>
<title>Workflow definition</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<mainview>WorkflowDefinitionMain_view</mainview>
<filterview>WorkflowDefinitionFilter_view</filterview>
<editview>WorkflowDefinitionEdit_view</editview>
<preview>WorkflowDefinitionPreview_view</preview>
<mainView>WorkflowDefinitionMain_view</mainView>
<filterView>WorkflowDefinitionFilter_view</filterView>
<editView>WorkflowDefinitionEdit_view</editView>
<previewView>WorkflowDefinitionPreview_view</previewView>
<entity>WorkflowDefinition_entity</entity>
<references>
<neonViewReference>
......
<?xml version="1.0" encoding="UTF-8"?>
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
<name>WorkflowInstance</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<filterview>WorkflowInstanceFilter_view</filterview>
<filterView>WorkflowInstanceFilter_view</filterView>
<editView>WorkflowInstanceEdit_view</editView>
<entity>WorkflowInstance_entity</entity>
<references>
<neonViewReference>
......@@ -13,5 +14,9 @@
<name>f80251a2-25e3-41f3-a933-6663e733ed7a</name>
<view>WorkflowInstancePreview_view</view>
</neonViewReference>
<neonViewReference>
<name>9ea113a4-98ec-4634-a8f2-a0dafce3fc22</name>
<view>WorkflowInstanceEdit_view</view>
</neonViewReference>
</references>
</neonContext>
<?xml version="1.0" encoding="UTF-8"?>
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
<name>WorkflowTask</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<entity>WorkflowTask_entity</entity>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment