Merged in victorsl/processmaker/PM-3553 (pull request #2777)

PM-3553
This commit is contained in:
Julio Cesar Laura Avendaño
2015-09-11 17:35:03 -04:00
committed by Enrique Ponce De Leon
4 changed files with 71 additions and 11 deletions

View File

@@ -182,7 +182,7 @@ class pmDynaform
array_push($json->optionsSql, $option); array_push($json->optionsSql, $option);
} }
} catch (Exception $e) { } catch (Exception $e) {
} }
} }
if (isset($json->options[0])) { if (isset($json->options[0])) {
@@ -475,6 +475,55 @@ class pmDynaform
exit(); 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 = "<div style=\"margin: 1.2em; border: 1px solid #3C763D; padding: 0.5em; background: #B2D3B3;\"><strong>" . G::LoadTranslation("ID_INFO") . "</strong>: " . $_SESSION["G_MESSAGE"] . "</div>";
unset($_SESSION["G_MESSAGE_TYPE"]);
unset($_SESSION["G_MESSAGE"]);
}
$javascrip = "
<script type=\"text/javascript\">
var jsondata = " . G::json_encode($json) . ";
var pm_run_outside_main_app = null;
var dyn_uid = \"" . $this->fields["CURRENT_DYNAFORM"] . "\";
var __DynaformName__ = \"" . $this->fields["PRO_UID"] . "_" . $this->fields["CURRENT_DYNAFORM"] . "\";
var app_uid = \"" . $this->fields["APP_UID"] . "\";
var prj_uid = \"" . $this->fields["PRO_UID"] . "\";
var step_mode = null;
var workspace = \"" . SYS_SYS . "\";
var credentials = " . G::json_encode($this->credentials) . ";
var filePost = \"cases_SaveDataSupervisor?UID=" . $this->fields["CURRENT_DYNAFORM"] . "\";
var fieldsRequired = null;
var triggerDebug = null;
</script>
<script type=\"text/javascript\" src=\"/jscore/cases/core/pmDynaform.js\"></script>
<div>
$msg
<div style=\"display: none;\">
<a id=\"dyn_forward\" href=\"javascript:;\"></a>
</div>
</div>
";
$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) public function printWebEntry($filename)
{ {
ob_clean(); ob_clean();
@@ -967,3 +1016,4 @@ class pmDynaform
} }
} }

View File

@@ -46,14 +46,10 @@ try {
* DYN_VERSION is 1: classic Dynaform, * DYN_VERSION is 1: classic Dynaform,
* DYN_VERSION is 2: responsive form, Pmdynaform. * DYN_VERSION is 2: responsive form, Pmdynaform.
*/ */
$a = new Criteria("workflow"); $dynaForm = DynaformPeer::retrieveByPK($_GET["UID"]);
$a->addSelectColumn(DynaformPeer::DYN_VERSION);
$a->add(DynaformPeer::DYN_UID, $_GET['UID'], Criteria::EQUAL); $swpmdynaform = !is_null($dynaForm) && $dynaForm->getDynVersion() == 2;
$a = ProcessPeer::doSelectRS($a);
$a->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$a->next();
$row = $a->getRow();
$swpmdynaform = isset($row) && $row["DYN_VERSION"] == 2;
if ($swpmdynaform) { if ($swpmdynaform) {
$pmdynaform = $_POST["form"]; $pmdynaform = $_POST["form"];
} }
@@ -149,7 +145,7 @@ try {
$aRow = false; $aRow = false;
} }
} }
if ($aRow) { if ($aRow) {
foreach ($aValues as $sKey => $sValue) { foreach ($aValues as $sKey => $sValue) {
if ($sKey != $oForm->fields[$sField]->pmfield) { if ($sKey != $oForm->fields[$sField]->pmfield) {

View File

@@ -22,6 +22,15 @@
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/ */
//validate the data post //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 = new Form( $_SESSION['PROCESS'] . '/' . $_GET['UID'], PATH_DYNAFORM );
$oForm->validatePost(); $oForm->validatePost();
@@ -31,6 +40,11 @@ G::LoadClass( 'case' );
//load the variables //load the variables
$oCase = new Cases(); $oCase = new Cases();
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'] ); $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'] ); $Fields['APP_DATA'] = array_merge( $Fields['APP_DATA'], $_POST['form'] );
//save data //save data

View File

@@ -129,7 +129,7 @@ if ($_GET['DYN_UID'] != '') {
$FieldsPmDynaform["CURRENT_DYNAFORM"] = $_GET['DYN_UID']; $FieldsPmDynaform["CURRENT_DYNAFORM"] = $_GET['DYN_UID'];
$a = new pmDynaform($FieldsPmDynaform); $a = new pmDynaform($FieldsPmDynaform);
if ($a->isResponsive()) { if ($a->isResponsive()) {
$a->printView(); $a->printEditSupervisor();
}else{ }else{
$G_PUBLISH->AddContent( 'dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['DYN_UID'], '', $Fields['APP_DATA'], 'cases_SaveDataSupervisor?UID=' . $_GET['DYN_UID'] ); $G_PUBLISH->AddContent( 'dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['DYN_UID'], '', $Fields['APP_DATA'], 'cases_SaveDataSupervisor?UID=' . $_GET['DYN_UID'] );
} }