web entry - update last observations, and add post in submit
This commit is contained in:
@@ -17,8 +17,9 @@ class pmDynaform
|
|||||||
public $items = array();
|
public $items = array();
|
||||||
public $data = array();
|
public $data = array();
|
||||||
public $variables = array();
|
public $variables = array();
|
||||||
|
public $arrayFieldRequired = array();
|
||||||
|
|
||||||
public function __construct($dyn_uid, $app_data)
|
public function __construct($dyn_uid, $app_data = array())
|
||||||
{
|
{
|
||||||
$this->dyn_uid = $dyn_uid;
|
$this->dyn_uid = $dyn_uid;
|
||||||
$this->app_data = $app_data;
|
$this->app_data = $app_data;
|
||||||
@@ -27,9 +28,16 @@ class pmDynaform
|
|||||||
//items
|
//items
|
||||||
$dynContent = G::json_decode($this->record["DYN_CONTENT"]);
|
$dynContent = G::json_decode($this->record["DYN_CONTENT"]);
|
||||||
if (isset($dynContent->items)) {
|
if (isset($dynContent->items)) {
|
||||||
$this->items = $dynContent->items[0]->items;
|
$this->items = $dynContent->items[0]->items;
|
||||||
|
for($i=0; $i<count($this->items); $i++){
|
||||||
|
for($j=0; $j<count($this->items[$i]); $j++){
|
||||||
|
if($this->items[$i][$j]->required == 1){
|
||||||
|
array_push($this->arrayFieldRequired, $this->items[$i][$j]->name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if($app_data != array()){
|
if(!empty($app_data)){
|
||||||
//data
|
//data
|
||||||
$cases = new \ProcessMaker\BusinessModel\Cases();
|
$cases = new \ProcessMaker\BusinessModel\Cases();
|
||||||
$this->data = $cases->getCaseVariables($app_data["APPLICATION"]);
|
$this->data = $cases->getCaseVariables($app_data["APPLICATION"]);
|
||||||
@@ -61,7 +69,7 @@ class pmDynaform
|
|||||||
while ($ds->next()) {
|
while ($ds->next()) {
|
||||||
$row = $ds->getRow();
|
$row = $ds->getRow();
|
||||||
//options
|
//options
|
||||||
$rows2 = json_decode($row["VAR_ACCEPTED_VALUES"]);
|
$rows2 = G::json_decode($row["VAR_ACCEPTED_VALUES"]);
|
||||||
$n = count($rows2);
|
$n = count($rows2);
|
||||||
for ($i = 0; $i < $n; $i++) {
|
for ($i = 0; $i < $n; $i++) {
|
||||||
$rows2[$i] = array($rows2[$i]->keyValue, $rows2[$i]->value);
|
$rows2[$i] = array($rows2[$i]->keyValue, $rows2[$i]->value);
|
||||||
@@ -240,12 +248,13 @@ class pmDynaform
|
|||||||
$file = str_replace("{PRJ_UID}", $this->app_data["PROCESS"], $file);
|
$file = str_replace("{PRJ_UID}", $this->app_data["PROCESS"], $file);
|
||||||
$file = str_replace("{STEP_MODE}", $step_mode, $file);
|
$file = str_replace("{STEP_MODE}", $step_mode, $file);
|
||||||
$file = str_replace("{WORKSPACE}", $this->app_data["SYS_SYS"], $file);
|
$file = str_replace("{WORKSPACE}", $this->app_data["SYS_SYS"], $file);
|
||||||
$file = str_replace("{credentials}", json_encode($clientToken), $file);
|
$file = str_replace("{PORT}", $_SERVER["SERVER_PORT"] , $file);
|
||||||
|
$file = str_replace("{credentials}", G::json_encode($clientToken), $file);
|
||||||
echo $file;
|
echo $file;
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function printWebEntry()
|
public function printWebEntry($filename)
|
||||||
{
|
{
|
||||||
ob_clean();
|
ob_clean();
|
||||||
$a = $this->clientToken();
|
$a = $this->clientToken();
|
||||||
@@ -263,11 +272,14 @@ class pmDynaform
|
|||||||
$file = str_replace("{DYN_UID}", $this->dyn_uid, $file);
|
$file = str_replace("{DYN_UID}", $this->dyn_uid, $file);
|
||||||
$file = str_replace("{PRJ_UID}",$this->record["PRO_UID"], $file);
|
$file = str_replace("{PRJ_UID}",$this->record["PRO_UID"], $file);
|
||||||
$file = str_replace("{WORKSPACE}", SYS_SYS, $file);
|
$file = str_replace("{WORKSPACE}", SYS_SYS, $file);
|
||||||
$file = str_replace("{credentials}", json_encode($clientToken), $file);
|
$file = str_replace("{FILEPOST}", $filename, $file);
|
||||||
echo $file;
|
$file = str_replace("{PORT}", $_SERVER["SERVER_PORT"] , $file);
|
||||||
|
$file = str_replace("{credentials}", G::json_encode($clientToken), $file);
|
||||||
|
$file = str_replace("{FIELDSREQUIRED}", G::json_encode($this->arrayFieldRequired), $file);
|
||||||
|
echo $file;
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function clientToken()
|
private function clientToken()
|
||||||
{
|
{
|
||||||
$client = $this->getClientCredentials();
|
$client = $this->getClientCredentials();
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ $(window).load(function () {
|
|||||||
submitRest: false
|
submitRest: false
|
||||||
});
|
});
|
||||||
new PMDynaform.core.Proxy({
|
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",
|
url: "http://" + window.project.keys.server + ":"+port +"/" + window.project.keys.apiName + "/" + window.project.keys.apiVersion + "/" + window.project.keys.workspace + "/cases/" + app_uid + "/variables",
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
data: {},
|
data: {},
|
||||||
keys: window.project.token,
|
keys: window.project.token,
|
||||||
|
|||||||
@@ -36,16 +36,7 @@ $(window).load(function () {
|
|||||||
},
|
},
|
||||||
token: credentials,
|
token: credentials,
|
||||||
submitRest: false
|
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) {
|
|
||||||
window.project.setData2(response);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var type = document.createElement("input");
|
var type = document.createElement("input");
|
||||||
type.type = "hidden";
|
type.type = "hidden";
|
||||||
@@ -66,13 +57,18 @@ $(window).load(function () {
|
|||||||
var dynaformname = document.createElement("input");
|
var dynaformname = document.createElement("input");
|
||||||
dynaformname.type = "hidden";
|
dynaformname.type = "hidden";
|
||||||
dynaformname.name = "__DynaformName__";
|
dynaformname.name = "__DynaformName__";
|
||||||
dynaformname.value = __DynaformName__;
|
//dynaformname.value = __DynaformName__;
|
||||||
var appuid = document.createElement("input");
|
var appuid = document.createElement("input");
|
||||||
appuid.type = "hidden";
|
appuid.type = "hidden";
|
||||||
appuid.name = "APP_UID";
|
appuid.name = "APP_UID";
|
||||||
appuid.value = app_uid;
|
|
||||||
|
var arrayRequired = document.createElement("input");
|
||||||
|
arrayRequired.type = "hidden";
|
||||||
|
arrayRequired.name = "DynaformRequiredFields";
|
||||||
|
arrayRequired.value = fieldsRequired;
|
||||||
|
//appuid.value = app_uid;
|
||||||
var form = document.getElementsByTagName("form")[0];
|
var form = document.getElementsByTagName("form")[0];
|
||||||
form.action = "cases_SaveData?UID=" + dyn_uid + "&APP_UID=" + app_uid;
|
form.action = filePost;
|
||||||
form.method = "post";
|
form.method = "post";
|
||||||
form.appendChild(type);
|
form.appendChild(type);
|
||||||
form.appendChild(uid);
|
form.appendChild(uid);
|
||||||
@@ -80,6 +76,7 @@ $(window).load(function () {
|
|||||||
form.appendChild(action);
|
form.appendChild(action);
|
||||||
form.appendChild(dynaformname);
|
form.appendChild(dynaformname);
|
||||||
form.appendChild(appuid);
|
form.appendChild(appuid);
|
||||||
|
form.appendChild(arrayRequired);
|
||||||
|
|
||||||
var dyn_forward = document.getElementById("dyn_forward");
|
var dyn_forward = document.getElementById("dyn_forward");
|
||||||
dyn_forward.onclick = function () {
|
dyn_forward.onclick = function () {
|
||||||
|
|||||||
@@ -400,7 +400,7 @@ class WebEntry
|
|||||||
$fileContent .= "G::LoadClass('pmDynaform');\n";
|
$fileContent .= "G::LoadClass('pmDynaform');\n";
|
||||||
$fileContent .= "\$a = new pmDynaform('".$arrayWebEntryData["DYN_UID"]."', array());\n";
|
$fileContent .= "\$a = new pmDynaform('".$arrayWebEntryData["DYN_UID"]."', array());\n";
|
||||||
$fileContent .= "if(\$a->isResponsive()){";
|
$fileContent .= "if(\$a->isResponsive()){";
|
||||||
$fileContent .= "\$a->printWebEntry();";
|
$fileContent .= "\$a->printWebEntry('".$fileName."Post.php');";
|
||||||
$fileContent .= "}else {";
|
$fileContent .= "}else {";
|
||||||
$fileContent .= "\$G_PUBLISH->AddContent(\"dynaform\", \"xmlform\", \"" . $processUid . "/" . $dynaFormUid . "\", \"\", array(), \"" . $fileName . "Post.php\");\n";
|
$fileContent .= "\$G_PUBLISH->AddContent(\"dynaform\", \"xmlform\", \"" . $processUid . "/" . $dynaFormUid . "\", \"\", array(), \"" . $fileName . "Post.php\");\n";
|
||||||
$fileContent .= "G::RenderPage(\"publish\", \"blank\");";
|
$fileContent .= "G::RenderPage(\"publish\", \"blank\");";
|
||||||
|
|||||||
@@ -28,6 +28,10 @@
|
|||||||
//var step_mode = '{STEP_MODE}';
|
//var step_mode = '{STEP_MODE}';
|
||||||
var workspace = '{WORKSPACE}';
|
var workspace = '{WORKSPACE}';
|
||||||
var credentials = {credentials};
|
var credentials = {credentials};
|
||||||
|
var filePost = '{FILEPOST}';
|
||||||
|
var port = '{PORT}';
|
||||||
|
var fieldsRequired = {FIELDSREQUIRED};
|
||||||
|
|
||||||
</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/webentry_pmdynaform.js"></script>
|
<script type="text/javascript" src="/jscore/cases/core/webentry_pmdynaform.js"></script>
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
var prj_uid = '{PRJ_UID}';
|
var prj_uid = '{PRJ_UID}';
|
||||||
var step_mode = '{STEP_MODE}';
|
var step_mode = '{STEP_MODE}';
|
||||||
var workspace = '{WORKSPACE}';
|
var workspace = '{WORKSPACE}';
|
||||||
|
var port = '{PORT}';
|
||||||
var credentials = {credentials};
|
var credentials = {credentials};
|
||||||
</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>
|
||||||
|
|||||||
Reference in New Issue
Block a user