PMDynaform
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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()) : ''));
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user