diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Task.php b/workflow/engine/src/ProcessMaker/BusinessModel/Task.php index 0bf128b11..1bd506ad4 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Task.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Task.php @@ -1927,5 +1927,23 @@ class Task throw $e; } } + + public function getValidateSelfService($data) + { + $data = array_change_key_case($data, CASE_LOWER); + $sTaskUID = $data['act_uid']; + $response = new stdclass(); + $oCriteria = new Criteria(); + $oCriteria->add(AppDelegationPeer::DEL_THREAD_STATUS, "OPEN"); + $oCriteria->add(AppDelegationPeer::TAS_UID, $sTaskUID); + $oCriteria->add(AppDelegationPeer::USR_UID, ""); + $oApplication = AppDelegationPeer::doSelectOne($oCriteria); + if(!empty($oApplication)) { + $response->result = false; + $response->message = G::LoadTranslation('ID_CURRENT_ASSING_TYPE_WITH_CASES'); + } + $response->result = true; + return $response; + } } diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php index 9a04e2232..136db2822 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php @@ -202,6 +202,26 @@ class Activity extends Api throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } + + /** + * @url PUT /:prj_uid/activity/validate-active-cases + * + * @param string $prj_uid {@min 32}{@max 32} + */ + public function doGetActivityValidateSelfService($prj_uid, $request_data = array()) + { + try { + $task = new \ProcessMaker\BusinessModel\Task(); + $task->setFormatFieldNameInUppercase(false); + $task->setArrayParamException(array("taskUid" => "act_uid")); + + $response = $task->getValidateSelfService($request_data); + + return $response; + } catch (\Exception $e) { + throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); + } + } }