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:
@@ -493,15 +493,27 @@ class Cases
|
||||
}
|
||||
|
||||
if ($APP_UID != '') {
|
||||
$groupsInstance = new Groups();
|
||||
$groups = $groupsInstance->getActiveGroupsForAnUser($USR_UID);
|
||||
$taskInstance = new Task();
|
||||
|
||||
$taskData = $taskInstance->Load($TAS_UID);
|
||||
$tasGroupVariable = str_replace(array('@', '#'), '', $taskData['TAS_GROUP_VARIABLE']);
|
||||
$caseData = $this->LoadCase($APP_UID);
|
||||
|
||||
if (isset($caseData['APP_DATA'][$tasGroupVariable])) {
|
||||
if (trim($caseData['APP_DATA'][$tasGroupVariable]) != '') {
|
||||
if (in_array(trim($caseData['APP_DATA'][$tasGroupVariable]), $groups)) {
|
||||
$dataVariable = $caseData["APP_DATA"][$tasGroupVariable];
|
||||
|
||||
if (is_array($dataVariable)) {
|
||||
//UIDs of Users
|
||||
if (!empty($dataVariable) && in_array($USR_UID, $dataVariable)) {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
//UID of Group
|
||||
$dataVariable = trim($dataVariable);
|
||||
|
||||
$group = new Groups();
|
||||
|
||||
if (!empty($dataVariable) && in_array($dataVariable, $group->getActiveGroupsForAnUser($USR_UID))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user