PM-2344 Adicion de validacion al momento de borrar un caso

This commit is contained in:
Brayan Pereyra
2015-04-24 14:17:17 -04:00
parent 9e0c462247
commit 1a8c76daba
3 changed files with 27 additions and 2 deletions

View File

@@ -42,6 +42,12 @@ switch ($action) {
$urlProxy = 'proxyCasesList'; $urlProxy = 'proxyCasesList';
$action = 'unassigned'; $action = 'unassigned';
break; break;
case 'to_revise':
$urlProxy = 'proxyCasesList';
break;
case 'to_reassign':
$urlProxy = 'proxyCasesList';
break;
} }
/*----------------------------------********---------------------------------*/ /*----------------------------------********---------------------------------*/

View File

@@ -861,15 +861,33 @@ class Cases
* *
* @access public * @access public
* @param string $app_uid, Uid for case * @param string $app_uid, Uid for case
* @param string $usr_uid, Uid user
* @return array * @return array
* *
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com> * @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia * @copyright Colosa - Bolivia
*/ */
public function deleteCase($app_uid) public function deleteCase($app_uid, $usr_uid)
{ {
Validator::isString($app_uid, '$app_uid'); Validator::isString($app_uid, '$app_uid');
Validator::appUid($app_uid, '$app_uid'); Validator::appUid($app_uid, '$app_uid');
$criteria = new \Criteria();
$criteria->addSelectColumn( \ApplicationPeer::APP_STATUS );
$criteria->addSelectColumn( \ApplicationPeer::APP_INIT_USER );
$criteria->add( \ApplicationPeer::APP_UID, $app_uid, \Criteria::EQUAL );
$dataset = \ApplicationPeer::doSelectRS($criteria);
$dataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
if ($aRow['APP_STATUS'] != 'DRAFT') {
throw (new \Exception(\G::LoadTranslation("ID_DELETE_CASE_NO_STATUS")));
}
if ($aRow['APP_INIT_USER'] != $usr_uid) {
throw (new \Exception(\G::LoadTranslation("ID_DELETE_CASE_NO_OWNER")));
}
$case = new \Cases(); $case = new \Cases();
$case->removeCase( $app_uid ); $case->removeCase( $app_uid );
} }

View File

@@ -809,8 +809,9 @@ class Cases extends Api
public function doDeleteCase($cas_uid) public function doDeleteCase($cas_uid)
{ {
try { try {
$usr_uid = $this->getUserId();
$cases = new \ProcessMaker\BusinessModel\Cases(); $cases = new \ProcessMaker\BusinessModel\Cases();
$cases->deleteCase($cas_uid); $cases->deleteCase($cas_uid, $usr_uid);
} catch (\Exception $e) { } catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
} }