/** * Put cancel case * * @access public * @param string $app_uid, Uid for case * @param string $usr_uid, Uid for user * @param string $del_index, Index for case * @return array * * @author Brayan Pereyra (Cochalo) <*****@*****.**> * @copyright Colosa - Bolivia */ public function putCancelCase($app_uid, $usr_uid, $del_index = false) { Validator::isString($app_uid, '$app_uid'); Validator::isString($usr_uid, '$usr_uid'); Validator::appUid($app_uid, '$app_uid'); Validator::usrUid($usr_uid, '$usr_uid'); if ($del_index === false) { $del_index = \AppDelegation::getCurrentIndex($app_uid); } Validator::isInteger($del_index, '$del_index'); $case = new \Cases(); $fields = $case->loadCase($app_uid); if ($fields['APP_STATUS'] == 'CANCELLED') { throw (new \Exception(\G::LoadTranslation("ID_CASE_ALREADY_CANCELED", array($app_uid)))); } $appCacheView = new \AppCacheView(); $arrayProcess = $appCacheView->getProUidSupervisor($usr_uid); $criteria = new \Criteria("workflow"); $criteria->addSelectColumn(\AppDelegationPeer::APP_UID); $criteria->add(\AppDelegationPeer::APP_UID, $app_uid, \Criteria::EQUAL); $criteria->add(\AppDelegationPeer::DEL_INDEX, $del_index, \Criteria::EQUAL); $criteria->add( $criteria->getNewCriterion(\AppDelegationPeer::USR_UID, $usr_uid, \Criteria::EQUAL)->addOr( $criteria->getNewCriterion(\AppDelegationPeer::PRO_UID, $arrayProcess, \Criteria::IN)) ); $rsCriteria = \AppDelegationPeer::doSelectRS($criteria); if (!$rsCriteria->next()) { throw (new \Exception(\G::LoadTranslation("ID_CASE_USER_INVALID_CANCEL_CASE", array($usr_uid)))); } $case->cancelCase( $app_uid, $del_index, $usr_uid ); }
/** * Put cancel case * * @access public * @param string $app_uid, Uid for case * @param string $usr_uid, Uid for user * @param string $del_index, Index for case * @return array * * @author Brayan Pereyra (Cochalo) <*****@*****.**> * @copyright Colosa - Bolivia */ public function putCancelCase($app_uid, $usr_uid, $del_index = false) { Validator::isString($app_uid, '$app_uid'); Validator::isString($usr_uid, '$usr_uid'); Validator::appUid($app_uid, '$app_uid'); Validator::usrUid($usr_uid, '$usr_uid'); if ($del_index === false) { $del_index = \AppDelegation::getCurrentIndex($app_uid); } Validator::isInteger($del_index, '$del_index'); $case = new \Cases(); $fields = $case->loadCase($app_uid); if ($fields['APP_STATUS'] == 'CANCELLED') { throw (new \Exception(\G::LoadTranslation("ID_CASE_ALREADY_CANCELED", array($app_uid)))); } $case->cancelCase( $app_uid, $del_index, $usr_uid ); }