PM-3663 "0018557 No se puede reclamar casos de la bandeja 'Unassigned'" SOLVED

Issue:
    0018557 No se puede reclamar casos de la bandeja "Unassigned"
Cause:
    El valor de la variable tambien puede ser un usuario
Solution:
    La asignacion de tipo "Self Service Value Based Assignment" ahora funciona de la siguiente manera (ejemplo):
        - Si se desea definir a un grupo entonces se tendra el siguiente caso:
            @@SYS_GROUP_TO_BE_ASSIGNED = "00000000000000000000000groupuid1";
        - Si se desea definir a un usuario entonces se tendra el siguiente caso:
            @@SYS_USER_TO_BE_ASSIGNED = "00000000000000000000000useruid1";
        - Si se desea definir a usuarios entonces se tendra el siguiente caso:
            @@SYS_USER_TO_BE_ASSIGNED = array("000000000000000000000000useruid1", "000000000000000000000000useruid2");
        - Por lo que el engine reconocera lo siguiente:
            * A un string, como un UID de un grupo
            * A un string, como un UID de un usuario
            * A un array, como un array de UIDs de solo usuarios
This commit is contained in:
Victor Saisa Lopez
2015-09-26 12:42:53 -04:00
parent e93d5edbce
commit a362b33ffc

View File

@@ -493,14 +493,15 @@ class Cases
} }
if ($APP_UID != '') { if ($APP_UID != '') {
$taskInstance = new Task(); $task = new Task();
$arrayTaskData = $task->load($TAS_UID);
$taskData = $taskInstance->Load($TAS_UID); $taskGroupVariable = trim($arrayTaskData["TAS_GROUP_VARIABLE"], " @#");
$tasGroupVariable = str_replace(array('@', '#'), '', $taskData['TAS_GROUP_VARIABLE']);
$caseData = $this->LoadCase($APP_UID);
if (isset($caseData['APP_DATA'][$tasGroupVariable])) { $caseData = $this->loadCase($APP_UID);
$dataVariable = $caseData["APP_DATA"][$tasGroupVariable];
if (isset($caseData["APP_DATA"][$taskGroupVariable])) {
$dataVariable = $caseData["APP_DATA"][$taskGroupVariable];
if (is_array($dataVariable)) { if (is_array($dataVariable)) {
//UIDs of Users //UIDs of Users
@@ -515,6 +516,11 @@ class Cases
if (!empty($dataVariable) && in_array($dataVariable, $group->getActiveGroupsForAnUser($USR_UID))) { if (!empty($dataVariable) && in_array($dataVariable, $group->getActiveGroupsForAnUser($USR_UID))) {
return true; return true;
} else {
//UID of User
if (!empty($dataVariable) && $dataVariable == $USR_UID) {
return true;
}
} }
} }
} }