Se modifica end point de validacion de usuario mediante WS, no es necesario enviar act_uid en PROJECT USERS
This commit is contained in:
@@ -202,13 +202,14 @@ class ProjectUser
|
|||||||
* Return the user that can start a task
|
* Return the user that can start a task
|
||||||
*
|
*
|
||||||
* @param string $sProcessUID {@min 32} {@max 32}
|
* @param string $sProcessUID {@min 32} {@max 32}
|
||||||
|
* @param string $sActivityUID {@min 32} {@max 32}
|
||||||
* @param array $oData
|
* @param array $oData
|
||||||
*
|
*
|
||||||
* return array
|
* return array
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
*/
|
*/
|
||||||
public function postProjectWsUserCanStartTask($sProcessUID, $oData)
|
public function postProjectWsUserCanStartTask($sProcessUID, $sActivityUID, $oData)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
||||||
@@ -220,8 +221,7 @@ class ProjectUser
|
|||||||
* validates if the username and password are valid data and if the user assigned
|
* validates if the username and password are valid data and if the user assigned
|
||||||
* to the webentry has the rights and persmissions required
|
* to the webentry has the rights and persmissions required
|
||||||
*/
|
*/
|
||||||
$sPRO_UID = $sProcessUID;
|
$sTASKS = $sActivityUID;
|
||||||
$sTASKS = $oData['act_uid'];
|
|
||||||
$sWS_USER = trim( $oData['username'] );
|
$sWS_USER = trim( $oData['username'] );
|
||||||
$sWS_PASS = trim( $oData['password'] );
|
$sWS_PASS = trim( $oData['password'] );
|
||||||
if (\G::is_https()) {
|
if (\G::is_https()) {
|
||||||
@@ -265,9 +265,14 @@ class ProjectUser
|
|||||||
$oCriteria->addSelectColumn( \UsersPeer::USR_USERNAME );
|
$oCriteria->addSelectColumn( \UsersPeer::USR_USERNAME );
|
||||||
$oCriteria->addSelectColumn( \UsersPeer::USR_FIRSTNAME );
|
$oCriteria->addSelectColumn( \UsersPeer::USR_FIRSTNAME );
|
||||||
$oCriteria->addSelectColumn( \UsersPeer::USR_LASTNAME );
|
$oCriteria->addSelectColumn( \UsersPeer::USR_LASTNAME );
|
||||||
|
$oCriteria->addSelectColumn( \TaskPeer::PRO_UID );
|
||||||
$oCriteria->addJoin( \TaskUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::LEFT_JOIN );
|
$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( \UsersPeer::USR_USERNAME, $sWS_USER );
|
||||||
|
$oCriteria->add( \TaskPeer::PRO_UID, $sProcessUID );
|
||||||
$userIsAssigned = \TaskUserPeer::doCount( $oCriteria );
|
$userIsAssigned = \TaskUserPeer::doCount( $oCriteria );
|
||||||
// if the user is not assigned directly, maybe a have the task a group with the user
|
// if the user is not assigned directly, maybe a have the task a group with the user
|
||||||
if ($userIsAssigned < 1) {
|
if ($userIsAssigned < 1) {
|
||||||
@@ -278,11 +283,19 @@ class ProjectUser
|
|||||||
$oCriteria->addSelectColumn( \UsersPeer::USR_LASTNAME );
|
$oCriteria->addSelectColumn( \UsersPeer::USR_LASTNAME );
|
||||||
$oCriteria->addJoin( \UsersPeer::USR_UID, \GroupUserPeer::USR_UID, \Criteria::LEFT_JOIN );
|
$oCriteria->addJoin( \UsersPeer::USR_UID, \GroupUserPeer::USR_UID, \Criteria::LEFT_JOIN );
|
||||||
$oCriteria->addJoin( \GroupUserPeer::GRP_UID, \TaskUserPeer::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( \UsersPeer::USR_USERNAME, $sWS_USER );
|
||||||
|
$oCriteria->add( \TaskPeer::PRO_UID, $sProcessUID );
|
||||||
$userIsAssigned = \GroupUserPeer::doCount( $oCriteria );
|
$userIsAssigned = \GroupUserPeer::doCount( $oCriteria );
|
||||||
if (! ($userIsAssigned >= 1)) {
|
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);
|
$oDataset = \TaskUserPeer::doSelectRS($oCriteria);
|
||||||
|
|||||||
@@ -71,16 +71,17 @@ class ProjectUsers extends Api
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $prj_uid {@min 32} {@max 32}
|
* @param string $prj_uid {@min 32} {@max 32}
|
||||||
|
* @param string $act_uid {@min 32} {@max 32}
|
||||||
* @param wsUserCanStartTaskStructure $request_data
|
* @param wsUserCanStartTaskStructure $request_data
|
||||||
*
|
*
|
||||||
* @url POST /:prj_uid/ws/user/can-start-task
|
* @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 {
|
try {
|
||||||
$request_data = (array)($request_data);
|
$request_data = (array)($request_data);
|
||||||
$user = new \BusinessModel\ProjectUser();
|
$user = new \BusinessModel\ProjectUser();
|
||||||
$objectData = $user->postProjectWsUserCanStartTask($prj_uid, $request_data);
|
$objectData = $user->postProjectWsUserCanStartTask($prj_uid, $act_uid, $request_data);
|
||||||
//Response
|
//Response
|
||||||
$response = $objectData;
|
$response = $objectData;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
@@ -93,10 +94,6 @@ class ProjectUsers extends Api
|
|||||||
|
|
||||||
class wsUserCanStartTaskStructure
|
class wsUserCanStartTaskStructure
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @var string {@from body} {@min 32} {@max 32}
|
|
||||||
*/
|
|
||||||
public $act_uid;
|
|
||||||
/**
|
/**
|
||||||
* @var string {@from body}
|
* @var string {@from body}
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user