Files
luos/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml
jennylee e116e77379 BUG-14598. NEW FEATURE SelfService One Execution.
A dropdown was added in the SelfService configuration, this dropdown let you set if the trigger seted in the self service is gonna be executed ONE time or every time that cron is executed.

Some validations where added in the cron_single.php file to save the data in the new table 'APP_TIMEOUT_ACTION_EXECUTED' when the Execution is set in ONCE. If the app_UID is find in this table the trigger will not be executed, if is not find the trigger will be executed.
2014-09-08 13:28:14 -04:00

284 lines
11 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8"?>
<dynaForm name="tasks_AssignmentRules" width="99%" mode="edit" enableTemplate="0" border="0" height="305px">
<TAS_UID type="hidden"/>
<INDEX type="hidden"/>
<IFORM type="hidden"/>
<PRO_UID type="private"/>
<LANG type="private"/>
<TAS_ASSIGN_TYPE type="radiogroup" defaultvalue="BALANCED" group="1">
<en><![CDATA[Case to be assigned by]]><option name="BALANCED"><![CDATA[Cyclical Assignment]]></option><option name="MANUAL"><![CDATA[Manual Assignment]]></option><option name="EVALUATE"><![CDATA[Value Based Assignment]]></option><option name="REPORT_TO"><![CDATA[Reports to]]></option><option name="SELF_SERVICE"><![CDATA[Self Service]]></option><option name="SELF_SERVICE_EVALUATE"><![CDATA[Self Service Value Based Assignment]]></option></en>
</TAS_ASSIGN_TYPE>
<TAS_ASSIGN_VARIABLE type="textpm" size="40" maxlength="155" defaultvalue="@@SYS_NEXT_USER_TO_BE_ASSIGNED" showVars="1" process="@#PRO_UID">
<en><![CDATA[Variable for Value Based Assignment]]></en>
</TAS_ASSIGN_VARIABLE>
<TAS_GROUP_VARIABLE type="textpm" size="40" maxlength="155" defaultvalue="@@SYS_GROUP_TO_BE_ASSIGNED" showVars="1" process="@#PRO_UID">
<en><![CDATA[Variable for Self Service Value Based Assignment]]></en>
</TAS_GROUP_VARIABLE>
<!-- this feature is temporarily disabled -->
<!--TAS_MI_INSTANCE_VARIABLE type="textpm" size="40" maxlength="155" defaultvalue="@@SYS_VAR_TOTAL_INSTANCE" showVars="1" process="@#PRO_UID">
<en>Variable for No of Instances</en>
</TAS_MI_INSTANCE_VARIABLE>
<TAS_MI_COMPLETE_VARIABLE type="textpm" size="40" maxlength="155" defaultvalue="@@SYS_VAR_TOTAL_INSTANCES_COMPLETE" showVars="1" process="@#PRO_UID">
<en>Variable for No of Instances to complete</en>
</TAS_MI_COMPLETE_VARIABLE-->
<TAS_SELFSERVICE_TIMEOUT type="checkbox" value="1">
<en><![CDATA[Set a timeout]]></en>
</TAS_SELFSERVICE_TIMEOUT>
<TAS_SELFSERVICE_TIME type="text" required="1" validate="Int" size="3">
<en><![CDATA[Time]]></en>
</TAS_SELFSERVICE_TIME>
<TAS_SELFSERVICE_TIME_UNIT type="dropdown">
<en><![CDATA[Time unit]]><option name="HOURS"><![CDATA[Hours]]></option><option name="DAYS"><![CDATA[Days]]></option></en>
</TAS_SELFSERVICE_TIME_UNIT>
<TAS_SELFSERVICE_TRIGGER_UID type="dropdown" required="1"><![CDATA[
SELECT TGR.TRI_UID, CON.CON_VALUE
FROM TRIGGERS AS TGR, CONTENT AS CON
WHERE TGR.PRO_UID = '@#PRO_UID' AND
TGR.TRI_UID = CON.CON_ID AND CON.CON_CATEGORY = 'TRI_TITLE' AND CON.CON_LANG = '@#LANG'
ORDER BY CON.CON_VALUE ASC
]]><en><![CDATA[Trigger to execute]]><option name=""><![CDATA[- Select a trigger -]]></option></en></TAS_SELFSERVICE_TRIGGER_UID>
<TAS_SELFSERVICE_EXECUTION type="dropdown">
<en><![CDATA[Execute Trigger]]><option name="EVERY_TIME"><![CDATA[Every time scheduled by cron]]></option><option name="ONCE"><![CDATA[Once]]></option></en>
</TAS_SELFSERVICE_EXECUTION>
<JS type="javascript"><![CDATA[
var selfServiceTimeoutDataShow = function (sw)
{
hideRowById("TAS_SELFSERVICE_TIME");
hideRowById("TAS_SELFSERVICE_TIME_UNIT");
hideRowById("TAS_SELFSERVICE_TRIGGER_UID");
hideRowById("TAS_SELFSERVICE_EXECUTION");
if (sw == true) {
showRowById("TAS_SELFSERVICE_TIME");
showRowById("TAS_SELFSERVICE_TIME_UNIT");
showRowById("TAS_SELFSERVICE_TRIGGER_UID");
showRowById("TAS_SELFSERVICE_EXECUTION");
}
};
var showTextpm = function ()
{
hideRowById("TAS_ASSIGN_VARIABLE");
hideRowById("TAS_GROUP_VARIABLE");
/* this feature is temporarily disabled
hideRowById("TAS_MI_INSTANCE_VARIABLE");
hideRowById("TAS_MI_COMPLETE_VARIABLE");
*/
hideRowById("TAS_SELFSERVICE_TIMEOUT");
selfServiceTimeoutDataShow(false);
/* this feature is temporarily disabled
if(getField("TAS_ASSIGN_TYPE][STATIC_MI").checked == true || getField("TAS_ASSIGN_TYPE][CANCEL_MI").checked == true) {
showRowById("TAS_MI_INSTANCE_VARIABLE");
showRowById("TAS_MI_COMPLETE_VARIABLE");
hideRowById("TAS_ASSIGN_VARIABLE");
} else */
if (getField("TAS_ASSIGN_TYPE][EVALUATE").checked == true) {
getField("TAS_SELFSERVICE_TIMEOUT").checked = false;
showRowById("TAS_ASSIGN_VARIABLE");
//getField("TAS_GROUP_VARIABLE").value = "";
} else {
if (getField("TAS_ASSIGN_TYPE][SELF_SERVICE_EVALUATE") && getField("TAS_ASSIGN_TYPE][SELF_SERVICE_EVALUATE").checked) {
showRowById("TAS_GROUP_VARIABLE");
showRowById("TAS_SELFSERVICE_TIMEOUT");
if (getField("TAS_GROUP_VARIABLE").value == "") {
getField("TAS_GROUP_VARIABLE").value = "@" + "@" + "SYS_GROUP_TO_BE_ASSIGNED"; //the class xmlform replace this variable @@SYS_GROUP_TO_BE_ASSIGNED
}
selfServiceTimeoutDataShow(getField("TAS_SELFSERVICE_TIMEOUT").checked);
} else {
if (getField("TAS_ASSIGN_TYPE][SELF_SERVICE").checked) {
showRowById("TAS_SELFSERVICE_TIMEOUT");
selfServiceTimeoutDataShow(getField("TAS_SELFSERVICE_TIMEOUT").checked);
} else {
getField("TAS_SELFSERVICE_TIMEOUT").checked = false;
//getField("TAS_GROUP_VARIABLE").value = "";
}
}
}
};
/* Recovery data */
if (aTaskFlag[1])
{
switch (oTaskData.TAS_ASSIGN_TYPE)
{
case "SELF_SERVICE":
case "SELF_SERVICE_EVALUATE":
if (oTaskData.TAS_ASSIGN_TYPE == "SELF_SERVICE") {
getField("TAS_ASSIGN_TYPE][SELF_SERVICE").checked = true;
} else {
getField("TAS_GROUP_VARIABLE").value = oTaskData.TAS_GROUP_VARIABLE;
if (getField("TAS_ASSIGN_TYPE][SELF_SERVICE_EVALUATE")) {
getField("TAS_ASSIGN_TYPE][SELF_SERVICE_EVALUATE").checked = true;
}
}
getField("TAS_SELFSERVICE_TIMEOUT").checked = (oTaskData.TAS_SELFSERVICE_TIMEOUT == 1)? true : false;
getField("TAS_SELFSERVICE_TIME").value = oTaskData.TAS_SELFSERVICE_TIME;
if (oTaskData.TAS_SELFSERVICE_TIME_UNIT != "") {
getField("TAS_SELFSERVICE_TIME_UNIT").value = oTaskData.TAS_SELFSERVICE_TIME_UNIT;
}
getField("TAS_SELFSERVICE_TRIGGER_UID").value = oTaskData.TAS_SELFSERVICE_TRIGGER_UID;
getField("TAS_SELFSERVICE_EXECUTION").value = oTaskData.TAS_SELFSERVICE_EXECUTION;
showTextpm();
break;
case 'REPORT_TO':
getField('TAS_ASSIGN_TYPE][REPORT_TO').checked = true;
showTextpm();
break;
case 'BALANCED':
getField('TAS_ASSIGN_TYPE][BALANCED').checked = true;
showTextpm();
break;
case 'MANUAL':
getField('TAS_ASSIGN_TYPE][MANUAL').checked = true;
showTextpm();
break;
case 'EVALUATE':
getField('TAS_ASSIGN_TYPE][EVALUATE').checked = true;
showTextpm();
break;
case 'SELFSERVICE':
getField('TAS_ASSIGN_TYPE][SELFSERVICE').checked = true;
showTextpm();
break;
/* this feature is temporarily disabled
case 'STATIC_MI':
getField('TAS_ASSIGN_TYPE][STATIC_MI').checked = true;
showTextpm();
break;
case 'CANCEL_MI':
getField('TAS_ASSIGN_TYPE][CANCEL_MI').checked = true;
showTextpm();
break;*/
}
getField('TAS_ASSIGN_VARIABLE').value = oTaskData.TAS_ASSIGN_VARIABLE;
/*
getField('TAS_MI_INSTANCE_VARIABLE').value = oTaskData.TAS_MI_INSTANCE_VARIABLE;
getField('TAS_MI_COMPLETE_VARIABLE').value = oTaskData.TAS_MI_COMPLETE_VARIABLE;
*/
/*getField('TAS_DERIVATION').checked = (oTaskData.TAS_DERIVATION == 'TRUE' ? true : false);
getField('TAS_PRIORITY_VARIABLE').checked = (oTaskData.TAS_PRIORITY_VARIABLE == 'TRUE' ? true : false);
getField('TAS_ASSIGN_LOCATION').checked = (oTaskData.TAS_ASSIGN_LOCATION == 'TRUE' ? true : false);
getField('TAS_ASSIGN_LOCATION_ADHOC').checked = (oTaskData.TAS_ASSIGN_LOCATION_ADHOC == 'TRUE' ? true : false);
getField('TAS_OWNER_APP').value = oTaskData.TAS_OWNER_APP;*/
}
else
{
saveDataTaskTemporal(2);
aTaskFlag[1] = true;
showTextpm();
}
leimnud.event.add(getField('TAS_ASSIGN_TYPE][SELF_SERVICE'), 'click', function() {
showTextpm();
});
if (getField("TAS_ASSIGN_TYPE][SELF_SERVICE_EVALUATE")) {
leimnud.event.add(
getField("TAS_ASSIGN_TYPE][SELF_SERVICE_EVALUATE"),
"click",
function ()
{
showTextpm();
}
);
}
leimnud.event.add(getField('TAS_ASSIGN_TYPE][REPORT_TO'), 'click', function() {
showTextpm();
});
leimnud.event.add(getField('TAS_ASSIGN_TYPE][BALANCED'), 'click', function() {
showTextpm();
});
leimnud.event.add(getField('TAS_ASSIGN_TYPE][MANUAL'), 'click', function() {
showTextpm();
});
leimnud.event.add(getField('TAS_ASSIGN_TYPE][EVALUATE'), 'click', function() {
showTextpm();
});
/* this feature is temporarily disabled
leimnud.event.add(getField('TAS_ASSIGN_TYPE][STATIC_MI'), 'click', function() {
showTextpm();
});
leimnud.event.add(getField('TAS_ASSIGN_TYPE][CANCEL_MI'), 'click', function() {
showTextpm();
});*/
if (!getField('TAS_ASSIGN_TYPE][EVALUATE').checked) {
showTextpm();
}
leimnud.event.add(getField("TAS_SELFSERVICE_TIMEOUT"), "click", function () {
selfServiceTimeoutDataShow(getField("TAS_SELFSERVICE_TIMEOUT").checked);
});
var _oVarsPanel_;
var showDynaformsFormVars = function(sFieldName, sAjaxServer, sProcess, sSymbol) {
_oVarsPanel_ = new leimnud.module.panel();
_oVarsPanel_.options = {
limit : true,
size : {w:600,h:420},
position : {x:0,y:0,center:true},
title : '',
theme : 'processmaker',
statusBar: false,
control : {drag:false,resize:true,close:true},
fx : {opacity:true,rolled:false,modal:true}
};
_oVarsPanel_.make();
_oVarsPanel_.events = {
remove:function() {
delete _oVarsPanel_;
}.extend(this)
};
_oVarsPanel_.loader.show();
oRPC = new leimnud.module.rpc.xmlhttp({
url : sAjaxServer,
method: 'POST',
args : 'sFieldName=' + sFieldName + '&sProcess=' + sProcess + '&sSymbol=' + sSymbol + '&sNoShowLeyend=1'
});
oRPC.callback = function(oRPC) {
_oVarsPanel_.loader.hide();
var scs = oRPC.xmlhttp.responseText.extractScript();
_oVarsPanel_.addContent(oRPC.xmlhttp.responseText);
scs.evalScript();
}.extend(this);
oRPC.make();
};
var insertFormVar = function(sFieldName, sValue) {
oAux = document.getElementById(sFieldName);
if (oAux.setSelectionRange) {
oAux.value = '';
var rangeStart = oAux.selectionStart;
var rangeEnd = oAux.selectionEnd;
var tempStr1 = oAux.value.substring(0,rangeStart);
var tempStr2 = oAux.value.substring(rangeEnd);
oAux.value = tempStr1 + sValue + tempStr2;
}
else {
if (document.selection) {
oAux.focus();
oAux.value = '';
document.selection.createRange().text = sValue;
}
}
_oVarsPanel_.remove();
};
]]></JS>
</dynaForm>