From 282303d8aca4783aec9c105b76c58a336540579f Mon Sep 17 00:00:00 2001 From: Freddy Daniel Rojas Valda Date: Sat, 10 Jan 2015 10:12:08 -0400 Subject: [PATCH 1/4] PM-1165 "Se agrega funcion doGetSteps, para obtener los pasos evaluados" --- .../src/ProcessMaker/BusinessModel/Cases.php | 29 ++++++++++++++++++- .../src/ProcessMaker/Services/Api/Cases.php | 23 ++++++++++++++- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php index 67cdf1455..c53298cfc 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -1923,7 +1923,7 @@ class Cases * * @access public * @param string $app_uid , Uid for case - * @param bool|string $del_index , Index for case + * @param string $del_index , Index for case * @param string $obj_type , Index for case * @param string $obj_uid , Index for case * @@ -1943,4 +1943,31 @@ class Cases $aField["APP_DATA"] = $oCase->executeTriggers($tas_uid, $obj_type, $obj_uid, "AFTER", $aField["APP_DATA"]); $aField = $oCase->updateCase($app_uid, $aField); } + + /** + * Get Steps evaluate + * + * @access public + * @param string $app_uid, Uid for case + * @param int $del_index , Index for case + * @return array + * + * @copyright Colosa - Bolivia + */ + public function getSteps($app_uid, $del_index) + { + Validator::isString($app_uid, '$app_uid'); + Validator::appUid($app_uid, '$app_uid'); + Validator::isInteger($del_index, '$del_index'); + + $oCase = new \Cases(); + $aCaseField = $oCase->loadCase($app_uid, $del_index); + $tas_uid = $aCaseField["TAS_UID"]; + $pro_uid = $aCaseField["PRO_UID"]; + + $oApplication = new \Applications(); + $aField = $oApplication->getSteps($app_uid, $del_index, $tas_uid, $pro_uid); + + return $aField; + } } diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php index 04f06b767..2d16625b9 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php @@ -1000,7 +1000,7 @@ class Cases extends Api * Execute triggers * * @param string $app_uid {@min 1}{@max 32} - * @param string $del_index {@from body} + * @param int $del_index {@from body} * @param string $obj_type {@from body} * @param string $obj_uid {@from body} * @@ -1017,5 +1017,26 @@ class Cases extends Api throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } + + /** + * @url GET /:app_uid/:del_index/steps + * + * @param string $app_uid {@min 32}{@max 32} + * @param int $del_index + * + */ + public function doGetSteps($app_uid, $del_index) + { + try { + $case = new \ProcessMaker\BusinessModel\Cases(); + $case->setFormatFieldNameInUppercase(false); + + $response = $case->getSteps($app_uid, $del_index); + + return $response; + } catch (\Exception $e) { + throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); + } + } } From 0bf53febece8d5ce63cdcce50786086038e1167d Mon Sep 17 00:00:00 2001 From: Freddy Daniel Rojas Valda Date: Sat, 10 Jan 2015 11:17:20 -0400 Subject: [PATCH 2/4] PM-1165 "Se agrega funcion doGetSteps, para obtener los pasos evaluados" --- .../engine/src/ProcessMaker/BusinessModel/Cases.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php index c53298cfc..b00742145 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -1968,6 +1968,15 @@ class Cases $oApplication = new \Applications(); $aField = $oApplication->getSteps($app_uid, $del_index, $tas_uid, $pro_uid); - return $aField; + foreach ($aField as $fields) { + if ($fields['type'] == 'DYNAFORM') { + $oDynaform = \DynaformPeer::retrieveByPK($fields['id']); + $dynaform_version = $oDynaform->getDynVersion(); + $aFieldConsolidate[] = array_merge($fields, array("version" => $dynaform_version)); + } else { + $aFieldConsolidate[] = $fields; + } + } + return $aFieldConsolidate; } } From 3d4c29e5105223ed821c85324a824c221df356a8 Mon Sep 17 00:00:00 2001 From: Freddy Daniel Rojas Valda Date: Sat, 10 Jan 2015 11:20:08 -0400 Subject: [PATCH 3/4] PM-1165 "Fix value type for del_index" --- 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 b00742145..7479acb11 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -1923,7 +1923,7 @@ class Cases * * @access public * @param string $app_uid , Uid for case - * @param string $del_index , Index for case + * @param int $del_index , Index for case * @param string $obj_type , Index for case * @param string $obj_uid , Index for case * From 4ca3d127e46046b72d0d4f01a7c357f868636114 Mon Sep 17 00:00:00 2001 From: Freddy Daniel Rojas Valda Date: Sat, 10 Jan 2015 12:05:27 -0400 Subject: [PATCH 4/4] PM-1165 "Se agrega funcion doGetSteps, para obtener los pasos evaluados" --- workflow/engine/classes/class.applications.php | 1 + .../engine/src/ProcessMaker/BusinessModel/Cases.php | 11 +---------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/workflow/engine/classes/class.applications.php b/workflow/engine/classes/class.applications.php index 446112987..4473db067 100755 --- a/workflow/engine/classes/class.applications.php +++ b/workflow/engine/classes/class.applications.php @@ -923,6 +923,7 @@ class Applications $stepItem['title'] = $oDocument->getDynTitle(); $stepItem['url'] = "cases/cases_Step?UID=$stepUid&TYPE=$stepType&POSITION=$stepPosition&ACTION=EDIT"; + $stepItem['version'] = $oDocument->getDynVersion(); break; case 'OUTPUT_DOCUMENT': $oDocument = OutputDocumentPeer::retrieveByPK( $caseStep->getStepUidObj() ); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php index 7479acb11..a042bc107 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -1968,15 +1968,6 @@ class Cases $oApplication = new \Applications(); $aField = $oApplication->getSteps($app_uid, $del_index, $tas_uid, $pro_uid); - foreach ($aField as $fields) { - if ($fields['type'] == 'DYNAFORM') { - $oDynaform = \DynaformPeer::retrieveByPK($fields['id']); - $dynaform_version = $oDynaform->getDynVersion(); - $aFieldConsolidate[] = array_merge($fields, array("version" => $dynaform_version)); - } else { - $aFieldConsolidate[] = $fields; - } - } - return $aFieldConsolidate; + return $aField; } }