Se agregan validaciones para usuarios y grupos
This commit is contained in:
@@ -861,21 +861,50 @@ class Task
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$iType = 1;
|
$iType = 1;
|
||||||
|
$oCriteria = new \Criteria('workflow');
|
||||||
|
$oCriteria->addSelectColumn( \TaskUserPeer::TU_RELATION );
|
||||||
|
$oCriteria->add(\TaskUserPeer::USR_UID, $sAssigneeUID );
|
||||||
|
$oCriteria->add(\TaskUserPeer::TAS_UID, $sTaskUID );
|
||||||
|
$oCriteria->add(\TaskUserPeer::TU_TYPE, $iType );
|
||||||
|
$oTaskUser = \TaskUserPeer::doSelectRS( $oCriteria );
|
||||||
|
$oTaskUser->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
|
while ($oTaskUser->next()) {
|
||||||
|
$aRow = $oTaskUser->getRow();
|
||||||
|
$iRelation = $aRow['TU_RELATION'];
|
||||||
|
}
|
||||||
|
$oTaskUser = \TaskUserPeer::retrieveByPK( $sTaskUID, $sAssigneeUID, $iType, $iRelation );
|
||||||
|
if (! is_null( $oTaskUser )) {
|
||||||
|
throw (new \Exception( 'This id: '. $sAssigneeUID .' is already assigned to task: ' . $sTaskUID ));
|
||||||
|
} else {
|
||||||
|
$oTypeAssigneeG = \GroupwfPeer::retrieveByPK( $sAssigneeUID );
|
||||||
|
$oTypeAssigneeU = \UsersPeer::retrieveByPK( $sAssigneeUID );
|
||||||
|
if (is_null( $oTypeAssigneeG ) && is_null( $oTypeAssigneeU ) ) {
|
||||||
|
throw (new \Exception( 'This id: '. $sAssigneeUID .' do not correspond to a registered ' .$assType ));
|
||||||
|
}
|
||||||
|
if (is_null( $oTypeAssigneeG ) && ! is_null( $oTypeAssigneeU) ) {
|
||||||
|
$type = "user";
|
||||||
|
if ( $type != $assType ) {
|
||||||
|
throw (new \Exception( 'This id: '. $sAssigneeUID .' do not correspond to a registered ' .$assType ));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (! is_null( $oTypeAssigneeG ) && is_null( $oTypeAssigneeU ) ) {
|
||||||
|
$type = "group";
|
||||||
|
if ( $type != $assType ) {
|
||||||
|
throw (new \Exception( 'This id: '. $sAssigneeUID .' do not correspond to a registered ' .$assType ));
|
||||||
|
}
|
||||||
|
}
|
||||||
$oTaskUser = new \TaskUser();
|
$oTaskUser = new \TaskUser();
|
||||||
if ( $assType == "user" ) {
|
if ( $assType == "user" ) {
|
||||||
$oTaskUser->create(array('TAS_UID' => $sTaskUID,
|
$oTaskUser->create(array('TAS_UID' => $sTaskUID,
|
||||||
'USR_UID' => $sAssigneeUID,
|
'USR_UID' => $sAssigneeUID,
|
||||||
'TU_TYPE' => $iType,
|
'TU_TYPE' => $iType,
|
||||||
'TU_RELATION' => 1));
|
'TU_RELATION' => 1));
|
||||||
return array('aas_uid' => $sAssigneeUID,
|
|
||||||
'aas_type' => $assType);
|
|
||||||
} else {
|
} else {
|
||||||
$oTaskUser->create(array('TAS_UID' => $sTaskUID,
|
$oTaskUser->create(array('TAS_UID' => $sTaskUID,
|
||||||
'USR_UID' => $sAssigneeUID,
|
'USR_UID' => $sAssigneeUID,
|
||||||
'TU_TYPE' => $iType,
|
'TU_TYPE' => $iType,
|
||||||
'TU_RELATION' => 2));
|
'TU_RELATION' => 2));
|
||||||
return array('aas_uid' => $sAssigneeUID,
|
}
|
||||||
'aas_type' => $assType);
|
|
||||||
}
|
}
|
||||||
} catch ( Exception $e ) {
|
} catch ( Exception $e ) {
|
||||||
throw $e;
|
throw $e;
|
||||||
@@ -1199,21 +1228,50 @@ class Task
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$iType = 2;
|
$iType = 2;
|
||||||
|
$oCriteria = new \Criteria('workflow');
|
||||||
|
$oCriteria->addSelectColumn( \TaskUserPeer::TU_RELATION );
|
||||||
|
$oCriteria->add(\TaskUserPeer::USR_UID, $sAssigneeUID );
|
||||||
|
$oCriteria->add(\TaskUserPeer::TAS_UID, $sTaskUID );
|
||||||
|
$oCriteria->add(\TaskUserPeer::TU_TYPE, $iType );
|
||||||
|
$oTaskUser = \TaskUserPeer::doSelectRS( $oCriteria );
|
||||||
|
$oTaskUser->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
|
while ($oTaskUser->next()) {
|
||||||
|
$aRow = $oTaskUser->getRow();
|
||||||
|
$iRelation = $aRow['TU_RELATION'];
|
||||||
|
}
|
||||||
|
$oTaskUser = \TaskUserPeer::retrieveByPK( $sTaskUID, $sAssigneeUID, $iType, $iRelation );
|
||||||
|
if (! is_null( $oTaskUser )) {
|
||||||
|
throw (new \Exception( 'This id: '. $sAssigneeUID .' is already assigned to task: ' . $sTaskUID ));
|
||||||
|
} else {
|
||||||
|
$oTypeAssigneeG = \GroupwfPeer::retrieveByPK( $sAssigneeUID );
|
||||||
|
$oTypeAssigneeU = \UsersPeer::retrieveByPK( $sAssigneeUID );
|
||||||
|
if (is_null( $oTypeAssigneeG ) && is_null( $oTypeAssigneeU ) ) {
|
||||||
|
throw (new \Exception( 'This id: '. $sAssigneeUID .' do not correspond to a registered ' .$assType ));
|
||||||
|
}
|
||||||
|
if (is_null( $oTypeAssigneeG ) && ! is_null( $oTypeAssigneeU) ) {
|
||||||
|
$type = "user";
|
||||||
|
if ( $type != $assType ) {
|
||||||
|
throw (new \Exception( 'This id: '. $sAssigneeUID .' do not correspond to a registered ' .$assType ));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (! is_null( $oTypeAssigneeG ) && is_null( $oTypeAssigneeU ) ) {
|
||||||
|
$type = "group";
|
||||||
|
if ( $type != $assType ) {
|
||||||
|
throw (new \Exception( 'This id: '. $sAssigneeUID .' do not correspond to a registered ' .$assType ));
|
||||||
|
}
|
||||||
|
}
|
||||||
$oTaskUser = new \TaskUser();
|
$oTaskUser = new \TaskUser();
|
||||||
if ( $assType == "user" ) {
|
if ( $assType == "user" ) {
|
||||||
$oTaskUser->create(array('TAS_UID' => $sTaskUID,
|
$oTaskUser->create(array('TAS_UID' => $sTaskUID,
|
||||||
'USR_UID' => $sAssigneeUID,
|
'USR_UID' => $sAssigneeUID,
|
||||||
'TU_TYPE' => $iType,
|
'TU_TYPE' => $iType,
|
||||||
'TU_RELATION' => 1));
|
'TU_RELATION' => 1));
|
||||||
return array('aas_uid' => $sAssigneeUID,
|
|
||||||
'aas_type' => $assType);
|
|
||||||
} else {
|
} else {
|
||||||
$oTaskUser->create(array('TAS_UID' => $sTaskUID,
|
$oTaskUser->create(array('TAS_UID' => $sTaskUID,
|
||||||
'USR_UID' => $sAssigneeUID,
|
'USR_UID' => $sAssigneeUID,
|
||||||
'TU_TYPE' => $iType,
|
'TU_TYPE' => $iType,
|
||||||
'TU_RELATION' => 2));
|
'TU_RELATION' => 2));
|
||||||
return array('aas_uid' => $sAssigneeUID,
|
}
|
||||||
'aas_type' => $assType);
|
|
||||||
}
|
}
|
||||||
} catch ( Exception $e ) {
|
} catch ( Exception $e ) {
|
||||||
throw $e;
|
throw $e;
|
||||||
|
|||||||
@@ -99,8 +99,6 @@ class Assignee extends Api
|
|||||||
try {
|
try {
|
||||||
$task = new \BusinessModel\Task();
|
$task = new \BusinessModel\Task();
|
||||||
$arrayData = $task->addTaskAssignee($prjUid, $actUid, $ass_uid, $ass_type);
|
$arrayData = $task->addTaskAssignee($prjUid, $actUid, $ass_uid, $ass_type);
|
||||||
//Response
|
|
||||||
$response = $arrayData;
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
//Response
|
//Response
|
||||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||||
@@ -138,7 +136,7 @@ class Assignee extends Api
|
|||||||
* @param int $limit
|
* @param int $limit
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function doGetActivityAdhocAssignees($prjUid, $actUid, $filter = '', $start = '1', $limit = '50')
|
public function doGetActivityAdhocAssignees($prjUid, $actUid, $filter = '', $start = '0', $limit = '50')
|
||||||
{
|
{
|
||||||
$response = array();
|
$response = array();
|
||||||
try {
|
try {
|
||||||
@@ -163,7 +161,7 @@ class Assignee extends Api
|
|||||||
* @param int $limit
|
* @param int $limit
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function doGetActivityAvailableAdhocAssignee($prjUid, $actUid, $filter = '', $start = '1', $limit = '50')
|
public function doGetActivityAvailableAdhocAssignee($prjUid, $actUid, $filter = '', $start = '0', $limit = '50')
|
||||||
{
|
{
|
||||||
$response = array();
|
$response = array();
|
||||||
try {
|
try {
|
||||||
@@ -216,8 +214,6 @@ class Assignee extends Api
|
|||||||
try {
|
try {
|
||||||
$task = new \BusinessModel\Task();
|
$task = new \BusinessModel\Task();
|
||||||
$arrayData = $task->addTaskAdhocAssignee($prjUid, $actUid, $ass_uid, $ass_type);
|
$arrayData = $task->addTaskAdhocAssignee($prjUid, $actUid, $ass_uid, $ass_type);
|
||||||
//Response
|
|
||||||
$response = $arrayData;
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
//response
|
//response
|
||||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||||
|
|||||||
Reference in New Issue
Block a user