PM-3324 "REST endpoint PUT /cases/{app_uid}/reassign-case" SOLVED
> Code Isuue:
0017925: REST endpoint PUT /cases/{app_uid}/reassign-case can not reassign cases to ad hoc users
> Solution:
Se agrega validacion en el siguiente Endpoint cuando se utiliza el servicio REST, el mismo se puede reasingar un caso
a un usuario de tipo Ad Hoc.
PUT /cases/{app_uid}/reassign-case
This commit is contained in:
@@ -328,9 +328,10 @@ class Derivation
|
|||||||
/* get all users, from any task, if the task have Groups, the function expand the group
|
/* get all users, from any task, if the task have Groups, the function expand the group
|
||||||
*
|
*
|
||||||
* @param string $sTasUid the task uidUser
|
* @param string $sTasUid the task uidUser
|
||||||
|
* @param bool $flagIncludeAdHocUsers
|
||||||
* @return Array $users an array with userID order by USR_UID
|
* @return Array $users an array with userID order by USR_UID
|
||||||
*/
|
*/
|
||||||
function getAllUsersFromAnyTask ($sTasUid)
|
function getAllUsersFromAnyTask($sTasUid, $flagIncludeAdHocUsers = false)
|
||||||
{
|
{
|
||||||
$users = array ();
|
$users = array ();
|
||||||
$c = new Criteria( 'workflow' );
|
$c = new Criteria( 'workflow' );
|
||||||
@@ -338,7 +339,16 @@ class Derivation
|
|||||||
$c->addSelectColumn( TaskUserPeer::USR_UID );
|
$c->addSelectColumn( TaskUserPeer::USR_UID );
|
||||||
$c->addSelectColumn( TaskUserPeer::TU_RELATION );
|
$c->addSelectColumn( TaskUserPeer::TU_RELATION );
|
||||||
$c->add( TaskUserPeer::TAS_UID, $sTasUid );
|
$c->add( TaskUserPeer::TAS_UID, $sTasUid );
|
||||||
|
|
||||||
|
if ($flagIncludeAdHocUsers) {
|
||||||
|
$c->add(
|
||||||
|
$c->getNewCriterion(TaskUserPeer::TU_TYPE, 1, Criteria::EQUAL)->addOr(
|
||||||
|
$c->getNewCriterion(TaskUserPeer::TU_TYPE, 2, Criteria::EQUAL))
|
||||||
|
);
|
||||||
|
} else {
|
||||||
$c->add(TaskUserPeer::TU_TYPE, 1);
|
$c->add(TaskUserPeer::TU_TYPE, 1);
|
||||||
|
}
|
||||||
|
|
||||||
$rs = TaskUserPeer::DoSelectRs( $c );
|
$rs = TaskUserPeer::DoSelectRs( $c );
|
||||||
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||||
$rs->next();
|
$rs->next();
|
||||||
@@ -1245,4 +1255,3 @@ class Derivation
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2891,7 +2891,7 @@ class wsBase
|
|||||||
|
|
||||||
$tasUid = $aRow['TAS_UID'];
|
$tasUid = $aRow['TAS_UID'];
|
||||||
$derivation = new Derivation();
|
$derivation = new Derivation();
|
||||||
$userList = $derivation->getAllUsersFromAnyTask( $tasUid );
|
$userList = $derivation->getAllUsersFromAnyTask($tasUid, true);
|
||||||
|
|
||||||
if (! in_array( $userIdTarget, $userList )) {
|
if (! in_array( $userIdTarget, $userList )) {
|
||||||
$result = new wsResponse( 34, G::loadTranslation( 'ID_TARGET_USER_DOES_NOT_HAVE_RIGHTS' ) );
|
$result = new wsResponse( 34, G::loadTranslation( 'ID_TARGET_USER_DOES_NOT_HAVE_RIGHTS' ) );
|
||||||
@@ -3370,4 +3370,3 @@ class wsBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user