BUG 10396 Mensaje de Invalid Response al crear Dynaform. IMPROVEMENT

- Al restaurar la sesion no estaba seteandose los valores correctos en el archivo del formulario en c"ommpiled"
- Al restaurar la sesion se crea un nuevo file en compiled con los datos actualizados
This commit is contained in:
Julio Cesar Laura
2013-05-31 12:19:28 -04:00
parent 3bc675492a
commit 6e0a170fa0
3 changed files with 29 additions and 2 deletions

View File

@@ -235,7 +235,7 @@ class dynaformEditor extends WebResource
var DYNAFORM_URL="' . $Parameters['URL'] . '";
leimnud.event.add(window,"load",function(){ loadEditor(); });
');
$oHeadPublisher->addScriptCode(' var jsMeta;var __usernameLogged__ = "' . (isset($_SESSION['USR_USERNAME']) ? $_SESSION['USR_USERNAME'] : '') . '";var SYS_LANG = "' . SYS_LANG . '";');
$oHeadPublisher->addScriptCode(' var jsMeta;var __usernameLogged__ = "' . (isset($_SESSION['USR_USERNAME']) ? $_SESSION['USR_USERNAME'] : '') . '";var SYS_LANG = "' . SYS_LANG . '";var __DYN_UID__ = "' . $this->dyn_uid . '";');
$oHeadPublisher->addScriptCode('var dynaformEditorParams = \'' . serialize($Parameters) . '\';');
G::RenderPage("publish", 'blank');
}

View File

@@ -13,7 +13,7 @@ var lastTypeSelected = '';
var sessionPersits = function() {
var rpc = new leimnud.module.rpc.xmlhttp({
url: '../services/sessionPersists',
args: 'dynaformEditorParams=' + dynaformEditorParams,
args: 'dynaformEditorParams=' + dynaformEditorParams + (lastActionPerformed != '' ? '&DYN_UID=' + __DYN_UID__ : ''),
async: false
});
rpc.make();

View File

@@ -3,6 +3,33 @@ $response = new stdclass();
$response->status = isset($_SESSION['USER_LOGGED']);
if (isset($_REQUEST['dynaformEditorParams'])) {
$_SESSION['Current_Dynafom']['Parameters'] = unserialize(stripslashes($_REQUEST['dynaformEditorParams']));
if (isset($_REQUEST['DYN_UID'])) {
$dynaform = new dynaform();
$dynaform->load($_REQUEST['DYN_UID']);
G::LoadClass('dynaformEditor');
$editor = new dynaformEditor(array());
$editor->file = $dynaform->getDynFilename();
$editor->home = PATH_DYNAFORM;
$editor->title = $dynaform->getDynTitle();
$editor->dyn_uid = $dynaform->getDynUid();
$editor->pro_uid = $dynaform->getProUid();
$editor->dyn_type = $dynaform->getDynType();
$editor->dyn_title = $dynaform->getDynTitle();
$editor->dyn_description = $dynaform->getDynDescription();
$editor->dyn_editor = 'processmap';
$editor->_setUseTemporalCopy(true);
$A = isset($_SESSION['Current_Dynafom']['Parameters']['URL']) ? $_SESSION['Current_Dynafom']['Parameters']['URL'] : '';
$form = new Form($dynaform->getProUid() . '/' . $dynaform->getDynUid(), PATH_DYNAFORM, SYS_LANG, true);
$properties = array('A' => $A, 'DYN_UID' => $dynaform->getDynUid(), 'PRO_UID' => $dynaform->getProUid(), 'DYN_TITLE' => $dynaform->getDynTitle(),
'DYN_TYPE' => $dynaform->getDynType(), 'DYN_DESCRIPTION' => $dynaform->getDynDescription(), 'WIDTH' => $form->width,
'MODE' => $form->mode, 'PRINTDYNAFORM' => $form->printdynaform, 'ADJUSTGRIDSWIDTH' => $form->adjustgridswidth,
'NEXTSTEPSAVE' => $form->nextstepsave);
$tmp = $editor->_getTmpData();
$tmp['Properties'] = $properties;
$editor->_setTmpData($tmp);
}
}
if (isset($_REQUEST['dynaformRestoreValues'])) {
$aRetValues = unserialize(stripslashes($_REQUEST['dynaformRestoreValues']));