solved the problem of incompatibility between TemplatePower.php and BackBone
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
function dynaFormChanged (frm) {
|
function dynaFormChanged (frm) {
|
||||||
for (var i1 = 0; i1 <= frm.elements.length - 1; i1++) {
|
for (var i1 = 0; i1 <= frm.elements.length - 1; i1++) {
|
||||||
if ((frm.elements[i1].type == "radio" || frm.elements[i1].type == "checkbox") && (frm.elements[i1].checked != frm.elements[i1].defaultChecked)) {
|
if ((frm.elements[i1].type === "radio" || frm.elements[i1].type === "checkbox") && (frm.elements[i1].checked !== frm.elements[i1].defaultChecked)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if ((frm.elements[i1].type == "textarea" || frm.elements[i1].type == "text" || frm.elements[i1].type == "file") && (frm.elements[i1].value != frm.elements[i1].defaultValue)) {
|
if ((frm.elements[i1].type === "textarea" || frm.elements[i1].type === "text" || frm.elements[i1].type === "file") && (frm.elements[i1].value !== frm.elements[i1].defaultValue)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (frm.elements[i1].tagName.toLowerCase() == "select") {
|
if (frm.elements[i1].tagName.toLowerCase() === "select") {
|
||||||
var selectDefaultValue = frm.elements[i1].value;
|
var selectDefaultValue = frm.elements[i1].value;
|
||||||
for (var i2 = 0; i2 <= frm.elements[i1].options.length - 1; i2++) {
|
for (var i2 = 0; i2 <= frm.elements[i1].options.length - 1; i2++) {
|
||||||
if (frm.elements[i1].options[i2].defaultSelected) {
|
if (frm.elements[i1].options[i2].defaultSelected) {
|
||||||
@@ -14,7 +14,7 @@ function dynaFormChanged (frm) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (frm.elements[i1].value != selectDefaultValue) {
|
if (frm.elements[i1].value !== selectDefaultValue) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -22,6 +22,18 @@ function dynaFormChanged (frm) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function validateNameField (form, type) {
|
||||||
|
var i, j = 0, dt, name;
|
||||||
|
dt = form.getElementsByTagName(type);
|
||||||
|
for (i = 0; i < dt.length; i++) {
|
||||||
|
name = dt[i].name;
|
||||||
|
if (!name)
|
||||||
|
name = "field" + type + j;
|
||||||
|
dt[i].name = "form[" + name + "]";
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
window.onload = function () {
|
window.onload = function () {
|
||||||
var data = JSON.parse(jsondata);
|
var data = JSON.parse(jsondata);
|
||||||
var modelPMDynaform = new PMDynaform.Model.Form(data);
|
var modelPMDynaform = new PMDynaform.Model.Form(data);
|
||||||
@@ -36,41 +48,49 @@ window.onload = function () {
|
|||||||
parent.setCurrent(dyn_uid);
|
parent.setCurrent(dyn_uid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// TYPE:ASSIGN_TASK
|
|
||||||
// UID:-1
|
|
||||||
// POSITION:10000
|
|
||||||
// ACTION:ASSIGN
|
|
||||||
var submit = document.getElementsByTagName("button");
|
|
||||||
$a = submit;
|
|
||||||
if (submit.length > 0) {
|
|
||||||
submit = submit[0];
|
|
||||||
var form = document.getElementsByTagName("form")[0];
|
|
||||||
$b = form;
|
|
||||||
|
|
||||||
var TYPE = document.createElement("input");
|
var form = document.getElementsByTagName("form")[0];
|
||||||
TYPE.type = "hidden";
|
validateNameField(form, "input");
|
||||||
TYPE.value = "ASSIGN_TASK";
|
validateNameField(form, "textarea");
|
||||||
TYPE.name = "TYPE";
|
validateNameField(form, "select");
|
||||||
|
|
||||||
var UID = document.createElement("input");
|
var type = document.createElement("input");
|
||||||
UID.type = "hidden";
|
type.type = "hidden";
|
||||||
UID.value = "-1";
|
type.value = "ASSIGN_TASK";
|
||||||
UID.name = "UID";
|
type.name = "TYPE";
|
||||||
|
|
||||||
var POSITION = document.createElement("input");
|
var uid = document.createElement("input");
|
||||||
POSITION.type = "hidden";
|
uid.type = "hidden";
|
||||||
POSITION.value = "10000";
|
uid.value = dyn_uid;
|
||||||
POSITION.value = "POSITION";
|
uid.name = "UID";
|
||||||
|
|
||||||
var ACTION = document.createElement("input");
|
var position = document.createElement("input");
|
||||||
ACTION.type = "hidden";
|
position.type = "hidden";
|
||||||
ACTION.value = "ASSIGN";
|
position.value = "10000";
|
||||||
ACTION.value = "ACTION";
|
position.name = "POSITION";
|
||||||
|
|
||||||
form.appendChild(TYPE);
|
var action = document.createElement("input");
|
||||||
form.appendChild(UID);
|
action.type = "hidden";
|
||||||
form.appendChild(POSITION);
|
action.value = "ASSIGN";
|
||||||
form.appendChild(ACTION);
|
action.name = "ACTION";
|
||||||
|
|
||||||
|
var dynaformname = document.createElement("input");
|
||||||
|
dynaformname.type = "hidden";
|
||||||
|
dynaformname.value = __DynaformName__;
|
||||||
|
dynaformname.name = "__DynaformName__";
|
||||||
|
|
||||||
|
var appuid = document.createElement("input");
|
||||||
|
appuid.type = "hidden";
|
||||||
|
appuid.value = app_uid;
|
||||||
|
appuid.name = "APP_UID";
|
||||||
|
|
||||||
|
form.action = "cases_SaveData?UID=" + dyn_uid + "&APP_UID=" + app_uid;
|
||||||
|
form.method = "post";
|
||||||
|
form.appendChild(type);
|
||||||
|
form.appendChild(uid);
|
||||||
|
form.appendChild(position);
|
||||||
|
form.appendChild(action);
|
||||||
|
form.appendChild(dynaformname);
|
||||||
|
form.appendChild(appuid);
|
||||||
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
@@ -258,20 +258,24 @@ try {
|
|||||||
$_SESSION['CURRENT_DYN_UID'] = $_GET['UID'];
|
$_SESSION['CURRENT_DYN_UID'] = $_GET['UID'];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Checks the type of Dynaform.
|
* PMDynaform
|
||||||
* DYN_VERSION: 1 is classic Dynaform, 2 is Pmdynaform (responsive form).
|
* DYN_VERSION is 1: classic Dynaform,
|
||||||
|
* DYN_VERSION is 2: responsive form, Pmdynaform.
|
||||||
*/
|
*/
|
||||||
$a = new Criteria("workflow");
|
$a = new Criteria("workflow");
|
||||||
$a->addSelectColumn(DynaformPeer::DYN_VERSION);
|
$a->addSelectColumn(DynaformPeer::DYN_VERSION);
|
||||||
$a->addSelectColumn(DynaformPeer::DYN_CONTENT);
|
$a->addSelectColumn(DynaformPeer::DYN_CONTENT);
|
||||||
|
$a->addSelectColumn(DynaformPeer::PRO_UID);
|
||||||
|
$a->addSelectColumn(DynaformPeer::DYN_UID);
|
||||||
$a->add(DynaformPeer::DYN_UID, $_GET['UID'], Criteria::EQUAL);
|
$a->add(DynaformPeer::DYN_UID, $_GET['UID'], Criteria::EQUAL);
|
||||||
$ds = ProcessPeer::doSelectRS($a);
|
$ds = ProcessPeer::doSelectRS($a);
|
||||||
$ds->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
$ds->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
$ds->next();
|
$ds->next();
|
||||||
$row = $ds->getRow();
|
$row = $ds->getRow();
|
||||||
|
$file = "";
|
||||||
if (isset($row) && $row["DYN_VERSION"] == 2) {
|
if (isset($row) && $row["DYN_VERSION"] == 2) {
|
||||||
//$oTemplatePower = new TemplatePower(PATH_TPL . 'cases/cases_Step_Pmdynaform.html');
|
/*$oTemplatePower = new TemplatePower(PATH_TPL . 'cases/cases_Step_Pmdynaform.html');
|
||||||
$oTemplatePower = new TemplatePower(PATH_HOME . 'public_html/lib/pmdynaform/build/cases_Step_Pmdynaform.html');
|
$oTemplatePower = new TemplatePower(PATH_HOME . 'public_html/lib/pmdynaform/build/cases_Step_Pmdynaform.html', T_BYVAR);
|
||||||
$oTemplatePower->prepare();
|
$oTemplatePower->prepare();
|
||||||
$oTemplatePower->assign("JSON_DATA", $row["DYN_CONTENT"]);
|
$oTemplatePower->assign("JSON_DATA", $row["DYN_CONTENT"]);
|
||||||
$oTemplatePower->assign("CASE", $array["CASE"]);
|
$oTemplatePower->assign("CASE", $array["CASE"]);
|
||||||
@@ -280,6 +284,21 @@ try {
|
|||||||
$oTemplatePower->assign("APP_TITLE", $array["APP_TITLE"]);
|
$oTemplatePower->assign("APP_TITLE", $array["APP_TITLE"]);
|
||||||
$oTemplatePower->assign("PM_RUN_OUTSIDE_MAIN_APP", (!isset($_SESSION["PM_RUN_OUTSIDE_MAIN_APP"])) ? "true" : "false");
|
$oTemplatePower->assign("PM_RUN_OUTSIDE_MAIN_APP", (!isset($_SESSION["PM_RUN_OUTSIDE_MAIN_APP"])) ? "true" : "false");
|
||||||
$oTemplatePower->assign("DYN_UID", $_GET['UID']);
|
$oTemplatePower->assign("DYN_UID", $_GET['UID']);
|
||||||
|
$oTemplatePower->assign("DYNAFORMNAME", $row["PRO_UID"] . "_" . $row["DYN_UID"]);
|
||||||
|
$oTemplatePower->assign("APP_UID", $_SESSION['APPLICATION']);
|
||||||
|
$oTemplatePower->printToScreen();*/
|
||||||
|
$file = file_get_contents(PATH_HOME . 'public_html/lib/pmdynaform/build/cases_Step_Pmdynaform.html');
|
||||||
|
$file = str_replace("{JSON_DATA}", $row["DYN_CONTENT"], $file);
|
||||||
|
$file = str_replace("{CASE}", $array["CASE"], $file);
|
||||||
|
$file = str_replace("{APP_NUMBER}", $array["APP_NUMBER"], $file);
|
||||||
|
$file = str_replace("{TITLE}", $array["TITLE"], $file);
|
||||||
|
$file = str_replace("{APP_TITLE}", $array["APP_TITLE"], $file);
|
||||||
|
$file = str_replace("{PM_RUN_OUTSIDE_MAIN_APP}", (!isset($_SESSION["PM_RUN_OUTSIDE_MAIN_APP"])) ? "true" : "false", $file);
|
||||||
|
$file = str_replace("{DYN_UID}", $_GET['UID'], $file);
|
||||||
|
$file = str_replace("{DYNAFORMNAME}", $row["PRO_UID"] . "_" . $row["DYN_UID"], $file);
|
||||||
|
$file = str_replace("{APP_UID}", $_SESSION['APPLICATION'], $file);
|
||||||
|
echo $file;
|
||||||
|
exit();
|
||||||
} else {
|
} 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()) : ''));
|
$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()) : ''));
|
||||||
}
|
}
|
||||||
@@ -1044,36 +1063,29 @@ try {
|
|||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
$oHeadPublisher = & headPublisher::getSingleton();
|
||||||
* Checks the type of Dynaform.
|
$oHeadPublisher->addScriptFile( "/jscore/cases/core/cases_Step.js" );
|
||||||
* DYN_VERSION: 1 is classic Dynaform, 2 is Pmdynaform (responsive form).
|
|
||||||
*/
|
|
||||||
if (isset($row) && $row["DYN_VERSION"] == 2) {
|
|
||||||
$oTemplatePower->printToScreen();
|
|
||||||
} else {
|
|
||||||
$oHeadPublisher = & headPublisher::getSingleton();
|
|
||||||
$oHeadPublisher->addScriptFile( "/jscore/cases/core/cases_Step.js" );
|
|
||||||
|
|
||||||
if (!isset($_SESSION["PM_RUN_OUTSIDE_MAIN_APP"])) {
|
if (!isset($_SESSION["PM_RUN_OUTSIDE_MAIN_APP"])) {
|
||||||
$oHeadPublisher->addScriptCode( "
|
$oHeadPublisher->addScriptCode( "
|
||||||
if (typeof parent != 'undefined') {
|
if (typeof parent != 'undefined') {
|
||||||
if (parent.showCaseNavigatorPanel) {
|
if (parent.showCaseNavigatorPanel) {
|
||||||
parent.showCaseNavigatorPanel('$sStatus');
|
parent.showCaseNavigatorPanel('$sStatus');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parent.setCurrent) {
|
if (parent.setCurrent) {
|
||||||
parent.setCurrent('" . $_GET['UID'] . "');
|
parent.setCurrent('" . $_GET['UID'] . "');
|
||||||
}
|
}
|
||||||
}" );
|
}" );
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
G::RenderPage( 'publish', 'blank' );
|
|
||||||
|
|
||||||
if ($_SESSION['TRIGGER_DEBUG']['ISSET']) {
|
|
||||||
G::evalJScript( '
|
|
||||||
if (typeof showdebug != \'undefined\') {
|
|
||||||
showdebug();
|
|
||||||
}' );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
G::RenderPage( 'publish', 'blank' );
|
||||||
|
|
||||||
|
if ($_SESSION['TRIGGER_DEBUG']['ISSET']) {
|
||||||
|
G::evalJScript( '
|
||||||
|
if (typeof showdebug != \'undefined\') {
|
||||||
|
showdebug();
|
||||||
|
}' );
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
var jsondata = '{JSON_DATA}';
|
var jsondata = '{JSON_DATA}';
|
||||||
var pm_run_outside_main_app = '{PM_RUN_OUTSIDE_MAIN_APP}';
|
var pm_run_outside_main_app = '{PM_RUN_OUTSIDE_MAIN_APP}';
|
||||||
var dyn_uid = '{DYN_UID}';
|
var dyn_uid = '{DYN_UID}';
|
||||||
|
var __DynaformName__ = '{DYNAFORMNAME}';
|
||||||
|
var app_uid = '{APP_UID}';
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="/jscore/cases/core/cases_Step.js"></script>
|
<script type="text/javascript" src="/jscore/cases/core/cases_Step.js"></script>
|
||||||
<script type="text/javascript" src="/jscore/cases/core/cases_Step_Pmdynaform.js"></script>
|
<script type="text/javascript" src="/jscore/cases/core/cases_Step_Pmdynaform.js"></script>
|
||||||
|
|||||||
Reference in New Issue
Block a user