Se modifica end point de validacion de usuario mediante WS, no es necesario enviar act_uid en PROJECT USERS

This commit is contained in:
Daniel Rojas
2014-03-12 13:25:38 -04:00
parent 850952607a
commit ab04aa6e4d
2 changed files with 22 additions and 12 deletions

View File

@@ -202,13 +202,14 @@ class ProjectUser
* Return the user that can start a task
*
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $sActivityUID {@min 32} {@max 32}
* @param array $oData
*
* return array
*
* @access public
*/
public function postProjectWsUserCanStartTask($sProcessUID, $oData)
public function postProjectWsUserCanStartTask($sProcessUID, $sActivityUID, $oData)
{
try {
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
@@ -220,8 +221,7 @@ class ProjectUser
* validates if the username and password are valid data and if the user assigned
* to the webentry has the rights and persmissions required
*/
$sPRO_UID = $sProcessUID;
$sTASKS = $oData['act_uid'];
$sTASKS = $sActivityUID;
$sWS_USER = trim( $oData['username'] );
$sWS_PASS = trim( $oData['password'] );
if (\G::is_https()) {
@@ -265,9 +265,14 @@ class ProjectUser
$oCriteria->addSelectColumn( \UsersPeer::USR_USERNAME );
$oCriteria->addSelectColumn( \UsersPeer::USR_FIRSTNAME );
$oCriteria->addSelectColumn( \UsersPeer::USR_LASTNAME );
$oCriteria->addSelectColumn( \TaskPeer::PRO_UID );
$oCriteria->addJoin( \TaskUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::LEFT_JOIN );
$oCriteria->add( \TaskUserPeer::TAS_UID, $sTASKS );
$oCriteria->addJoin( \TaskUserPeer::TAS_UID, \TaskPeer::TAS_UID, \Criteria::LEFT_JOIN );
if ($sTASKS) {
$oCriteria->add( \TaskUserPeer::TAS_UID, $sTASKS );
}
$oCriteria->add( \UsersPeer::USR_USERNAME, $sWS_USER );
$oCriteria->add( \TaskPeer::PRO_UID, $sProcessUID );
$userIsAssigned = \TaskUserPeer::doCount( $oCriteria );
// if the user is not assigned directly, maybe a have the task a group with the user
if ($userIsAssigned < 1) {
@@ -278,11 +283,19 @@ class ProjectUser
$oCriteria->addSelectColumn( \UsersPeer::USR_LASTNAME );
$oCriteria->addJoin( \UsersPeer::USR_UID, \GroupUserPeer::USR_UID, \Criteria::LEFT_JOIN );
$oCriteria->addJoin( \GroupUserPeer::GRP_UID, \TaskUserPeer::USR_UID, \Criteria::LEFT_JOIN );
$oCriteria->add( \TaskUserPeer::TAS_UID, $sTASKS );
$oCriteria->addJoin( \TaskUserPeer::TAS_UID, \TaskPeer::TAS_UID, \Criteria::LEFT_JOIN );
if ($sTASKS) {
$oCriteria->add( \TaskUserPeer::TAS_UID, $sTASKS );
}
$oCriteria->add( \UsersPeer::USR_USERNAME, $sWS_USER );
$oCriteria->add( \TaskPeer::PRO_UID, $sProcessUID );
$userIsAssigned = \GroupUserPeer::doCount( $oCriteria );
if (! ($userIsAssigned >= 1)) {
throw (new \Exception( "The `usr_uid` `" . $sWS_USER . "` doesn't have the activity `act_uid` `" . $sTASKS . "` assigned"));
if ($sTASKS) {
throw (new \Exception( "The `usr_uid` `" . $sWS_USER . "` doesn't have the activity `act_uid` `" . $sTASKS . "` assigned"));
} else {
throw (new \Exception( "The `usr_uid` `" . $sWS_USER . "` doesn't have an activity assigned"));
}
}
}
$oDataset = \TaskUserPeer::doSelectRS($oCriteria);

View File

@@ -71,16 +71,17 @@ class ProjectUsers extends Api
/**
* @param string $prj_uid {@min 32} {@max 32}
* @param string $act_uid {@min 32} {@max 32}
* @param wsUserCanStartTaskStructure $request_data
*
* @url POST /:prj_uid/ws/user/can-start-task
*/
public function doPostProjectWsUserCanStartTask($prj_uid, wsUserCanStartTaskStructure $request_data = null)
public function doPostProjectWsUserCanStartTask($prj_uid, $act_uid = null, wsUserCanStartTaskStructure $request_data = null)
{
try {
$request_data = (array)($request_data);
$user = new \BusinessModel\ProjectUser();
$objectData = $user->postProjectWsUserCanStartTask($prj_uid, $request_data);
$objectData = $user->postProjectWsUserCanStartTask($prj_uid, $act_uid, $request_data);
//Response
$response = $objectData;
} catch (\Exception $e) {
@@ -93,10 +94,6 @@ class ProjectUsers extends Api
class wsUserCanStartTaskStructure
{
/**
* @var string {@from body} {@min 32} {@max 32}
*/
public $act_uid;
/**
* @var string {@from body}
*/