From 2d915ff264998dea8af49ab023211cd7f227a802 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Mon, 12 Jan 2015 15:58:52 -0400 Subject: [PATCH 1/2] PMDynaform --- workflow/engine/classes/class.pmDynaform.php | 25 ----------- .../js/cases/core/cases_Step_Pmdynaform.js | 42 ++++++++++--------- .../cases/casesHistoryDynaformPage_Ajax.php | 2 - workflow/engine/methods/cases/cases_Step.php | 1 - .../cases/cases_Step_Pmdynaform_View.html | 25 ++++++++++- 5 files changed, 46 insertions(+), 49 deletions(-) diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php index 396899e9e..9b84789c0 100644 --- a/workflow/engine/classes/class.pmDynaform.php +++ b/workflow/engine/classes/class.pmDynaform.php @@ -42,31 +42,6 @@ class pmDynaform return $this->record; } - public function getMergeValues() - { - $dataJSON = G::json_decode($this->record["DYN_CONTENT"]); - $dt = $dataJSON->items[0]->items; - $n = count($dt); - for ($i = 0; $i < $n; $i++) { - $dr = $dt[$i]; - $n2 = count($dr); - for ($j = 0; $j < $n2; $j++) { - if (isset($dr[$j]->name)) { - $valueField = isset($this->app_data[$dr[$j]->name]) ? $this->app_data[$dr[$j]->name] : ""; - $dataJSON->items[0]->items[$i][$j]->defaultValue = $valueField; - } - } - } - $a = G::json_encode($dataJSON); - $a = str_replace("\/", "/", $a); - return $a; - } - - public function mergeValues() - { - $this->record["DYN_CONTENT"] = $this->getMergeValues(); - } - public function isResponsive() { return $this->record != null && $this->record["DYN_VERSION"] == 2 ? true : false; diff --git a/workflow/engine/js/cases/core/cases_Step_Pmdynaform.js b/workflow/engine/js/cases/core/cases_Step_Pmdynaform.js index c00f8e6aa..9d6ab62f8 100644 --- a/workflow/engine/js/cases/core/cases_Step_Pmdynaform.js +++ b/workflow/engine/js/cases/core/cases_Step_Pmdynaform.js @@ -22,18 +22,6 @@ function dynaFormChanged(frm) { return false; } $(window).load(function () { - var data = jsondata; - window.dynaform = new PMDynaform.core.Project({ - data: data, - keys: { - server: location.host, - projectId: prj_uid, - workspace: workspace - }, - token: credentials, - submitRest: false - }); - if (pm_run_outside_main_app === 'true') { if (parent.showCaseNavigatorPanel) { parent.showCaseNavigatorPanel('DRAFT'); @@ -44,38 +32,54 @@ $(window).load(function () { } } - var form = document.getElementsByTagName("form")[0]; + var data = jsondata; + window.project = new PMDynaform.core.Project({ + data: data, + keys: { + server: location.host, + projectId: prj_uid, + workspace: workspace + }, + token: credentials, + submitRest: false + }); + new PMDynaform.core.Proxy({ + url: "http://" + window.project.keys.server + "/" + window.project.keys.apiName + "/" + window.project.keys.apiVersion + "/" + window.project.keys.workspace + "/cases/" + app_uid + "/variables", + method: 'GET', + data: {}, + keys: window.project.token, + successCallback: function (xhr, response) { + if (response[jsondata.name] && window.project.setData2) { + window.project.setData2(response[jsondata.name]); + } + } + }); var type = document.createElement("input"); type.type = "hidden"; type.name = "TYPE"; type.value = "ASSIGN_TASK"; - var uid = document.createElement("input"); uid.type = "hidden"; uid.name = "UID"; uid.value = dyn_uid; - var position = document.createElement("input"); position.type = "hidden"; position.name = "POSITION"; position.value = "10000"; - var action = document.createElement("input"); action.type = "hidden"; action.name = "ACTION"; action.value = "ASSIGN"; - var dynaformname = document.createElement("input"); dynaformname.type = "hidden"; dynaformname.name = "__DynaformName__"; dynaformname.value = __DynaformName__; - var appuid = document.createElement("input"); appuid.type = "hidden"; appuid.name = "APP_UID"; appuid.value = app_uid; - + var form = document.getElementsByTagName("form")[0]; form.action = "cases_SaveData?UID=" + dyn_uid + "&APP_UID=" + app_uid; form.method = "post"; form.appendChild(type); diff --git a/workflow/engine/methods/cases/casesHistoryDynaformPage_Ajax.php b/workflow/engine/methods/cases/casesHistoryDynaformPage_Ajax.php index 010eb4435..d48c7a3d0 100644 --- a/workflow/engine/methods/cases/casesHistoryDynaformPage_Ajax.php +++ b/workflow/engine/methods/cases/casesHistoryDynaformPage_Ajax.php @@ -385,7 +385,6 @@ if ($actionAjax == 'dynaformChangeLogViewHistory') { G::LoadClass('pmDynaform'); $a = new pmDynaform($_GET['DYN_UID'], $Fields['APP_DATA']); if ($a->isResponsive()) { - $a->mergeValues(); $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'); @@ -475,7 +474,6 @@ if ($actionAjax == 'historyDynaformGridPreview') { G::LoadClass('pmDynaform'); $a = new pmDynaform($_GET['DYN_UID'], $Fields['APP_DATA']); if ($a->isResponsive()) { - $a->mergeValues(); $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'); diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php index c6e6748e3..7c524ea8c 100755 --- a/workflow/engine/methods/cases/cases_Step.php +++ b/workflow/engine/methods/cases/cases_Step.php @@ -264,7 +264,6 @@ try { G::LoadClass('pmDynaform'); $a = new pmDynaform($_GET['UID'], $Fields['APP_DATA']); if ($a->isResponsive()) { - $a->mergeValues(); $a->printEdit((!isset($_SESSION["PM_RUN_OUTSIDE_MAIN_APP"])) ? "true" : "false", $_SESSION['APPLICATION'], $array); } 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_View.html b/workflow/engine/templates/cases/cases_Step_Pmdynaform_View.html index 87f9095c0..cc553b6bd 100644 --- a/workflow/engine/templates/cases/cases_Step_Pmdynaform_View.html +++ b/workflow/engine/templates/cases/cases_Step_Pmdynaform_View.html @@ -24,10 +24,31 @@ var dyn_uid = '{DYN_UID}'; var __DynaformName__ = '{DYNAFORMNAME}'; var app_uid = '{APP_UID}'; + var prj_uid = '{PRJ_UID}'; + var workspace = '{WORKSPACE}'; + var credentials = {credentials}; $(window).load(function () { var data = jsondata; - window.dynaform = new PMDynaform.core.Project({ - data: data + window.project = new PMDynaform.core.Project({ + data: data, + keys: { + server: location.host, + projectId: prj_uid, + workspace: workspace + }, + token: credentials, + submitRest: false + }); + new PMDynaform.core.Proxy({ + url: "http://" + window.project.keys.server + "/" + window.project.keys.apiName + "/" + window.project.keys.apiVersion + "/" + window.project.keys.workspace + "/cases/" + app_uid + "/variables", + method: 'GET', + data: {}, + keys: window.project.token, + successCallback: function (xhr, response) { + if (response[jsondata.name] && window.project.setData2) { + window.project.setData2(response[jsondata.name]); + } + } }); $(document).find('form').submit(function (e) { e.preventDefault(); From ff322551f210bf67f22fbd577deba72e4fe38585 Mon Sep 17 00:00:00 2001 From: norahmollo Date: Tue, 13 Jan 2015 16:09:01 -0400 Subject: [PATCH 2/2] PM-1215 En IE no funciona el default flow. DOCTYPE html declarado --- workflow/engine/templates/designer/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow/engine/templates/designer/index.html b/workflow/engine/templates/designer/index.html index 1bb60caac..ec8d3cc1a 100644 --- a/workflow/engine/templates/designer/index.html +++ b/workflow/engine/templates/designer/index.html @@ -1,3 +1,4 @@ +