BUG 8660 Problems in Case Tracker SOLVED

- The first problem, when the tab diagram showing the map did not hide when you selected the option NONE, and when they entered a white screen is displayed, the error speak second to show the dynaforms not present a session variable the which was shown as a notice.
- To display dinaforms valid only in the XmlForm class, and q if you increase the session showed the Dynaform across the page, to edit the first problem is how to obtain permits in class case by changing the role permission caseTrackerPermissions addition to improving function, also modified the way to generate depending on the function menu caseTrackerPermissions also modified the authentication to lead the tab corresponding to the relevant validations.
This commit is contained in:
Marco Antonio Nina
2012-03-08 11:11:47 -04:00
parent 20e11d747d
commit fadec156e5
7 changed files with 187 additions and 227 deletions

View File

@@ -29,98 +29,88 @@
*
*/
if (!isset($_POST['form']) ) {
G::SendTemporalMessage ('ID_USER_HAVENT_RIGHTS_SYSTEM', "error");
G::header ("location: login.php");die;
}
try {
$frm = $_POST['form'];
$case = '';
$pin = '';
$frm = $_POST['form'];
$case = '';
$pin = '';
if (isset($frm['CASE'])) {
$case = strtolower(trim($frm['CASE']));
$pin = trim($frm['PIN']);
}
if (isset($frm['CASE'])) {
$case = strtolower(trim($frm['CASE']));
$pin = trim($frm['PIN']);
}
G::LoadClass('case');
$oCase = new Cases();
G::LoadClass('case');
$cases = new Cases();
$uid = $oCase->verifyCaseTracker($case, $pin);
//print_r($uid); die;
switch ($uid) {
//The case doesn't exist
case -1:
G::SendTemporalMessage ('ID_CASE_NOT_EXISTS', "error");
break;
//The pin is invalid
case -2:
G::SendTemporalMessage ('ID_PIN_INVALID', "error");
break;
}
$uid = $cases->verifyCaseTracker($case, $pin);
switch ($uid) {
//The case doesn't exist
case -1:
G::SendTemporalMessage ('ID_CASE_NOT_EXISTS', "error");
break;
//The pin is invalid
case -2:
G::SendTemporalMessage ('ID_PIN_INVALID', "error");
break;
}
if ($uid < 0 ) {
G::header ("location: login.php");
die;
}
if ($uid < 0 ) {
G::header ("location: login.php");
die;
}
if(is_array($uid))
{
require_once ("classes/model/CaseTracker.php");
require_once ("classes/model/CaseTrackerObject.php");
$_SESSION['CASE']=$case;
$_SESSION['PIN']=$pin;
$_SESSION['PROCESS']=$uid['PRO_UID'];
$_SESSION['APPLICATION']=$uid['APP_UID'];
$_SESSION['TASK']=-1;
$_SESSION['INDEX']=-1;
$a=0;
$b=0;
$c=0;
$oCriteria = new Criteria();
$oCriteria->add(CaseTrackerPeer::PRO_UID, $_SESSION['PROCESS']);
$oCaseTracker = new CaseTracker();
if (CaseTrackerPeer::doCount($oCriteria) === 0) {
$aCaseTracker = array('PRO_UID' => $_SESSION['PROCESS'],
if(is_array($uid))
{
require_once ("classes/model/CaseTracker.php");
require_once ("classes/model/CaseTrackerObject.php");
$_SESSION['CASE'] = $case;
$_SESSION['PIN'] = $pin;
$_SESSION['PROCESS'] = $uid['PRO_UID'];
$_SESSION['APPLICATION'] = $uid['APP_UID'];
$_SESSION['TASK'] = -1;
$_SESSION['INDEX'] = -1;
$criteria = new Criteria();
$criteria->add(CaseTrackerPeer::PRO_UID, $_SESSION['PROCESS']);
$caseTracker = new CaseTracker();
if (CaseTrackerPeer::doCount($criteria) === 0) {
$permissionsCaseTracker = array('PRO_UID' => $_SESSION['PROCESS'],
'CT_MAP_TYPE' => 'PROCESSMAP',
'CT_DERIVATION_HISTORY' => 1,
'CT_MESSAGE_HISTORY' => 1);
$oCaseTracker->create($aCaseTracker);
$caseTracker->create($permissionsCaseTracker);
}
$caseTracker = $cases->caseTrackerPermissions( $_SESSION['PROCESS']);
if ($caseTracker['CT_MAP_TYPE']) {
G::header ('location: tracker_ViewMap');
}
else {
$aCaseTracker = $oCaseTracker->load($_SESSION['PROCESS']);
}
if(is_array($aCaseTracker))
{ if($aCaseTracker['CT_MAP_TYPE']!='NONE')
{ $a=1;
G::header ('location: tracker_ViewMap');
die;
}
$oCriteria = new Criteria();
$oCriteria->add(CaseTrackerObjectPeer::PRO_UID, $_SESSION['PROCESS']);
if (CaseTrackerObjectPeer::doCount($oCriteria) > 0)
{ $b=1;
G::header ("location: tracker_DynaDocs");
die;
}
if($aCaseTracker['CT_DERIVATION_HISTORY']==1)
{ $c=1;
G::header ("location: tracker_History");
die;
}
G::header ("location: tracker_No");
}
if ($caseTracker['DYNADOC']) {
G::header ("location: tracker_DynaDocs");
}
else {
if ($caseTracker['CT_DERIVATION_HISTORY']) {
G::header ("location: tracker_History");
}
else {
if ($caseTracker['CT_MESSAGE_HISTORY']) {
G::header ("location: tracker_No");
}
else {
G::header ("location: login.php");
G::SendTemporalMessage ('ID_ACCOUNT_DISABLED_CONTACT_ADMIN', "error");
}
}
}
}
}
}
catch ( Exception $e ) {
$aMessage['MESSAGE'] = $e->getMessage();
$G_PUBLISH = new Publisher;

View File

@@ -43,7 +43,7 @@
$G_MAIN_MENU = 'caseTracker';
$G_ID_MENU_SELECTED = 'DYNADOC';
global $G_PUBLISH;
switch ($_GET['CTO_TYPE_OBJ'])
{
case 'DYNAFORM':
@@ -57,7 +57,6 @@
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PRINT_PREVIEW'] = '#';
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PRINT_PREVIEW_ACTION'] = 'tracker_PrintView?CTO_UID_OBJ=' . $_GET['CTO_UID_OBJ'] . '&CTO_TYPE_OBJ=PRINT_PREVIEW';
$_SESSION['CTO_UID_OBJ'] = $_GET['CTO_UID_OBJ'];
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS']. '/' . $_GET['CTO_UID_OBJ'], '', $Fields['APP_DATA'],'','','view');
G::RenderPage('publish');

View File

@@ -29,95 +29,95 @@
* @author Everth S. Berrios Morales <everth@colosa.com>
*
*/
if (!isset($_SESSION['PROCESS'])) {
G::header('location: login');
if (!isset($_SESSION['PROCESS'])) {
G::header('location: login');
}
$G_MAIN_MENU = 'caseTracker';
$G_MAIN_MENU = 'caseTracker';
$G_ID_MENU_SELECTED = 'MAP';
require_once 'classes/model/CaseTracker.php';
$oCaseTracker = new CaseTracker();
$aCaseTracker = $oCaseTracker->load($_SESSION['PROCESS']);
switch (($aCaseTracker['CT_MAP_TYPE'])) {
case 'NONE':
//Nothing
break;
case 'PROCESSMAP':
G::LoadClass('case');
$oCase = new Cases();
$aFields = $oCase->loadCase($_SESSION['APPLICATION']);
if (isset($aFields['TITLE'])) {
$aFields['APP_TITLE'] = $aFields['TITLE'];
}
if ($aFields['APP_PROC_CODE'] != '') {
$aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE'];
}
require_once 'classes/model/CaseTracker.php';
$oCaseTracker = new CaseTracker();
$aCaseTracker = $oCaseTracker->load($_SESSION['PROCESS']);
switch (($aCaseTracker['CT_MAP_TYPE'])) {
case 'NONE':
//Nothing
break;
case 'PROCESSMAP':
G::LoadClass('case');
$oCase = new Cases();
$aFields = $oCase->loadCase($_SESSION['APPLICATION']);
if (isset($aFields['TITLE'])) {
$aFields['APP_TITLE'] = $aFields['TITLE'];
}
if ($aFields['APP_PROC_CODE'] != '') {
$aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE'];
}
$aFields['CASE'] = G::LoadTranslation('ID_CASE');
$aFields['TITLE'] = G::LoadTranslation('ID_TITLE');
$oTemplatePower = new TemplatePower(PATH_TPL . 'processes/processes_Map.html');
$oTemplatePower->prepare();
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('smarty', 'cases/cases_title', '', '', $aFields);
$G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower);
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addScriptCode('
leimnud.event.add(window,"load",function(){
var pb=leimnud.dom.capture("tag.body 0");
Pm=new processmap();
Pm.options = {
target : "pm_target",
dataServer: "../processes/processes_Ajax",
uid : "' . $_SESSION['PROCESS'] . '",
lang : "' . SYS_LANG . '",
theme : "processmaker",
size : {w:pb.offsetWidth-10,h:pb.offsetHeight},
images_dir: "/jscore/processmap/core/images/",
rw : false,
mi : false,
ct : true,
hideMenu : false
}
Pm.make();
});');
G::RenderPage('publish');
break;
case 'STAGES':
G::LoadClass('case');
$oCase = new Cases();
$aFields = $oCase->loadCase($_SESSION['APPLICATION']);
if (isset($aFields['TITLE'])) {
$aFields['APP_TITLE'] = $aFields['TITLE'];
}
if ($aFields['APP_PROC_CODE'] != '') {
$aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE'];
}
$oTemplatePower = new TemplatePower(PATH_TPL . 'processes/processes_Map.html');
$oTemplatePower->prepare();
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('smarty', 'cases/cases_title', '', '', $aFields);
$G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower);
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addScriptCode('
leimnud.event.add(window,"load",function(){
var pb=leimnud.dom.capture("tag.body 0");
Pm=new processmap();
Pm.options = {
target : "pm_target",
dataServer: "../processes/processes_Ajax",
uid : "' . $_SESSION['PROCESS'] . '",
lang : "' . SYS_LANG . '",
theme : "processmaker",
size : {w:pb.offsetWidth-10,h:pb.offsetHeight},
images_dir: "/jscore/processmap/core/images/",
rw : false,
mi : false,
ct : true,
hideMenu : false
}
Pm.make();
});');
G::RenderPage('publish');
break;
case 'STAGES':
G::LoadClass('case');
$oCase = new Cases();
$aFields = $oCase->loadCase($_SESSION['APPLICATION']);
if (isset($aFields['TITLE'])) {
$aFields['APP_TITLE'] = $aFields['TITLE'];
}
if ($aFields['APP_PROC_CODE'] != '') {
$aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE'];
}
$aFields['CASE'] = G::LoadTranslation('ID_CASE');
$aFields['TITLE'] = G::LoadTranslation('ID_TITLE');
$oTemplatePower = new TemplatePower(PATH_TPL . 'tracker/stages_Map.html');
$oTemplatePower->prepare();
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('smarty', 'cases/cases_title', '', '', $aFields);
$G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower);
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addScriptCode('
leimnud.Package.Load("stagesmap",{Type:"file",Absolute:true,Path:"/jscore/stagesmap/core/stagesmap.js"});
leimnud.event.add(window,"load",function(){
var pb=leimnud.dom.capture("tag.body 0");
Sm=new stagesmap();
Sm.options = {
target : "sm_target",
dataServer: "../tracker/tracker_Ajax",
uid : "' . $_SESSION['PROCESS'] . '",
lang : "' . SYS_LANG . '",
theme : "processmaker",
size : {w:"780",h:"540"},
//size : {w:pb.offsetWidth-10,h:pb.offsetHeight},
images_dir: "/jscore/processmap/core/images/",
rw : false,
hideMenu : false
};
Sm.make();
});');
G::RenderPage('publish');
break;
$oTemplatePower = new TemplatePower(PATH_TPL . 'tracker/stages_Map.html');
$oTemplatePower->prepare();
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('smarty', 'cases/cases_title', '', '', $aFields);
$G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower);
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addScriptCode('
leimnud.Package.Load("stagesmap",{Type:"file",Absolute:true,Path:"/jscore/stagesmap/core/stagesmap.js"});
leimnud.event.add(window,"load",function(){
var pb=leimnud.dom.capture("tag.body 0");
Sm=new stagesmap();
Sm.options = {
target : "sm_target",
dataServer: "../tracker/tracker_Ajax",
uid : "' . $_SESSION['PROCESS'] . '",
lang : "' . SYS_LANG . '",
theme : "processmaker",
size : {w:"780",h:"540"},
//size : {w:pb.offsetWidth-10,h:pb.offsetHeight},
images_dir: "/jscore/processmap/core/images/",
rw : false,
hideMenu : false
};
Sm.make();
});');
G::RenderPage('publish');
break;
}