PMDynaform

This commit is contained in:
Roly Rudy Gutierrez Pinto
2015-01-12 15:58:52 -04:00
parent 7a4139315c
commit 2d915ff264
5 changed files with 46 additions and 49 deletions

View File

@@ -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;

View File

@@ -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);

View File

@@ -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');

View File

@@ -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()) : ''));

View File

@@ -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();