From 934cee8e7c0191c9ced6a9700ee6594643d20c31 Mon Sep 17 00:00:00 2001 From: Ronald Quenta Date: Mon, 3 Aug 2015 20:54:10 -0400 Subject: [PATCH 1/5] fix in execute triggers assigment --- .../engine/src/ProcessMaker/BusinessModel/Light.php | 11 ++++++++++- .../engine/src/ProcessMaker/Services/Api/Light.php | 7 ++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Light.php b/workflow/engine/src/ProcessMaker/BusinessModel/Light.php index 20dc3ff5f..0f4c56695 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Light.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Light.php @@ -334,9 +334,18 @@ class Light * * return array Return an array with Task Case */ - public function GetPrepareInformation($usr_uid, $app_uid, $del_index = null) + public function GetPrepareInformation($usr_uid, $tas_uid, $app_uid, $del_index = null) { try { + $oCase = new \Cases(); + + $triggers = $oCase->loadTriggers( $tas_uid, 'ASSIGN_TASK', '-1', 'BEFORE'); + if (isset($triggers)){ + $appFields = $oCase->loadCase( $app_uid ); + $Fields = $oCase->ExecuteTriggers( $tas_uid, 'ASSIGN_TASK', '-1', 'BEFORE', $appFields ); + $appFields['APP_DATA'] = array_merge( $appFields['APP_DATA'], $Fields ); + $oCase->updateCase( $app_uid, $appFields ); + } $oDerivation = new \Derivation(); $aData = array(); $aData['APP_UID'] = $app_uid; diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index 75df245d8..6a29d0718 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -732,17 +732,18 @@ class Light extends Api * Return Informaction User for derivate * assignment Users * - * @url GET /case/:app_uid/:del_index/assignment + * @url GET /task/:tas_uid/case/:app_uid/:del_index/assignment * + * @param string $tas_uid {@min 32}{@max 32} * @param string $app_uid {@min 32}{@max 32} * @param string $del_index */ - public function doGetPrepareInformation($app_uid, $del_index = null) + public function doGetPrepareInformation($tas_uid, $app_uid, $del_index = null) { try { $usr_uid = $this->getUserId(); $oMobile = new \ProcessMaker\BusinessModel\Light(); - $response = $oMobile->getPrepareInformation($usr_uid, $app_uid, $del_index); + $response = $oMobile->getPrepareInformation($usr_uid, $tas_uid, $app_uid, $del_index); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } From 7397a8ced8b043fc541600a512404b04f5c4015d Mon Sep 17 00:00:00 2001 From: Ronald Quenta Date: Tue, 4 Aug 2015 08:43:39 -0400 Subject: [PATCH 2/5] fix in trigger assignment --- workflow/engine/src/ProcessMaker/BusinessModel/Light.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Light.php b/workflow/engine/src/ProcessMaker/BusinessModel/Light.php index 0f4c56695..63d19af3a 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Light.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Light.php @@ -341,10 +341,10 @@ class Light $triggers = $oCase->loadTriggers( $tas_uid, 'ASSIGN_TASK', '-1', 'BEFORE'); if (isset($triggers)){ - $appFields = $oCase->loadCase( $app_uid ); - $Fields = $oCase->ExecuteTriggers( $tas_uid, 'ASSIGN_TASK', '-1', 'BEFORE', $appFields ); - $appFields['APP_DATA'] = array_merge( $appFields['APP_DATA'], $Fields ); - $oCase->updateCase( $app_uid, $appFields ); + $cases = new \ProcessMaker\BusinessModel\Cases(); + foreach($triggers as $trigger){ + $cases->putExecuteTriggerCase($app_uid, $trigger['TRI_UID'], $usr_uid); + } } $oDerivation = new \Derivation(); $aData = array(); From e6957c8954ca2be1caa3194e75b00f3790716283 Mon Sep 17 00:00:00 2001 From: Ronald Quenta Date: Tue, 4 Aug 2015 09:00:29 -0400 Subject: [PATCH 3/5] fix add process uid in session process --- workflow/engine/src/ProcessMaker/Services/Api/Light.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index 6a29d0718..078057c61 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -586,7 +586,7 @@ class Light extends Api $task->setArrayParamException(array("taskUid" => "act_uid", "stepUid" => "step_uid")); $activitySteps = $task->getSteps($act_uid); - + $_SESSION['PROCESS'] = $prj_uid; $dynaForm = new \ProcessMaker\BusinessModel\DynaForm(); $dynaForm->setFormatFieldNameInUppercase(false); $oMobile = new \ProcessMaker\BusinessModel\Light(); @@ -644,9 +644,11 @@ class Light extends Api $cases->putExecuteTriggerCase($cas_uid, $trigger['tri_uid'], $userUid); } } + $response = array('status' => 'ok'); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } + return $response; } /** From 43feef22534e1dd3689e26baea5a784a8347e29e Mon Sep 17 00:00:00 2001 From: Ronald Quenta Date: Tue, 4 Aug 2015 09:03:04 -0400 Subject: [PATCH 4/5] fix --- workflow/engine/src/ProcessMaker/Services/Api/Light.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index 078057c61..6a29d0718 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -586,7 +586,7 @@ class Light extends Api $task->setArrayParamException(array("taskUid" => "act_uid", "stepUid" => "step_uid")); $activitySteps = $task->getSteps($act_uid); - $_SESSION['PROCESS'] = $prj_uid; + $dynaForm = new \ProcessMaker\BusinessModel\DynaForm(); $dynaForm->setFormatFieldNameInUppercase(false); $oMobile = new \ProcessMaker\BusinessModel\Light(); @@ -644,11 +644,9 @@ class Light extends Api $cases->putExecuteTriggerCase($cas_uid, $trigger['tri_uid'], $userUid); } } - $response = array('status' => 'ok'); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } - return $response; } /** From 7583fa4be880ec6e09314baa153a2835e6a1c18a Mon Sep 17 00:00:00 2001 From: Ronald Quenta Date: Tue, 4 Aug 2015 09:09:39 -0400 Subject: [PATCH 5/5] fix add process uid in session process --- workflow/engine/src/ProcessMaker/Services/Api/Light.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index 6a29d0718..078057c61 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -586,7 +586,7 @@ class Light extends Api $task->setArrayParamException(array("taskUid" => "act_uid", "stepUid" => "step_uid")); $activitySteps = $task->getSteps($act_uid); - + $_SESSION['PROCESS'] = $prj_uid; $dynaForm = new \ProcessMaker\BusinessModel\DynaForm(); $dynaForm->setFormatFieldNameInUppercase(false); $oMobile = new \ProcessMaker\BusinessModel\Light(); @@ -644,9 +644,11 @@ class Light extends Api $cases->putExecuteTriggerCase($cas_uid, $trigger['tri_uid'], $userUid); } } + $response = array('status' => 'ok'); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } + return $response; } /**