From 60f55e90fc541aec0a2c1b24ca6ecf2bc511376f Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Mon, 24 Aug 2015 17:24:52 -0400 Subject: [PATCH 1/2] PM-3206 "REST endpoint PUT cases/{app_uid}/cancel..." SOLVED --- .../src/ProcessMaker/BusinessModel/Cases.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php index 834fb5adb..9f092690f 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -749,6 +749,25 @@ class Cases 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 ); } From 808d3f32540c2d0292e052813cf4c92560ff665c Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Fri, 28 Aug 2015 14:46:23 -0400 Subject: [PATCH 2/2] PM-3206-A "REST endpoint PUT cases/{app_uid}/cancel..." SOLVED --- workflow/engine/src/ProcessMaker/BusinessModel/Cases.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php index 9f092690f..6324d82f7 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -755,6 +755,7 @@ class Cases $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); @@ -2410,4 +2411,3 @@ class Cases } } } -