diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php
index 37ebb6045..77caa227a 100644
--- a/workflow/engine/classes/class.pmDynaform.php
+++ b/workflow/engine/classes/class.pmDynaform.php
@@ -182,7 +182,7 @@ class pmDynaform
array_push($json->optionsSql, $option);
}
} catch (Exception $e) {
-
+
}
}
if (isset($json->options[0])) {
@@ -475,6 +475,55 @@ class pmDynaform
exit();
}
+ public function printEditSupervisor()
+ {
+ ob_clean();
+
+ $json = G::json_decode($this->record["DYN_CONTENT"]);
+ $this->jsonr($json);
+
+ $msg = "";
+
+ if (isset($_SESSION["G_MESSAGE_TYPE"]) && isset($_SESSION["G_MESSAGE"])) {
+ $msg = "
" . G::LoadTranslation("ID_INFO") . ": " . $_SESSION["G_MESSAGE"] . "
";
+
+ unset($_SESSION["G_MESSAGE_TYPE"]);
+ unset($_SESSION["G_MESSAGE"]);
+ }
+
+ $javascrip = "
+
+
+
+
+
+ ";
+
+ $file = file_get_contents(PATH_HOME . "public_html" . PATH_SEP . "lib" . PATH_SEP . "pmdynaform" . PATH_SEP . "build" . PATH_SEP . "pmdynaform.html");
+ $file = str_replace("{javascript}", $javascrip, $file);
+
+ echo $file;
+ exit(0);
+ }
+
public function printWebEntry($filename)
{
ob_clean();
@@ -967,3 +1016,4 @@ class pmDynaform
}
}
+
diff --git a/workflow/engine/methods/cases/cases_SaveData.php b/workflow/engine/methods/cases/cases_SaveData.php
index ddbfaeff4..b9580fe2b 100755
--- a/workflow/engine/methods/cases/cases_SaveData.php
+++ b/workflow/engine/methods/cases/cases_SaveData.php
@@ -46,14 +46,10 @@ try {
* DYN_VERSION is 1: classic Dynaform,
* DYN_VERSION is 2: responsive form, Pmdynaform.
*/
- $a = new Criteria("workflow");
- $a->addSelectColumn(DynaformPeer::DYN_VERSION);
- $a->add(DynaformPeer::DYN_UID, $_GET['UID'], Criteria::EQUAL);
- $a = ProcessPeer::doSelectRS($a);
- $a->setFetchmode(ResultSet::FETCHMODE_ASSOC);
- $a->next();
- $row = $a->getRow();
- $swpmdynaform = isset($row) && $row["DYN_VERSION"] == 2;
+ $dynaForm = DynaformPeer::retrieveByPK($_GET["UID"]);
+
+ $swpmdynaform = !is_null($dynaForm) && $dynaForm->getDynVersion() == 2;
+
if ($swpmdynaform) {
$pmdynaform = $_POST["form"];
}
@@ -149,7 +145,7 @@ try {
$aRow = false;
}
}
-
+
if ($aRow) {
foreach ($aValues as $sKey => $sValue) {
if ($sKey != $oForm->fields[$sField]->pmfield) {
diff --git a/workflow/engine/methods/cases/cases_SaveDataSupervisor.php b/workflow/engine/methods/cases/cases_SaveDataSupervisor.php
index 29d6180c9..f40f3a918 100755
--- a/workflow/engine/methods/cases/cases_SaveDataSupervisor.php
+++ b/workflow/engine/methods/cases/cases_SaveDataSupervisor.php
@@ -22,6 +22,15 @@
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
//validate the data post
+
+$dynaForm = DynaformPeer::retrieveByPK($_GET["UID"]);
+
+$flagDynaFormNewVersion = !is_null($dynaForm) && $dynaForm->getDynVersion() == 2;
+
+if ($flagDynaFormNewVersion) {
+ $dataForm = $_POST["form"];
+}
+
$oForm = new Form( $_SESSION['PROCESS'] . '/' . $_GET['UID'], PATH_DYNAFORM );
$oForm->validatePost();
@@ -31,6 +40,11 @@ G::LoadClass( 'case' );
//load the variables
$oCase = new Cases();
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'] );
+
+if ($flagDynaFormNewVersion) {
+ $Fields["APP_DATA"] = array_merge($Fields["APP_DATA"], $dataForm);
+}
+
$Fields['APP_DATA'] = array_merge( $Fields['APP_DATA'], $_POST['form'] );
//save data
diff --git a/workflow/engine/methods/cases/cases_StepToRevise.php b/workflow/engine/methods/cases/cases_StepToRevise.php
index fb032ea3e..936aabcb0 100755
--- a/workflow/engine/methods/cases/cases_StepToRevise.php
+++ b/workflow/engine/methods/cases/cases_StepToRevise.php
@@ -129,7 +129,7 @@ if ($_GET['DYN_UID'] != '') {
$FieldsPmDynaform["CURRENT_DYNAFORM"] = $_GET['DYN_UID'];
$a = new pmDynaform($FieldsPmDynaform);
if ($a->isResponsive()) {
- $a->printView();
+ $a->printEditSupervisor();
}else{
$G_PUBLISH->AddContent( 'dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['DYN_UID'], '', $Fields['APP_DATA'], 'cases_SaveDataSupervisor?UID=' . $_GET['DYN_UID'] );
}