From dbd751038e9c7aeb60e51b118aec076e46b4edfd Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 23 Jan 2015 11:54:59 -0400 Subject: [PATCH 1/7] IMPROVEMENT PM-1338 Running cases step_mode 'EDIT' & 'VIEW' --- workflow/engine/classes/class.pmDynaform.php | 3 ++- workflow/engine/js/cases/core/cases_Step_Pmdynaform.js | 1 + workflow/engine/methods/cases/cases_Step.php | 2 +- workflow/engine/templates/cases/cases_Step_Pmdynaform.html | 1 + 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php index 67bdbbe72..3b9be17a4 100644 --- a/workflow/engine/classes/class.pmDynaform.php +++ b/workflow/engine/classes/class.pmDynaform.php @@ -75,7 +75,7 @@ class pmDynaform exit(); } - public function printEdit($pm_run_outside_main_app, $application, $headData) + public function printEdit($pm_run_outside_main_app, $application, $headData, $step_mode = 'EDIT') { ob_clean(); @@ -101,6 +101,7 @@ class pmDynaform $file = str_replace("{DYNAFORMNAME}", $this->record["PRO_UID"] . "_" . $this->record["DYN_UID"], $file); $file = str_replace("{APP_UID}", $application, $file); $file = str_replace("{PRJ_UID}", $this->app_data["PROCESS"], $file); + $file = str_replace("{STEP_MODE}", $step_mode, $file); $file = str_replace("{WORKSPACE}", $this->app_data["SYS_SYS"], $file); $file = str_replace("{credentials}", json_encode($clientToken), $file); echo $file; diff --git a/workflow/engine/js/cases/core/cases_Step_Pmdynaform.js b/workflow/engine/js/cases/core/cases_Step_Pmdynaform.js index aa20b41bd..ababad45f 100644 --- a/workflow/engine/js/cases/core/cases_Step_Pmdynaform.js +++ b/workflow/engine/js/cases/core/cases_Step_Pmdynaform.js @@ -37,6 +37,7 @@ $(window).load(function () { } var data = jsondata; + data.items[0].mode = step_mode.toLowerCase(); window.project = new PMDynaform.core.Project({ data: data, keys: { diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php index 7c524ea8c..0ff76c553 100755 --- a/workflow/engine/methods/cases/cases_Step.php +++ b/workflow/engine/methods/cases/cases_Step.php @@ -264,7 +264,7 @@ try { G::LoadClass('pmDynaform'); $a = new pmDynaform($_GET['UID'], $Fields['APP_DATA']); if ($a->isResponsive()) { - $a->printEdit((!isset($_SESSION["PM_RUN_OUTSIDE_MAIN_APP"])) ? "true" : "false", $_SESSION['APPLICATION'], $array); + $a->printEdit((!isset($_SESSION["PM_RUN_OUTSIDE_MAIN_APP"])) ? "true" : "false", $_SESSION['APPLICATION'], $array, $oStep->getStepMode()); } else { $G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['UID'], '', $Fields['APP_DATA'], 'cases_SaveData?UID=' . $_GET['UID'] . '&APP_UID=' . $_SESSION['APPLICATION'], '', (strtolower($oStep->getStepMode()) != 'edit' ? strtolower($oStep->getStepMode()) : '')); } diff --git a/workflow/engine/templates/cases/cases_Step_Pmdynaform.html b/workflow/engine/templates/cases/cases_Step_Pmdynaform.html index 1ee6b7148..cae588671 100644 --- a/workflow/engine/templates/cases/cases_Step_Pmdynaform.html +++ b/workflow/engine/templates/cases/cases_Step_Pmdynaform.html @@ -25,6 +25,7 @@ var __DynaformName__ = '{DYNAFORMNAME}'; var app_uid = '{APP_UID}'; var prj_uid = '{PRJ_UID}'; + var step_mode = '{STEP_MODE}'; var workspace = '{WORKSPACE}'; var credentials = {credentials}; From 9f39979ce15fd74cc73f4d787d7795dc16fb3064 Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Sat, 24 Jan 2015 14:15:20 -0400 Subject: [PATCH 2/7] PM-1411 "Despues de crear un trigger con upper case con..." SOLVED Issue: Despues de crear un trigger con upper case con caracteres extranios se bloquea el listado de triggers y deja de responder permanentemente Cause: El problema se debe a que la respuesta del endpoint contiene el atributo "tri_param", para triggers creados con el wizard contiene una cadena serializada que ha sido formateada con "G::json_encode", esto ocasiona que el JSON de respuesta este mal definido, esto cuando tiene caracteres raros como por ejemplo "enie" Solution: - Back-end, se ha eliminado el uso del "G::json_encode" - Front-end, el atributo "tri_param" ahora es un objeto (ya no es cadena) --- workflow/engine/src/ProcessMaker/BusinessModel/Trigger.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Trigger.php b/workflow/engine/src/ProcessMaker/BusinessModel/Trigger.php index f4ae6ea70..1ee096271 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Trigger.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Trigger.php @@ -74,7 +74,9 @@ class Trigger } else { if ($aRow['TRI_PARAM'] != '' && $aRow['TRI_PARAM'] != 'PRIVATE') { $aRow['TRI_PARAM'] = unserialize($aRow['TRI_PARAM']); - $aRow['TRI_PARAM'] = \G::json_encode($aRow['TRI_PARAM']); + + unset($aRow["TRI_PARAM"]["hash"]); + unset($aRow["TRI_PARAM"]["params"]["TRI_WEBBOT"]); } } $triggersArray[] = array_change_key_case($aRow, CASE_LOWER); From f265eb82a29d412eae976e18cdd2223484e974a9 Mon Sep 17 00:00:00 2001 From: Freddy Daniel Rojas Valda Date: Sat, 24 Jan 2015 10:47:17 -0400 Subject: [PATCH 3/7] PM-1393 "No se puede importar un proceso cuando una de las tareas no tiene asignado un titulo" SOLVED --- .../engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index bbef0f55a..a90cca2b1 100755 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -585,9 +585,6 @@ class BpmnWorkflow extends Project\Bpmn } $activities = $projectData['diagrams']['0']['activities']; foreach ($activities as $value) { - if (empty($value['act_name'])) { - throw new \Exception("For activity: {$value['act_uid']} `act_name` is required but missing."); - } if (empty($value['act_type'])) { throw new \Exception("For activity: {$value['act_uid']} `act_type` is required but missing."); } From 0ac577a96c46843bfabfe8e41a8276ecbba9de12 Mon Sep 17 00:00:00 2001 From: Freddy Daniel Rojas Valda Date: Sat, 24 Jan 2015 13:49:35 -0400 Subject: [PATCH 4/7] PM-1393 "Subprocesos muestran un error al momento de hacer correr el caso" SOLVED --- workflow/engine/classes/class.case.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index b79ea1a1c..c73feeb49 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -988,10 +988,11 @@ class Cases if (isset($Fields["APP_STATUS"]) && $Fields["APP_STATUS"] == "COMPLETED") { if (isset($Fields['CURRENT_USER_UID'])) { $Fields['USR_UID'] = $Fields['CURRENT_USER_UID']; + /*This "list" code is discussed to operate with sub-processes. It should adjust the code for operation with sub-processes. $listCompleted = new ListCompleted(); $listCompleted->create($Fields); $listMyInbox = new ListMyInbox(); - $listMyInbox->refresh($Fields); + $listMyInbox->refresh($Fields);*/ } } $oApp->update($Fields); From a34223c248ce09fe76de5bad5adca7b2110c976b Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 23 Jan 2015 17:08:20 -0400 Subject: [PATCH 5/7] IMPROVEMENT PM-1323 --- workflow/engine/templates/processes/main.js | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow/engine/templates/processes/main.js b/workflow/engine/templates/processes/main.js index e835e14a3..62b70dd36 100755 --- a/workflow/engine/templates/processes/main.js +++ b/workflow/engine/templates/processes/main.js @@ -447,6 +447,7 @@ Ext.onReady(function(){ id: "mnuGenerateBpmn", text: _("ID_GENERATE_BPMN_PROJECT"), iconCls: "button_menu_ext ss_sprite ss_page_white_go", + hidden: true, handler: function () { generateBpmn(); From ff2515442187171414474d35c403d7270c9deb3d Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 23 Jan 2015 17:25:13 -0400 Subject: [PATCH 6/7] IMPROVEMENT PM-1355 --- workflow/engine/methods/cases/ajaxListener.php | 8 ++++++++ .../templates/cases/cases_Step_Pmdynaform_View.html | 1 + 2 files changed, 9 insertions(+) diff --git a/workflow/engine/methods/cases/ajaxListener.php b/workflow/engine/methods/cases/ajaxListener.php index 3506c629e..08108a955 100755 --- a/workflow/engine/methods/cases/ajaxListener.php +++ b/workflow/engine/methods/cases/ajaxListener.php @@ -851,7 +851,15 @@ class Ajax $Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_STEP_LABEL"] = ""; $Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_STEP"] = "#"; $Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_ACTION"] = "return false;"; + G::LoadClass('pmDynaform'); + $a = new pmDynaform($_REQUEST['DYN_UID'], $Fields['APP_DATA']); + if ($a->isResponsive()) { + $a->app_data["PROCESS"] = $_SESSION['PROCESS']; + $a->app_data["SYS_SYS"] = SYS_SYS; + $a->printView((!isset($_SESSION["PM_RUN_OUTSIDE_MAIN_APP"])) ? "true" : "false", $_SESSION['APPLICATION']); + } else { $G_PUBLISH->AddContent("dynaform", "xmlform", $_SESSION["PROCESS"] . "/" . $_POST["DYN_UID"], "", $Fields["APP_DATA"], "", "", "view"); + } ?>