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 = " + + + + +
+ $msg +
+ +
+
+ "; + + $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'] ); }