@@ -1522,15 +1522,34 @@ 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 for 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 getCaseVariables($app_uid)
|
public function getCaseVariables($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');
|
||||||
|
Validator::isString($usr_uid, '$usr_uid');
|
||||||
|
Validator::usrUid($usr_uid, '$usr_uid');
|
||||||
|
|
||||||
|
$appCacheView = new \AppCacheView();
|
||||||
|
$isProcessSupervisor = $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::USR_UID, $usr_uid, \Criteria::EQUAL);
|
||||||
|
$criteria->add(
|
||||||
|
$criteria->getNewCriterion(\AppDelegationPeer::USR_UID, $usr_uid, \Criteria::EQUAL)->addOr(
|
||||||
|
$criteria->getNewCriterion(\AppDelegationPeer::PRO_UID, $isProcessSupervisor, \Criteria::IN))
|
||||||
|
);
|
||||||
|
$rsCriteria = \AppDelegationPeer::doSelectRS($criteria);
|
||||||
|
|
||||||
|
if (!$rsCriteria->next()) {
|
||||||
|
throw (new \Exception(\G::LoadTranslation("ID_NO_PERMISSION_NO_PARTICIPATED", array($usr_uid))));
|
||||||
|
}
|
||||||
|
|
||||||
$case = new \Cases();
|
$case = new \Cases();
|
||||||
$fields = $case->loadCase($app_uid);
|
$fields = $case->loadCase($app_uid);
|
||||||
@@ -1544,15 +1563,34 @@ class Cases
|
|||||||
* @param string $app_uid, Uid for case
|
* @param string $app_uid, Uid for case
|
||||||
* @param array $app_data, Data for case variables
|
* @param array $app_data, Data for case variables
|
||||||
* @param string $dyn_uid, Uid for dynaform
|
* @param string $dyn_uid, Uid for dynaform
|
||||||
|
* @param string $usr_uid, Uid for user
|
||||||
*
|
*
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
||||||
* @copyright Colosa - Bolivia
|
* @copyright Colosa - Bolivia
|
||||||
*/
|
*/
|
||||||
public function setCaseVariables($app_uid, $app_data, $dyn_uid = null)
|
public function setCaseVariables($app_uid, $app_data, $dyn_uid = null, $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');
|
||||||
Validator::isArray($app_data, '$app_data');
|
Validator::isArray($app_data, '$app_data');
|
||||||
|
Validator::isString($usr_uid, '$usr_uid');
|
||||||
|
Validator::usrUid($usr_uid, '$usr_uid');
|
||||||
|
|
||||||
|
$appCacheView = new \AppCacheView();
|
||||||
|
$isProcessSupervisor = $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::USR_UID, $usr_uid, \Criteria::EQUAL);
|
||||||
|
$criteria->add(
|
||||||
|
$criteria->getNewCriterion(\AppDelegationPeer::USR_UID, $usr_uid, \Criteria::EQUAL)->addOr(
|
||||||
|
$criteria->getNewCriterion(\AppDelegationPeer::PRO_UID, $isProcessSupervisor, \Criteria::IN))
|
||||||
|
);
|
||||||
|
$rsCriteria = \AppDelegationPeer::doSelectRS($criteria);
|
||||||
|
|
||||||
|
if (!$rsCriteria->next()) {
|
||||||
|
throw (new \Exception(\G::LoadTranslation("ID_NO_PERMISSION_NO_PARTICIPATED", array($usr_uid))));
|
||||||
|
}
|
||||||
|
|
||||||
$case = new \Cases();
|
$case = new \Cases();
|
||||||
$fields = $case->loadCase($app_uid);
|
$fields = $case->loadCase($app_uid);
|
||||||
|
|||||||
@@ -830,8 +830,9 @@ class Cases extends Api
|
|||||||
public function doGetCaseVariables($app_uid)
|
public function doGetCaseVariables($app_uid)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$usr_uid = $this->getUserId();
|
||||||
$cases = new \ProcessMaker\BusinessModel\Cases();
|
$cases = new \ProcessMaker\BusinessModel\Cases();
|
||||||
$response = $cases->getCaseVariables($app_uid);
|
$response = $cases->getCaseVariables($app_uid, $usr_uid);
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
@@ -853,8 +854,9 @@ class Cases extends Api
|
|||||||
public function doPutCaseVariables($app_uid, $request_data, $dyn_uid = '')
|
public function doPutCaseVariables($app_uid, $request_data, $dyn_uid = '')
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$usr_uid = $this->getUserId();
|
||||||
$cases = new \ProcessMaker\BusinessModel\Cases();
|
$cases = new \ProcessMaker\BusinessModel\Cases();
|
||||||
$cases->setCaseVariables($app_uid, $request_data, $dyn_uid);
|
$cases->setCaseVariables($app_uid, $request_data, $dyn_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()));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user