Arreglo de conflicto

This commit is contained in:
Brayan Osmar Pereyra Suxo
2014-03-18 12:38:35 -04:00
8 changed files with 143 additions and 277 deletions

View File

@@ -20,7 +20,6 @@ class CaseScheduler
$oCriteria->addSelectColumn( \CaseSchedulerPeer::SCH_UID );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::SCH_NAME );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::SCH_DEL_USER_NAME );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::SCH_DEL_USER_PASS );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::SCH_DEL_USER_UID );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::PRO_UID );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::TAS_UID );
@@ -78,7 +77,6 @@ class CaseScheduler
$oCriteria->addSelectColumn( \CaseSchedulerPeer::SCH_UID );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::SCH_NAME );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::SCH_DEL_USER_NAME );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::SCH_DEL_USER_PASS );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::SCH_DEL_USER_UID );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::PRO_UID );
$oCriteria->addSelectColumn( \CaseSchedulerPeer::TAS_UID );
@@ -190,74 +188,44 @@ class CaseScheduler
* Checks if the user exists
*
* @param string $userName Name
* @param string $userPass Password
* @param string $sProcessUID Process
* @param string $sTaskUID Task
*
* return message
*/
public function getUser($userName, $userPass, $sProcessUID, $sTaskUID)
public function getUser($userName, $sTaskUID)
{
try {
$sPRO_UID = $sProcessUID;
$sTASKS = $sTaskUID;
$sWS_USER = trim( $userName );
$sWS_PASS = trim( $userPass );
if (\G::is_https()) {
$http = 'https://';
} else {
$http = 'http://';
}
$endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2';
@$client = new \SoapClient( $endpoint );
$user = $sWS_USER;
$pass = $sWS_PASS;
$params = array ('userid' => $user,'password' => $pass);
$result = $client->__SoapCall('login', array ($params));
$fields['status_code'] = $result->status_code;
$fields['message'] = 'ProcessMaker WebService version: ' . $result->version . "\n" . $result->message;
$fields['version'] = $result->version;
$fields['time_stamp'] = $result->timestamp;
$messageCode = 1;
\G::LoadClass( 'Task' );
\G::LoadClass( 'User' );
\G::LoadClass( 'TaskUser' );
\G::LoadClass( 'Groupwf' );
if (! class_exists( 'GroupUser' )) {
\G::LoadClass( 'GroupUser' );
}
if ($result->status_code == 0) {
$oCriteria = new \Criteria( 'workflow' );
$oCriteria->addSelectColumn( \UsersPeer::USR_UID );
$oCriteria->addSelectColumn( \TaskUserPeer::USR_UID );
$oCriteria->addSelectColumn( \TaskUserPeer::TAS_UID );
$oCriteria->addSelectColumn( \UsersPeer::USR_USERNAME );
$oCriteria->addSelectColumn( \UsersPeer::USR_FIRSTNAME );
$oCriteria->addSelectColumn( \UsersPeer::USR_LASTNAME );
$oCriteria->addJoin( \TaskUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::LEFT_JOIN );
$oCriteria->add( \TaskUserPeer::TAS_UID, $sTASKS );
$oCriteria->add( \UsersPeer::USR_USERNAME, $sWS_USER );
$userIsAssigned = \TaskUserPeer::doCount( $oCriteria );
if ($userIsAssigned < 1) {
$oCriteria = new \Criteria( 'workflow' );
$oCriteria->addSelectColumn( \UsersPeer::USR_UID );
$oCriteria->addSelectColumn( \TaskUserPeer::USR_UID );
$oCriteria->addSelectColumn( \TaskUserPeer::TAS_UID );
$oCriteria->addSelectColumn( \UsersPeer::USR_USERNAME );
$oCriteria->addSelectColumn( \UsersPeer::USR_FIRSTNAME );
$oCriteria->addSelectColumn( \UsersPeer::USR_LASTNAME );
$oCriteria->addJoin( \TaskUserPeer::USR_UID, \UsersPeer::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->add( \TaskUserPeer::TAS_UID, $sTASKS );
$oCriteria->add( \UsersPeer::USR_USERNAME, $sWS_USER );
$userIsAssigned = \TaskUserPeer::doCount( $oCriteria );
if ($userIsAssigned < 1) {
$oCriteria = new \Criteria( 'workflow' );
$oCriteria->addSelectColumn( \UsersPeer::USR_UID );
$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->add( \UsersPeer::USR_USERNAME, $sWS_USER );
$userIsAssigned = \GroupUserPeer::doCount( $oCriteria );
if (! ($userIsAssigned >= 1)) {
throw (new \Exception( "The User \'" . $sWS_USER . "\' doesn't have the activity \'" . $sTASKS . "\' assigned"));
}
$userIsAssigned = \GroupUserPeer::doCount( $oCriteria );
if (! ($userIsAssigned >= 1)) {
throw (new \Exception( "The User \'" . $sWS_USER . "\' doesn't have the activity \'" . $sTASKS . "\' assigned"));
}
$oDataset = \TaskUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
}
$oDataset = \TaskUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$messageCode = $aRow['USR_UID'];
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$messageCode = $aRow['USR_UID'];
$oDataset->next();
}
} else {
throw (new \Exception( $result->message));
}
return $messageCode;
} catch (\Exception $e) {
@@ -295,12 +263,13 @@ class CaseScheduler
if ($this->existsName($sProcessUID, $aData['SCH_NAME'])) {
throw (new \Exception( 'Duplicate Case Scheduler name'));
}
$mUser = $this->getUser($aData['SCH_DEL_USER_NAME'], $aData['SCH_DEL_USER_PASS'], $sProcessUID, $aData['TAS_UID']);
$mUser = $this->getUser($aData['SCH_DEL_USER_NAME'], $aData['TAS_UID']);
$oUser = \UsersPeer::retrieveByPK( $mUser );
if (is_null($oUser)) {
throw (new \Exception($mUser));
}
$aData['SCH_DEL_USER_PASS'] = md5( $aData['SCH_DEL_USER_PASS']);
$oUserPass = $oUser->getUsrPassword();
$aData['SCH_DEL_USER_PASS'] = $oUserPass;
if ($sOption != '5') {
$pattern="/^([0-1][0-9]|[2][0-3])[\:]([0-5][0-9])$/";
if (!preg_match($pattern, $aData['SCH_START_TIME'])) {
@@ -586,12 +555,13 @@ class CaseScheduler
if ($this->existsNameUpdate($sSchUID, $aData['SCH_NAME'])) {
throw (new \Exception( 'Duplicate Case Scheduler name'));
}
$mUser = $this->getUser($aData['SCH_DEL_USER_NAME'], $aData['SCH_DEL_USER_PASS'], $sProcessUID, $aData['TAS_UID']);
$mUser = $this->getUser($aData['SCH_DEL_USER_NAME'], $aData['TAS_UID']);
$oUser = \UsersPeer::retrieveByPK( $mUser );
if (is_null($oUser)) {
throw (new \Exception($mUser));
}
$aData['SCH_DEL_USER_PASS'] = md5( $aData['SCH_DEL_USER_PASS']);
$oUserPass = $oUser->getUsrPassword();
$aData['SCH_DEL_USER_PASS'] = $oUserPass;
if ($sOption != '5') {
$pattern="/^([0-1][0-9]|[2][0-3])[\:]([0-5][0-9])$/";
if (!preg_match($pattern, $aData['SCH_START_TIME'])) {
@@ -850,12 +820,11 @@ class CaseScheduler
/**
* Delete a case scheduler of a project
*
* @param string $sProcessUID
* @param string $sSchUID
*
* @access public
*/
public function deleteCaseScheduler($sProcessUID, $sSchUID)
public function deleteCaseScheduler($sSchUID)
{
try {
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes". PATH_SEP . "model" . PATH_SEP . "CaseScheduler.php");

View File

@@ -237,17 +237,11 @@ class Cases
{
continue;
}
$aRow["APP_NUMBER"] = $row["APP_NUMBER"];
$aRow["APP_STATUS"] = $row["APP_STATUS"];
$aRow["PRO_UID"] = $row["PRO_UID"];
$aRow["DEL_INDEX"] = $row["DEL_INDEX"];
$arrayData[] = array(
"guid" => $aRow["APP_UID"],
"name" => $aRow["APP_NUMBER"],
"status" => $aRow["APP_STATUS"],
"delIndex" => $aRow["DEL_INDEX"],
"processId" => $aRow["PRO_UID"]
);
\G::LoadClass('wsBase');
$ws = new \wsBase();
$fields = $ws->getCaseInfo($caseUid, $row["DEL_INDEX"]);
//Return
return $fields;
}
}
$case = array();
@@ -269,13 +263,8 @@ class Cases
return $arrayData;
}
} else {
$arrayData = array();
$criteria = new \Criteria("workflow");
$criteria->addSelectColumn(\AppCacheViewPeer::APP_UID);
$criteria->addSelectColumn(\AppCacheViewPeer::DEL_INDEX);
$criteria->addSelectColumn(\AppCacheViewPeer::APP_NUMBER);
$criteria->addSelectColumn(\AppCacheViewPeer::APP_STATUS);
$criteria->addSelectColumn(\AppCacheViewPeer::PRO_UID);
$criteria->add(\AppCacheViewPeer::USR_UID, $userUid);
$criteria->add(\AppCacheViewPeer::APP_UID, $caseUid);
$criteria->add(
@@ -295,16 +284,14 @@ class Cases
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
$arrayData[] = array(
"guid" => $row["APP_UID"],
"name" => $row["APP_NUMBER"],
"status" => $row["APP_STATUS"],
"delIndex" => $row["DEL_INDEX"],
"processId" => $row["PRO_UID"]
);
}
return $arrayData;
\G::LoadClass('wsBase');
$ws = new \wsBase();
$fields = $ws->getCaseInfo($caseUid, $row["DEL_INDEX"]);
//Return
return $fields;
}
} catch (\Exception $e) {
throw $e;
}
@@ -361,17 +348,20 @@ class Cases
*
* @param string $prjUid Unique id of Project
* @param string $usrUid Unique id of User
* @param string $caseUid Unique id of Case
* @param string $actUid Unique id of Case
* @param array $variables
*
* return array Return an array with Task Case
*/
public function addCaseImpersonate($prjUid, $usrUid, $caseUid, $variables)
public function addCaseImpersonate($prjUid, $usrUid, $actUid, $variables)
{
try {
\G::LoadClass('wsBase');
$ws = new \wsBase();
$fields = $ws->newCaseImpersonate($prjUid, $usrUid, $variables, '1352844695225ff5fe54de2005407079');
if ($variables) {
$variables = array_shift($variables);
}
$fields = $ws->newCaseImpersonate($prjUid, $usrUid, $variables, $actUid);
//Return
return $fields;
} catch (\Exception $e) {
@@ -405,6 +395,7 @@ class Cases
}
/**
<<<<<<< HEAD
* Put cancel case
*
* @access public
@@ -455,6 +446,32 @@ class Cases
$case = new \Cases();
$case->pauseCase( $app_uid, $del_index, $usr_uid, $unpaused_date );
}
=======
* Reassign Case
*
* @param string $caseUid Unique id of Case
* @param string $userUid Unique id of User
* @param string $delIndex
* @param string $bExecuteTriggersBeforeAssignment
*
* return array Return an array with Task Case
*/
public function updateRouteCase($caseUid, $userUid, $delIndex)
{
try {
\G::LoadClass('wsBase');
$ws = new \wsBase();
$fields = $ws->derivateCase($userUid, $caseUid, $delIndex, $bExecuteTriggersBeforeAssignment = false);
//Return
return $fields;
} catch (\Exception $e) {
throw $e;
}
}
}
>>>>>>> 9eaec8c26aa7492684f15ad1df02c3500a3b6c13
/**
* Put unpause case

View File

@@ -18,6 +18,7 @@ class Cases extends Api
/**
* Get list Cases To Do
*
* @access public
* @param array $request_data , Data for list
* @return array
*
@@ -29,8 +30,6 @@ class Cases extends Api
public function doGetCasesListToDo($request_data = array())
{
try {
\G::pr($this->getUserId());
die('fin');
$request_data['action'] = 'todo';
$request_data['userId'] = $this->getUserId();
$oCases = new \BusinessModel\Cases();
@@ -44,6 +43,7 @@ class Cases extends Api
/**
* Get list Cases Draft
*
* @access public
* @param array $request_data , Data for list
* @return array
*
@@ -68,6 +68,7 @@ class Cases extends Api
/**
* Get list Cases Participated
*
* @access public
* @param array $request_data , Data for list
* @return array
*
@@ -92,6 +93,7 @@ class Cases extends Api
/**
* Get list Cases Unassigned
*
* @access public
* @param array $request_data , Data for list
* @return array
*
@@ -116,6 +118,7 @@ class Cases extends Api
/**
* Get list Cases Paused
*
* @access public
* @param array $request_data , Data for list
* @return array
*
@@ -140,6 +143,7 @@ class Cases extends Api
/**
* Get list Cases Advanced Search
*
* @access public
* @param array $request_data , Data for list
* @return array
*
@@ -172,8 +176,7 @@ class Cases extends Api
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$arrayData = $cases->getCaseInfo($cas_uid, $userUid);
$response = $arrayData;
return $response;
return $arrayData;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
@@ -184,13 +187,12 @@ class Cases extends Api
*
* @param string $cas_uid {@min 32}{@max 32}
*/
public function doGetTaskCase($cas_uid)
public function doGetTaskCase($cas_uid)
{
try {
$cases = new \BusinessModel\Cases();
$arrayData = $cases->getTaskCase($cas_uid);
$response = $arrayData;
return $response;
return $arrayData;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
@@ -210,8 +212,7 @@ class Cases extends Api
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$arrayData = $cases->addCase($prj_uid, $act_uid, $userUid, $variables);
$response = $arrayData;
return $response;
return $arrayData;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
@@ -225,13 +226,12 @@ class Cases extends Api
* @param string $act_uid {@from body} {@min 32}{@max 32}
* @param array $variables {@from body}
*/
public function doPostCaseImpersonate($prj_uid, $usr_uid, $act_uid, $variables)
public function doPostCaseImpersonate($prj_uid, $usr_uid, $act_uid, $variables=null)
{
try {
$cases = new \BusinessModel\Cases();
$arrayData = $cases->addCaseImpersonate($prj_uid, $usr_uid, $act_uid, $variables);
$response = $arrayData;
return $response;
return $arrayData;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
@@ -250,9 +250,9 @@ class Cases extends Api
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$arrayData = $cases->updateReassignCase($cas_uid, $userUid, $del_index, $usr_uid_source, $usr_uid_target);
$response = $arrayData;
return $response;
} catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
return $arrayData;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
@@ -263,124 +263,13 @@ class Cases extends Api
* @param string $usr_uid_source {@from body} {@min 32}{@max 32}
* @param string $usr_uid_target {@from body} {@min 32}{@max 32}
*/
public function doPutRouteCase($cas_uid, $del_index, $usr_uid_source, $usr_uid_target)
public function doPutRouteCase($cas_uid, $del_index)
{
try {
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$arrayData = $cases->updateRouteCase($cas_uid, $userUid, $del_index, $usr_uid_source, $usr_uid_target);
$response = $arrayData;
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* Cancel Case
*
* @param string $cas_uid {@min 1}{@max 32}
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @url PUT /:cas_uid/cancel-case
*/
public function doPutCancelCase($cas_uid)
{
try {
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$cases->putCancelCase($cas_uid, $userUid);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* Pause Case
*
* @param string $cas_uid {@min 1}{@max 32}
* @param string $unpaused_date {@from body}
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @url PUT /:cas_uid/pause-case
*/
public function doPutPauseCase($cas_uid, $unpaused_date = null)
{
try {
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
if ($unpaused_date == null) {
$cases->putPauseCase($cas_uid, $userUid);
} else {
$cases->putPauseCase($cas_uid, $userUid, false, $unpaused_date);
}
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* Unpause Case
*
* @param string $cas_uid {@min 1}{@max 32}
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @url PUT /:cas_uid/unpause-case
*/
public function doPutUnpauseCase($cas_uid)
{
try {
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$cases->putUnpauseCase($cas_uid, $userUid);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* Unpause Case
*
* @param string $cas_uid {@min 1}{@max 32}
* @param string $tri_uid {@min 1}{@max 32}
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @url PUT /:cas_uid/execute-trigger/:tri_uid
*/
public function doPutExecuteTriggerCase($cas_uid, $tri_uid)
{
try {
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$cases->putExecuteTriggerCase($cas_uid, $tri_uid, $userUid);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* Delete Case
*
* @param string $cas_uid {@min 1}{@max 32}
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @url DELETE /:cas_uid
*/
public function doDeleteCase($cas_uid)
{
try {
$cases = new \BusinessModel\Cases();
$cases->deleteCase($cas_uid);
$arrayData = $cases->updateRouteCase($cas_uid, $userUid, $del_index);
return $arrayData;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}

View File

@@ -108,7 +108,7 @@ class CaseScheduler extends Api
{
try {
$caseScheduler = new \BusinessModel\CaseScheduler();
$caseScheduler->deleteCaseScheduler($prjUid, $schUid);
$caseScheduler->deleteCaseScheduler($schUid);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
@@ -128,11 +128,6 @@ class CaseSchedulerStructure
*/
public $sch_del_user_name;
/**
* @var string {@from body} {@min 0} {@max 100}
*/
public $sch_del_user_pass;
/**
* @var string {@from body} {@min 0} {@max 100}
*/