2012-10-19 14:38:15 -04:00
|
|
|
<?php
|
|
|
|
|
/**
|
|
|
|
|
* cases_CatchExecute.php
|
|
|
|
|
*
|
|
|
|
|
* ProcessMaker Open Source Edition
|
|
|
|
|
* Copyright (C) 2004 - 2008 Colosa Inc.23
|
|
|
|
|
*
|
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
|
* it under the terms of the GNU Affero General Public License as
|
|
|
|
|
* published by the Free Software Foundation, either version 3 of the
|
|
|
|
|
* License, or (at your option) any later version.
|
|
|
|
|
*
|
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
* GNU Affero General Public License for more details.
|
|
|
|
|
*
|
|
|
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
*
|
|
|
|
|
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
|
|
|
|
|
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
|
|
|
|
|
*/
|
2013-06-03 18:13:38 -04:00
|
|
|
if (!isset($_SESSION['USER_LOGGED'])) {
|
BUG 11969 Web session TimeOut at HOME
Se realizo una correccion de los direccionamientos de los iframes al perder sesion, ya q siempre q se perdia sesion antes, se mostraba dentro del mismo iframe el cuadro para volverse a logear, logrando asi q el usuario se mantenga en el mismo iframe una ves se relogee, sin tener asi q volver a buscar el lugar donde estaba trabajando. A pedido de QA, ahora se muestra el cuadro de logeo en el iframe mayor, totalmente fuera de PM, y siempre al volver a logearse se redirecciona al tab HOME > Index, y ya no asi al frame o lugar exacto donde se perdio sesion.
Por ejemplo: si se pie sesion en el listado Draft, no se volvera a dicho listado, sino en cambio al volverse a logear se redireccionara a HOME > Indexdex.
El cambio se aplico a los lugares donde se podia redireccionar al parent.
2013-08-29 16:37:25 -04:00
|
|
|
G::SendTemporalMessage( 'ID_LOGIN_AGAIN', 'warning', 'labels' );
|
2013-06-03 18:13:38 -04:00
|
|
|
die( '<script type="text/javascript">
|
BUG 11969 Web session TimeOut at HOME
Se realizo una correccion de los direccionamientos de los iframes al perder sesion, ya q siempre q se perdia sesion antes, se mostraba dentro del mismo iframe el cuadro para volverse a logear, logrando asi q el usuario se mantenga en el mismo iframe una ves se relogee, sin tener asi q volver a buscar el lugar donde estaba trabajando. A pedido de QA, ahora se muestra el cuadro de logeo en el iframe mayor, totalmente fuera de PM, y siempre al volver a logearse se redirecciona al tab HOME > Index, y ya no asi al frame o lugar exacto donde se perdio sesion.
Por ejemplo: si se pie sesion en el listado Draft, no se volvera a dicho listado, sino en cambio al volverse a logear se redireccionara a HOME > Indexdex.
El cambio se aplico a los lugares donde se podia redireccionar al parent.
Se tomo en cuenta tambien que algunos clientes utilizan el listado de casos dentro de sus propias webs.
2013-09-02 17:45:37 -04:00
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
prnt = parent.parent;
|
|
|
|
|
top.location = top.location;
|
|
|
|
|
}
|
|
|
|
|
catch (err)
|
|
|
|
|
{
|
|
|
|
|
parent.location = parent.location;
|
|
|
|
|
}
|
2013-06-03 18:13:38 -04:00
|
|
|
</script>');
|
|
|
|
|
}
|
2012-10-19 14:38:15 -04:00
|
|
|
/* Permissions */
|
|
|
|
|
switch ($RBAC->userCanAccess( 'PM_CASES' )) {
|
|
|
|
|
case - 2:
|
|
|
|
|
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
|
|
|
|
|
G::header( 'location: ../login/login' );
|
|
|
|
|
die();
|
|
|
|
|
break;
|
|
|
|
|
case - 1:
|
|
|
|
|
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
|
|
|
|
|
G::header( 'location: ../login/login' );
|
|
|
|
|
die();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (isset( $_POST['form']['BTN_CANCEL'] )) {
|
|
|
|
|
header( "Location: ../cases/main" );
|
|
|
|
|
die();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Includes */
|
|
|
|
|
G::LoadClass( 'case' );
|
|
|
|
|
|
|
|
|
|
$oCase = new Cases();
|
|
|
|
|
$sAppUid = $_SESSION['APPLICATION'];
|
|
|
|
|
$iDelIndex = $_SESSION['INDEX'];
|
|
|
|
|
|
|
|
|
|
$oAppDelegation = new AppDelegation();
|
|
|
|
|
$aDelegation = $oAppDelegation->load( $sAppUid, $iDelIndex );
|
|
|
|
|
|
2012-07-25 10:44:00 -04:00
|
|
|
//if there are no user in the delegation row, this case is still in selfservice
|
2012-10-19 14:38:15 -04:00
|
|
|
if ($aDelegation['USR_UID'] == "") {
|
|
|
|
|
$oCase->setCatchUser( $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'] );
|
|
|
|
|
} else {
|
|
|
|
|
G::SendMessageText( G::LoadTranslation( 'ID_CASE_ALREADY_DERIVATED' ), 'error' );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$validation = (SYS_SKIN != 'uxs') ? 'true' : 'false';
|
|
|
|
|
|
2012-10-18 15:42:36 +00:00
|
|
|
die( '<script type="text/javascript">
|
|
|
|
|
if (' . $validation . ') {
|
2012-05-09 15:51:15 -04:00
|
|
|
if (window.parent.frames.length != 0) {
|
2012-10-18 15:42:36 +00:00
|
|
|
parent.location = "open?APP_UID=' . $_SESSION['APPLICATION'] . '&DEL_INDEX=' . $_SESSION['INDEX'] . '&action=unassigned";
|
2012-07-25 10:52:35 -04:00
|
|
|
} else {
|
2012-10-18 15:42:36 +00:00
|
|
|
window.location = "../cases/cases_Open?APP_UID=' . $_SESSION['APPLICATION'] . '&DEL_INDEX=' . $_SESSION['INDEX'] . '&action=unassigned";
|
2012-05-09 15:51:15 -04:00
|
|
|
}
|
2012-07-25 10:44:00 -04:00
|
|
|
} else {
|
2012-10-18 15:42:36 +00:00
|
|
|
window.location = "../cases/cases_Open?APP_UID=' . $_SESSION['APPLICATION'] . '&DEL_INDEX=' . $_SESSION['INDEX'] . '&action=unassigned";
|
2012-07-25 10:44:00 -04:00
|
|
|
}
|
2012-10-19 14:38:15 -04:00
|
|
|
</script>' );
|
|
|
|
|
|