BUG 0000 Rad Map Perdida de sesion cuando se ejecuta casos SOLVED

- Added Login modal to continue the session for dynaforms in cases.
This commit is contained in:
Hector Cortez
2013-05-14 13:53:12 -04:00
parent dae407c822
commit d44e0f10a6
7 changed files with 153 additions and 10 deletions

View File

@@ -3,7 +3,7 @@
* cases_SaveData.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
* Copyright (C) 2004 - 2008 Colosa Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
@@ -26,8 +26,7 @@
try {
if ($_GET['APP_UID'] !== $_SESSION['APPLICATION']) {
throw new Exception( G::LoadTranslation( 'ID_INVALID_APPLICATION_ID_MSG', array ('<a href=\'' . $_SERVER['HTTP_REFERER'] . '\'>{1}</a>',G::LoadTranslation( 'ID_REOPEN' )
) ) );
throw new Exception( G::LoadTranslation( 'ID_INVALID_APPLICATION_ID_MSG', array ('<a href=\'' . $_SERVER['HTTP_REFERER'] . '\'>{1}</a>',G::LoadTranslation( 'ID_REOPEN' ) ) ) );
}
$oForm = new Form( $_SESSION["PROCESS"] . "/" . $_GET["UID"], PATH_DYNAFORM );
@@ -227,11 +226,9 @@ try {
$oFolder = new AppFolder();
$documentFileStructure = $oFolder->getFolderStructure();
$aFields = array ("APP_UID" => $_SESSION["APPLICATION"],"DEL_INDEX" => $_SESSION["INDEX"],"USR_UID" => $_SESSION["USER_LOGGED"],"DOC_UID" => $indocUid,"APP_DOC_TYPE" => "INPUT","APP_DOC_CREATE_DATE" => date( "Y-m-d H:i:s" ),"APP_DOC_COMMENT" => "","APP_DOC_TITLE" => "","APP_DOC_FILENAME" => $arrayFileName[$i],"FOLDER_UID" => $oFolder->createFromPath( $aID["INP_DOC_DESTINATION_PATH"] ),"APP_DOC_TAGS" => $oFolder->parseTags( $aID["INP_DOC_TAGS"] ),"APP_DOC_FIELDNAME" => $fieldName
);
$aFields = array ("APP_UID" => $_SESSION["APPLICATION"],"DEL_INDEX" => $_SESSION["INDEX"],"USR_UID" => $_SESSION["USER_LOGGED"],"DOC_UID" => $indocUid,"APP_DOC_TYPE" => "INPUT","APP_DOC_CREATE_DATE" => date( "Y-m-d H:i:s" ),"APP_DOC_COMMENT" => "","APP_DOC_TITLE" => "","APP_DOC_FILENAME" => $arrayFileName[$i],"FOLDER_UID" => $oFolder->createFromPath( $aID["INP_DOC_DESTINATION_PATH"] ),"APP_DOC_TAGS" => $oFolder->parseTags( $aID["INP_DOC_TAGS"] ),"APP_DOC_FIELDNAME" => $fieldName);
} else {
$aFields = array ("APP_UID" => $_SESSION["APPLICATION"],"DEL_INDEX" => $_SESSION["INDEX"],"USR_UID" => $_SESSION["USER_LOGGED"],"DOC_UID" => - 1,"APP_DOC_TYPE" => "ATTACHED","APP_DOC_CREATE_DATE" => date( "Y-m-d H:i:s" ),"APP_DOC_COMMENT" => "","APP_DOC_TITLE" => "","APP_DOC_FILENAME" => $arrayFileName[$i],"APP_DOC_FIELDNAME" => $fieldName
);
$aFields = array ("APP_UID" => $_SESSION["APPLICATION"],"DEL_INDEX" => $_SESSION["INDEX"],"USR_UID" => $_SESSION["USER_LOGGED"],"DOC_UID" => - 1,"APP_DOC_TYPE" => "ATTACHED","APP_DOC_CREATE_DATE" => date( "Y-m-d H:i:s" ),"APP_DOC_COMMENT" => "","APP_DOC_TITLE" => "","APP_DOC_FILENAME" => $arrayFileName[$i],"APP_DOC_FIELDNAME" => $fieldName);
}
$oAppDocument = new AppDocument();

View File

@@ -177,6 +177,14 @@ try {
}
//Obtain previous and next step - End
$aRequiredFields = array(
'APPLICATION' => $Fields['APP_DATA']['APPLICATION'],
'PROCESS' => $Fields['APP_DATA']['PROCESS'],
'TASK' => $Fields['APP_DATA']['TASK'],
'INDEX' => $Fields['APP_DATA']['INDEX'],
'APP_DATA' => $Fields['APP_DATA']
);
$oHeadPublisher->addScriptCode('var dynaformSVal = \'' . serialize($aRequiredFields) . '\';');
try {
//Add content content step - Start

View File

@@ -2,6 +2,27 @@
$response = new stdclass();
$response->status = isset($_SESSION['USER_LOGGED']);
if (isset($_REQUEST['dynaformEditorParams'])) {
$_SESSION['Current_Dynafom']['Parameters'] = unserialize(stripslashes($_REQUEST['dynaformEditorParams']));
$_SESSION['Current_Dynafom']['Parameters'] = unserialize(stripslashes($_REQUEST['dynaformEditorParams']));
}
if (isset($_REQUEST['dynaformRestoreValues'])) {
$aRetValues = unserialize(stripslashes($_REQUEST['dynaformRestoreValues']));
if (isset($aRetValues['APPLICATION'])) {
$_SESSION['APPLICATION'] = $aRetValues['APPLICATION'];
}
if (isset($aRetValues['PROCESS'])) {
$_SESSION['PROCESS'] = $aRetValues['PROCESS'];
}
if (isset($aRetValues['TASK'])) {
$_SESSION['TASK'] = $aRetValues['TASK'];
}
if (isset($aRetValues['INDEX'])) {
$_SESSION['INDEX'] = $aRetValues['INDEX'];
}
if (isset($aRetValues['TRIGGER_DEBUG'])) {
$_SESSION['TRIGGER_DEBUG'] = $aRetValues['TRIGGER_DEBUG'];
}
if (isset($aRetValues['APP_DATA'])) {
$_SESSION['APP_DATA'] = $aRetValues['APP_DATA'];
}
}
die(G::json_encode($response));

View File

@@ -8,6 +8,7 @@
<td valign='top'>
<input type="hidden" class="notValidateThisFields" name="__notValidateThisFields__" id="__notValidateThisFields__" value="{$form->objectRequiredFields}" />
<input type="hidden" name="DynaformRequiredFields" id="DynaformRequiredFields" value="{$form->objectRequiredFields}" />
<input type="hidden" name="__DynaformName__" id="__DynaformName__" value="{$form->name}" />
<table cellspacing="0" cellpadding="0" border="0" width="100%">
{foreach from=$form->fields item=field}
{if ($field->type==='title')}