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:
@@ -2530,9 +2530,11 @@ class XmlForm_Field_Submit extends XmlForm_Field {
|
||||
} elseif ($this->mode === 'view') {
|
||||
// return "<input style=\"{$this->style};display:none\" disabled='disabled' class='module_app_button___gray module_app_buttonDisabled___gray {$this->className}' id=\"form[{$this->name}]\" name=\"form[{$this->name}]\" type='submit' value=\"{$this->label}\" " . (($this->onclick) ? 'onclick="' . htmlentities ( $onclick, ENT_COMPAT, 'utf-8' ) . '"' : '') . " />";
|
||||
//$sLinkNextStep = 'window.open("' . $owner->fields['__DYNAFORM_OPTIONS']->xmlMenu->values['NEXT_STEP'] . '", "_self");';
|
||||
|
||||
$html = '';
|
||||
if (isset($_SESSION['CURRENT_DYN_UID'])) {
|
||||
$sLinkNextStep = 'window.location=("casesSaveDataView?UID='.$_SESSION['CURRENT_DYN_UID'].'");';
|
||||
$html = '<input style="' . $this->style . '" class="module_app_button___gray '. $this->className .'" id="form['. $this->name .']" name="form['. $this->name .']" type="button" value="' .G::LoadTranslation('ID_CONTINUE') . '" onclick="' . htmlentities ( $sLinkNextStep, ENT_COMPAT, 'utf-8' ) . '" />';
|
||||
}
|
||||
$html .= '<input ';
|
||||
$html .= 'id="form['. $this->name . ']" ';
|
||||
$html .= 'name="form[' . $this->name . ']" ';
|
||||
|
||||
@@ -4595,36 +4595,26 @@ class Cases {
|
||||
}
|
||||
|
||||
/*
|
||||
* funcion permisos, by Everth
|
||||
* funcion caseTrackerPermissions, by Everth
|
||||
*
|
||||
* @name Permisos
|
||||
* @name caseTrackerPermissions
|
||||
* @param string $PRO_UID
|
||||
* @return string
|
||||
*/
|
||||
|
||||
function Permisos($PRO_UID) {
|
||||
$a = 0;
|
||||
$b = 0;
|
||||
$c = 0;
|
||||
$d = 0;
|
||||
$oCaseTracker = new CaseTracker();
|
||||
$aCaseTracker = $oCaseTracker->load($PRO_UID);
|
||||
if (is_array($aCaseTracker)) {
|
||||
if ($aCaseTracker['CT_MAP_TYPE'] != 'NONE')
|
||||
$a = 1;
|
||||
function caseTrackerPermissions($PRO_UID) {
|
||||
$newCaseTracker = new CaseTracker();
|
||||
$caseTracker = $newCaseTracker->load($PRO_UID);
|
||||
if (is_array($caseTracker)) {
|
||||
$caseTracker['CT_MAP_TYPE'] = ($caseTracker['CT_MAP_TYPE'] != 'NONE')? true : false;
|
||||
//$caseTracker['CT_DERIVATION_HISTORY'] = ($caseTracker['CT_DERIVATION_HISTORY'] == 1)? true : false;
|
||||
//$caseTracker['CT_MESSAGE_HISTORY'] = ($caseTracker['CT_MESSAGE_HISTORY'] == 1)? true : false;
|
||||
|
||||
$oCriteria = new Criteria();
|
||||
$oCriteria->add(CaseTrackerObjectPeer::PRO_UID, $PRO_UID);
|
||||
if (CaseTrackerObjectPeer::doCount($oCriteria) > 0)
|
||||
$b = 1;
|
||||
|
||||
if ($aCaseTracker['CT_DERIVATION_HISTORY'] == 1)
|
||||
$c = 1;
|
||||
|
||||
if ($aCaseTracker['CT_MESSAGE_HISTORY'] == 1)
|
||||
$d = 1;
|
||||
$criteria = new Criteria();
|
||||
$criteria->add(CaseTrackerObjectPeer::PRO_UID, $PRO_UID);
|
||||
$caseTracker['DYNADOC'] = (CaseTrackerObjectPeer::doCount($criteria) > 0)? true : false;
|
||||
}
|
||||
return $a . '-' . $b . '-' . $c . '-' . $d;
|
||||
return $caseTracker;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
*
|
||||
*/
|
||||
/*
|
||||
* Case Tracker Men<EFBFBD>
|
||||
* Case Tracker Menú
|
||||
*
|
||||
* @author Everth S. Berrios Morales <everth@colosa.com>
|
||||
*
|
||||
@@ -31,46 +31,25 @@
|
||||
global $G_TMP_MENU;
|
||||
global $RBAC;
|
||||
|
||||
$G_TMP_MENU->AddIdRawOption('MAP', 'tracker/tracker_ViewMap');
|
||||
$G_TMP_MENU->AddIdRawOption('DYNADOC', 'tracker/tracker_DynaDocs');
|
||||
$G_TMP_MENU->AddIdRawOption('HISTORY', 'tracker/tracker_History');
|
||||
$G_TMP_MENU->AddIdRawOption('MESSAGES', 'tracker/tracker_Messages');
|
||||
|
||||
$G_TMP_MENU->Labels = array(
|
||||
G::LoadTranslation('ID_MAP'),
|
||||
G::LoadTranslation('ID_DYNADOC'),
|
||||
G::LoadTranslation('ID_HISTORY'),
|
||||
G::LoadTranslation('ID_HISTORY_MESSAGES')
|
||||
);
|
||||
|
||||
if (file_exists ( PATH_CORE . 'menus/plugin.php')) {
|
||||
require_once (PATH_CORE . 'menus/plugin.php');
|
||||
}
|
||||
|
||||
G::LoadClass('case');
|
||||
$oCase = new Cases();
|
||||
$per = $oCase->Permisos( $_SESSION['PROCESS']);
|
||||
|
||||
$p = explode('-', $per);
|
||||
|
||||
if ($p[0] != 1)
|
||||
{
|
||||
$G_TMP_MENU->DisableOptionId('MAP');
|
||||
$case = new Cases();
|
||||
$caseTracker = $case->caseTrackerPermissions( $_SESSION['PROCESS']);
|
||||
if ($caseTracker['CT_MAP_TYPE']) {
|
||||
$G_TMP_MENU->AddIdRawOption('MAP', 'tracker/tracker_ViewMap', G::LoadTranslation('ID_MAP'));
|
||||
}
|
||||
|
||||
if ($p[1] != 1)
|
||||
{
|
||||
$G_TMP_MENU->DisableOptionId('DYNADOC');
|
||||
if ($caseTracker['DYNADOC']) {
|
||||
$G_TMP_MENU->AddIdRawOption('DYNADOC', 'tracker/tracker_DynaDocs', G::LoadTranslation('ID_DYNADOC'));
|
||||
}
|
||||
|
||||
if ($p[2] != 1)
|
||||
{
|
||||
$G_TMP_MENU->DisableOptionId('HISTORY');
|
||||
if ($caseTracker['CT_DERIVATION_HISTORY']) {
|
||||
$G_TMP_MENU->AddIdRawOption('HISTORY', 'tracker/tracker_History', G::LoadTranslation('ID_HISTORY'));
|
||||
}
|
||||
|
||||
if ($p[3] != 1)
|
||||
{
|
||||
$G_TMP_MENU->DisableOptionId('MESSAGES');
|
||||
if ($caseTracker['CT_MESSAGE_HISTORY']) {
|
||||
$G_TMP_MENU->AddIdRawOption('MESSAGES', 'tracker/tracker_Messages', G::LoadTranslation('ID_HISTORY_MESSAGES'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -29,13 +29,11 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
if (!isset($_POST['form']) ) {
|
||||
G::SendTemporalMessage ('ID_USER_HAVENT_RIGHTS_SYSTEM', "error");
|
||||
G::header ("location: login.php");die;
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
$frm = $_POST['form'];
|
||||
$case = '';
|
||||
@@ -47,10 +45,9 @@ try {
|
||||
}
|
||||
|
||||
G::LoadClass('case');
|
||||
$oCase = new Cases();
|
||||
$cases = new Cases();
|
||||
|
||||
$uid = $oCase->verifyCaseTracker($case, $pin);
|
||||
//print_r($uid); die;
|
||||
$uid = $cases->verifyCaseTracker($case, $pin);
|
||||
switch ($uid) {
|
||||
//The case doesn't exist
|
||||
case -1:
|
||||
@@ -77,50 +74,43 @@ try {
|
||||
$_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'],
|
||||
|
||||
$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;
|
||||
if ($caseTracker['DYNADOC']) {
|
||||
G::header ("location: tracker_DynaDocs");
|
||||
die;
|
||||
}
|
||||
|
||||
if($aCaseTracker['CT_DERIVATION_HISTORY']==1)
|
||||
{ $c=1;
|
||||
else {
|
||||
if ($caseTracker['CT_DERIVATION_HISTORY']) {
|
||||
G::header ("location: tracker_History");
|
||||
die;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -550,7 +550,7 @@
|
||||
//checking method 'Permisos'
|
||||
$t->is ( $aMethods[60], 'Permisos', 'Permisos() is callable' );
|
||||
|
||||
//$result = $obj->Permisos ( $PRO_UID);
|
||||
//$result = $obj->caseTrackerPermissions ( $PRO_UID);
|
||||
//$t->isa_ok( $result, 'NULL', 'call to method Permisos ');
|
||||
$t->todo( "call to method Permisos using $PRO_UID ");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user