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'] );
|
2015-12-20 16:37:35 -04:00
|
|
|
/*----------------------------------********---------------------------------*/
|
|
|
|
|
$licensedFeatures = &PMLicensedFeatures::getSingleton();
|
|
|
|
|
if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) {
|
|
|
|
|
require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.labelsGmail.php");
|
2016-01-07 16:53:48 -04:00
|
|
|
$pmGoogle = new PMGoogleApi();
|
|
|
|
|
if($pmGoogle->getServiceGmailStatus()) {
|
2015-12-20 16:37:35 -04:00
|
|
|
$labGmail = new labelsGmail();
|
|
|
|
|
$labGmail->addRelabelingToQueue($sAppUid, $iDelIndex, -1, true);
|
|
|
|
|
}
|
|
|
|
|
}
|
2016-03-28 11:53:07 -04:00
|
|
|
|
|
|
|
|
if ($licensedFeatures->verifyfeature('AhKNjBEVXZlWUFpWE8wVTREQ0FObmo0aTdhVzhvalFic1M=')) {
|
|
|
|
|
G::LoadClass("AppDocumentDrive");
|
|
|
|
|
$drive = new AppDocumentDrive();
|
|
|
|
|
if ($drive->getStatusDrive()) {
|
|
|
|
|
//add users email next task
|
|
|
|
|
$user = new Users();
|
|
|
|
|
$userInfo = $user->load($_SESSION['USER_LOGGED']);
|
|
|
|
|
$drive->addUsersDocumentDrive($sAppUid, array($userInfo['USR_EMAIL']));
|
|
|
|
|
}
|
|
|
|
|
}
|
2015-12-20 16:37:35 -04:00
|
|
|
/*----------------------------------********---------------------------------*/
|
2015-11-09 11:01:11 -04:00
|
|
|
//changing email labels if the claim comes from gmail
|
2015-11-20 16:02:38 -04:00
|
|
|
if(array_key_exists('gmail',$_SESSION) && $_SESSION['gmail'] == 1){
|
2015-11-09 11:01:11 -04:00
|
|
|
die( '<script type="text/javascript">
|
|
|
|
|
parent.document.getElementById("iframePM").setAttribute("src", "'.$_SESSION["server"].'cases/cases_Open?APP_UID=' . $_SESSION["APPLICATION"] . '&DEL_INDEX=' . $_SESSION["INDEX"] . '&action=unassigned");
|
|
|
|
|
</script>' );
|
|
|
|
|
}
|
2012-10-19 14:38:15 -04:00
|
|
|
} 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>' );
|
|
|
|
|
|