PM-3407 "0018218: Self-service value based not accepting USER ID" SOLVED

Issue:
    0018218: Self-service value based not accepting USER ID
Cause:
    Nuevo requerimiento de funciones
Solution:
    La asignacion de tipo "Self Service Value Based Assignment" ahora funciona de la siguiente manera:
        - Si se desea definir a un grupo entonces se tendra el siguiente caso:
            @@SYS_GROUP_TO_BE_ASSIGNED = "00000000000000000000000groupuid1";
        - Si se desea definir a usuarios entonces se tendra el siguiente caso:
            @@SYS_GROUP_TO_BE_ASSIGNED = array("000000000000000000000000useruid1", "000000000000000000000000useruid2");
        - Por lo que el engine reconocera lo siguiente:
            * A un array como un array de UIDs de usuarios
            * A un string como un UID de un grupo
This commit is contained in:
Victor Saisa Lopez
2015-09-01 14:57:25 -04:00
parent f2ad397343
commit fce02e1ee9
7 changed files with 79 additions and 40 deletions

View File

@@ -751,10 +751,15 @@ class Derivation
if ($taskNextDel->getTasAssignType() == "SELF_SERVICE" && trim($taskNextDel->getTasGroupVariable()) != "") {
$nextTaskGroupVariable = trim($taskNextDel->getTasGroupVariable(), " @#");
if (isset($appFields["APP_DATA"][$nextTaskGroupVariable]) && trim($appFields["APP_DATA"][$nextTaskGroupVariable]) != "") {
$appAssignSelfServiceValue = new AppAssignSelfServiceValue();
if (isset($appFields["APP_DATA"][$nextTaskGroupVariable])) {
$dataVariable = $appFields["APP_DATA"][$nextTaskGroupVariable];
$dataVariable = (is_array($dataVariable))? $dataVariable : trim($dataVariable);
$appAssignSelfServiceValue->create($appFields["APP_UID"], $iNewDelIndex, array("PRO_UID" => $appFields["PRO_UID"], "TAS_UID" => $nextDel["TAS_UID"], "GRP_UID" => trim($appFields["APP_DATA"][$nextTaskGroupVariable])));
if (!empty($dataVariable)) {
$appAssignSelfServiceValue = new AppAssignSelfServiceValue();
$appAssignSelfServiceValue->create($appFields["APP_UID"], $iNewDelIndex, array("PRO_UID" => $appFields["PRO_UID"], "TAS_UID" => $nextDel["TAS_UID"], "GRP_UID" => serialize($dataVariable)));
}
}
}
}
@@ -1001,10 +1006,15 @@ class Derivation
if ($taskNextDel->getTasAssignType() == "SELF_SERVICE" && trim($taskNextDel->getTasGroupVariable()) != "") {
$nextTaskGroupVariable = trim($taskNextDel->getTasGroupVariable(), " @#");
if (isset($aOldFields["APP_DATA"][$nextTaskGroupVariable]) && trim($aOldFields["APP_DATA"][$nextTaskGroupVariable]) != "") {
$appAssignSelfServiceValue = new AppAssignSelfServiceValue();
if (isset($aOldFields["APP_DATA"][$nextTaskGroupVariable])) {
$dataVariable = $aOldFields["APP_DATA"][$nextTaskGroupVariable];
$dataVariable = (is_array($dataVariable))? $dataVariable : trim($dataVariable);
$appAssignSelfServiceValue->create($aNewCase["APPLICATION"], $aNewCase["INDEX"], array("PRO_UID" => $aNewCase["PROCESS"], "TAS_UID" => $aSP["TAS_UID"], "GRP_UID" => trim($aOldFields["APP_DATA"][$nextTaskGroupVariable])));
if (!empty($dataVariable)) {
$appAssignSelfServiceValue = new AppAssignSelfServiceValue();
$appAssignSelfServiceValue->create($aNewCase["APPLICATION"], $aNewCase["INDEX"], array("PRO_UID" => $aNewCase["PROCESS"], "TAS_UID" => $aSP["TAS_UID"], "GRP_UID" => serialize($dataVariable)));
}
}
}
@@ -1255,3 +1265,4 @@ class Derivation
}
}
}