Files
luos/workflow/engine/xmlform/patterns/patterns_Current.xml

224 lines
7.1 KiB
XML
Raw Normal View History

2010-12-02 23:34:41 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<dynaForm name="patterns_Current" type="xmlform" width="100%" enableTemplate="1">
2014-04-21 10:21:01 -04:00
<action type="hidden"/>
<LANG type="private"/>
<ROU_UID type="hidden"/>
<PROCESS type="hidden"/>
<TASK type="hidden"/>
<ROU_TYPE_OLD type="hidden"/>
<TITLE type="title" showInTable="0">
<en><![CDATA[Workflow Pattern]]></en>
</TITLE>
<ROU_TYPE type="dropdown">
<en><![CDATA[Type]]><option name=""><![CDATA[- Select -]]></option><option name="SEQUENTIAL"><![CDATA[Sequential]]></option><option name="SELECT"><![CDATA[Selection]]></option><option name="EVALUATE"><![CDATA[Evaluation]]></option><option name="PARALLEL"><![CDATA[Parallel (fork)]]></option><option name="PARALLEL-BY-EVALUATION"><![CDATA[Parallel by evaluation (fork)]]></option><option name="SEC-JOIN"><![CDATA[Parallel (join)]]></option></en>
</ROU_TYPE>
<ROU_NEXT_TASK type="dropdown"><![CDATA[
2010-12-02 23:34:41 +00:00
SELECT TAS_UID, CON_VALUE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = '@#LANG') WHERE PRO_UID = '@#PROCESS'
2014-04-21 10:21:01 -04:00
]]><en><![CDATA[Next Task]]><option name="-1"><![CDATA[End of process]]></option><option name="-2"><![CDATA[Leaf task]]></option></en></ROU_NEXT_TASK>
<ROU_TO_LAST_USER type="dropdown">
<en><![CDATA[Selection of executant]]><option name="FALSE"><![CDATA[Rules and user groups]]></option><option name="TRUE"><![CDATA[Last executant of the task]]></option></en>
</ROU_TO_LAST_USER>
<GRID_SELECT_TYPE type="grid" xmlgrid="patterns/patterns_GridSelectType" addRow="1" deleteRow="1" editRow=""/>
<GRID_EVALUATE_TYPE type="grid" xmlgrid="patterns/patterns_GridEvaluateType" addRow="1" deleteRow="1" editRow=""/>
<GRID_PARALLEL_TYPE type="grid" xmlgrid="patterns/patterns_GridParallelType" addRow="1" deleteRow="1" editRow=""/>
<GRID_PARALLEL_EVALUATION_TYPE type="grid" xmlgrid="patterns/patterns_GridParallelByEvaluationType" addRow="1" deleteRow="1" editRow=""/>
<SAVE type="button" onclick="savePattern(this.form);">
<en><![CDATA[Save]]></en>
</SAVE>
<JS type="javascript"><![CDATA[
2010-12-02 23:34:41 +00:00
var savePattern = function(oForm)
{
var oAux;
var oType = getField('ROU_TYPE');
var oOldType = getField('ROU_TYPE_OLD');
var i = 1;
var aData = {};
var bContinue = true;
if (oType.value != oOldType.value)
{
if (!confirm('You are changing the pattern, are you sure?'))
{
return false;
}
}
switch (oType.value)
{
case 'SELECT':
var aAux = [];
while (oAux = document.getElementById('form[GRID_SELECT_TYPE][' + i + '][ROU_NEXT_TASK]'))
{
if (!aAux.inArray(oAux.value))
{
aAux.push(oAux.value);
}
else
{
bContinue = false;
}
i++;
}
break;
case 'EVALUATE':
var aAux = [];
while (oAux = document.getElementById('form[GRID_EVALUATE_TYPE][' + i + '][ROU_NEXT_TASK]'))
{
if (!aAux.inArray(oAux.value))
{
aAux.push(oAux.value);
}
else
{
bContinue = false;
}
i++;
}
break;
case 'PARALLEL':
var aAux = [];
while (oAux = document.getElementById('form[GRID_PARALLEL_TYPE][' + i + '][ROU_NEXT_TASK]'))
{
if (!aAux.inArray(oAux.value))
{
aAux.push(oAux.value);
}
else
{
bContinue = false;
}
i++;
}
break;
case 'PARALLEL-BY-EVALUATION':
var aAux = [];
while (oAux = document.getElementById('form[GRID_PARALLEL_EVALUATION_TYPE][' + i + '][ROU_NEXT_TASK]'))
{
if (!aAux.inArray(oAux.value))
{
aAux.push(oAux.value);
}
else
{
bContinue = false;
}
i++;
}
break;
}
if (!bContinue)
{
alert('You cannot select to the same task several times!');
return bContinue;
}
i = 1;
aData.tas_uid = getField('TASK').value;
aData.data = [];
switch (oType.value)
{
case 'SEQUENTIAL':
aData.type = 0;
aData.data.push(getField('ROU_NEXT_TASK').value);
break;
case 'SELECT':
aData.type = 1;
while (oAux = document.getElementById('form[GRID_SELECT_TYPE][' + i + '][ROU_NEXT_TASK]'))
{
aData.data.push(oAux.value);
i++;
}
break;
case 'EVALUATE':
aData.type = 2;
while (oAux = document.getElementById('form[GRID_EVALUATE_TYPE][' + i + '][ROU_NEXT_TASK]'))
{
aData.data.push(oAux.value);
i++;
}
break;
case 'PARALLEL':
aData.type = 3;
while (oAux = document.getElementById('form[GRID_PARALLEL_TYPE][' + i + '][ROU_NEXT_TASK]'))
{
aData.data.push(oAux.value);
i++;
}
break;
case 'PARALLEL-BY-EVALUATION':
aData.type = 4;
while (oAux = document.getElementById('form[GRID_PARALLEL_EVALUATION_TYPE][' + i + '][ROU_NEXT_TASK]'))
{
aData.data.push(oAux.value);
i++;
}
break;
case 'SEC-JOIN':
aData.type = 5;
aData.data.push(getField('ROU_NEXT_TASK').value);
break;
}
Pm.data.build.derivation(aData);
ajax_post(oForm.action, oForm, 'POST');
Pm.tmp.derivationsPanel.remove();
};
var onChangePattern = function(oEvent, oType)
{
oType = (oType ? oType : oEvent.target || window.event.srcElement);
switch (oType.value)
{
case '':
hideRowById('ROU_NEXT_TASK');
hideRowById('ROU_TO_LAST_USER');
hideRowById('GRID_SELECT_TYPE');
hideRowById('GRID_EVALUATE_TYPE');
hideRowById('GRID_PARALLEL_TYPE');
hideRowById('GRID_PARALLEL_EVALUATION_TYPE');
break;
case 'SEQUENTIAL':
case 'SEC-JOIN':
showRowById('ROU_NEXT_TASK');
showRowById('ROU_TO_LAST_USER');
hideRowById('GRID_SELECT_TYPE');
hideRowById('GRID_EVALUATE_TYPE');
hideRowById('GRID_PARALLEL_TYPE');
hideRowById('GRID_PARALLEL_EVALUATION_TYPE');
break;
case 'SELECT':
hideRowById('ROU_NEXT_TASK');
hideRowById('ROU_TO_LAST_USER');
showRowById('GRID_SELECT_TYPE');
hideRowById('GRID_EVALUATE_TYPE');
hideRowById('GRID_PARALLEL_TYPE');
hideRowById('GRID_PARALLEL_EVALUATION_TYPE');
break;
case 'EVALUATE':
hideRowById('ROU_NEXT_TASK');
hideRowById('ROU_TO_LAST_USER');
hideRowById('GRID_SELECT_TYPE');
showRowById('GRID_EVALUATE_TYPE');
hideRowById('GRID_PARALLEL_TYPE');
hideRowById('GRID_PARALLEL_EVALUATION_TYPE');
break;
case 'PARALLEL':
hideRowById('ROU_NEXT_TASK');
hideRowById('ROU_TO_LAST_USER');
hideRowById('GRID_SELECT_TYPE');
hideRowById('GRID_EVALUATE_TYPE');
showRowById('GRID_PARALLEL_TYPE');
hideRowById('GRID_PARALLEL_EVALUATION_TYPE');
break;
case 'PARALLEL-BY-EVALUATION':
hideRowById('ROU_NEXT_TASK');
hideRowById('ROU_TO_LAST_USER');
hideRowById('GRID_SELECT_TYPE');
hideRowById('GRID_EVALUATE_TYPE');
hideRowById('GRID_PARALLEL_TYPE');
showRowById('GRID_PARALLEL_EVALUATION_TYPE');
break;
}
};
leimnud.event.add(getField('ROU_TYPE'), 'change', {method:onChangePattern, instance:this, event:true});
onChangePattern(null, getField('ROU_TYPE'));
]]></JS>
2014-04-21 10:21:01 -04:00
</dynaForm>