BUG 9740 New option for Default main menu option SOLVED

- According to the specifications.
- Was add new option Dashboard.
- Was enabled in skin uxmodern.
This commit is contained in:
Marco Antonio Nina
2012-09-13 14:17:39 -04:00
parent 4586d5153a
commit fae7ab7eed
3 changed files with 102 additions and 53 deletions

View File

@@ -217,7 +217,7 @@ class UsersProperties extends BaseUsersProperties
$urlUx = $this->_getUXSkinVariant(); $urlUx = $this->_getUXSkinVariant();
if (empty($url) && !empty($urlUx)) { if (empty($url) && !empty($urlUx)) {
$_SESSION['_defaultUserLocation'] = $url; $_SESSION['_defaultUserLocation'] = $url;
$url = $urlUx; $url = $urlUx;
} }
if (empty($url)) { if (empty($url)) {
@@ -261,9 +261,45 @@ class UsersProperties extends BaseUsersProperties
$url = ''; $url = '';
if (substr(SYS_SKIN, 0, 2) == 'ux' && SYS_SKIN != 'uxs') { if (substr(SYS_SKIN, 0, 2) == 'ux' && SYS_SKIN != 'uxs') {
$url = '/sys' . SYS_SYS . '/' . $this->lang . '/' . SYS_SKIN . '/main'; $url = '/sys' . SYS_SYS . '/' . $this->lang . '/' . SYS_SKIN . '/main';
global $RBAC;
G::loadClass('configuration');
$oConf = new Configurations;
$oConf->loadConfig($x, 'USER_PREFERENCES','','',$_SESSION['USER_LOGGED'],'');
if ( sizeof($oConf->aConfig) > 0) {
if ($oConf->aConfig['DEFAULT_MENU'] == 'PM_USERS') {
$oConf->aConfig['DEFAULT_MENU'] = 'PM_SETUP';
}
switch ($oConf->aConfig['DEFAULT_MENU']) {
case 'PM_SETUP':
if ($RBAC->userCanAccess('PM_SETUP') == 1) {
$getUrl = 'admin';
}
break;
case 'PM_FACTORY':
if ($RBAC->userCanAccess('PM_FACTORY') == 1) {
$getUrl = 'designer';
}
break;
case 'PM_CASES':
if ($RBAC->userCanAccess('PM_CASES') == 1) {
$getUrl = 'home';
}
break;
case 'PM_USERS':
if ($RBAC->userCanAccess('PM_USERS') == 1) {
$getUrl = 'admin';
}
break;
case 'PM_DASHBOARD':
if ($RBAC->userCanAccess('PM_DASHBOARD') == 1) {
$getUrl = 'dashboard';
}
break;
}
$url = $url."?st=".$getUrl;
}
} }
return $url; return $url;
} }
@@ -351,39 +387,37 @@ class UsersProperties extends BaseUsersProperties
if( sizeof($oConf->aConfig) > 0) { // this user has a configuration record if( sizeof($oConf->aConfig) > 0) { // this user has a configuration record
// backward compatibility, because now, we don't have user and dashboard menu. // backward compatibility, because now, we don't have user and dashboard menu.
if ($oConf->aConfig['DEFAULT_MENU'] == 'PM_USERS') if ($oConf->aConfig['DEFAULT_MENU'] == 'PM_USERS') {
$oConf->aConfig['DEFAULT_MENU'] = 'PM_SETUP'; $oConf->aConfig['DEFAULT_MENU'] = 'PM_SETUP';
}
if ($oConf->aConfig['DEFAULT_MENU'] == 'PM_DASHBOARD')
$oConf->aConfig['DEFAULT_MENU'] = 'PM_SETUP'; switch ($oConf->aConfig['DEFAULT_MENU']) {
case 'PM_SETUP':
switch($oConf->aConfig['DEFAULT_MENU']) { if ($RBAC->userCanAccess('PM_SETUP') == 1) {
case 'PM_SETUP': $url = 'setup/main';
if ($RBAC->userCanAccess('PM_SETUP') == 1) { }
$url = 'setup/main'; break;
} case 'PM_FACTORY':
break; if ($RBAC->userCanAccess('PM_FACTORY') == 1) {
case 'PM_FACTORY': $url = 'processes/main';
if ($RBAC->userCanAccess('PM_FACTORY') == 1) { }
$url = 'processes/main'; break;
} case 'PM_CASES':
break; if ($RBAC->userCanAccess('PM_CASES') == 1) {
case 'PM_CASES': $url = 'cases/main';
if ($RBAC->userCanAccess('PM_CASES') == 1) { }
$url = 'cases/main'; break;
} case 'PM_USERS':
break; if ($RBAC->userCanAccess('PM_USERS') == 1) {
case 'PM_USERS': $url = 'setup/main';
if ($RBAC->userCanAccess('PM_USERS') == 1) { }
$url = 'setup/main'; break;
} case 'PM_DASHBOARD':
break; if ($RBAC->userCanAccess('PM_DASHBOARD') == 1) {
case 'PM_DASHBOARD': $url = 'dashboard/main';
if ($RBAC->userCanAccess('PM_DASHBOARD') == 1) { }
$url = 'dashboard/dashboard'; break;
} }
break;
}
} }
if (empty($url)) { if (empty($url)) {

View File

@@ -358,7 +358,7 @@ switch($_POST['action'])
/* Saving preferences */ /* Saving preferences */
$def_lang = $form['PREF_DEFAULT_LANG']; $def_lang = $form['PREF_DEFAULT_LANG'];
$def_menu = $form['PREF_DEFAULT_MENUSELECTED']; $def_menu = $form['PREF_DEFAULT_MENUSELECTED'];
$def_cases_menu = $form['PREF_DEFAULT_CASES_MENUSELECTED']; $def_cases_menu = isset($form['PREF_DEFAULT_CASES_MENUSELECTED']) ? $form['PREF_DEFAULT_CASES_MENUSELECTED'] : '';
G::loadClass('configuration'); G::loadClass('configuration');
@@ -451,24 +451,28 @@ switch($_POST['action'])
$menuSelected = ''; $menuSelected = '';
if ($aFields['PREF_DEFAULT_MENUSELECTED'] != ''){ if ($aFields['PREF_DEFAULT_MENUSELECTED'] != '') {
foreach ( $RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission ) { foreach ( $RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission ) {
if($aFields['PREF_DEFAULT_MENUSELECTED']==$permission['PER_CODE']){ if ($aFields['PREF_DEFAULT_MENUSELECTED']==$permission['PER_CODE']) {
switch($permission['PER_CODE']){ switch ($permission['PER_CODE']) {
case 'PM_USERS' : case 'PM_USERS' :
case 'PM_SETUP' : case 'PM_SETUP' :
$menuSelected = strtoupper(G::LoadTranslation('ID_SETUP')); $menuSelected = strtoupper(G::LoadTranslation('ID_SETUP'));
break; break;
case 'PM_CASES' : case 'PM_CASES' :
$menuSelected = strtoupper(G::LoadTranslation('ID_CASES')); $menuSelected = strtoupper(G::LoadTranslation('ID_CASES'));
break; break;
case 'PM_FACTORY' : case 'PM_FACTORY' :
$menuSelected = strtoupper(G::LoadTranslation('ID_APPLICATIONS')); $menuSelected = strtoupper(G::LoadTranslation('ID_APPLICATIONS'));
break; break;
} case 'PM_DASHBOARD':
$menuSelected = strtoupper(G::LoadTranslation('ID_DASHBOARD'));
break;
}
}
} }
}
} }
$aFields['MENUSELECTED_NAME'] = $menuSelected; $aFields['MENUSELECTED_NAME'] = $menuSelected;
@@ -509,6 +513,9 @@ switch($_POST['action'])
case 'PM_FACTORY': case 'PM_FACTORY':
$rows[] = Array('id'=>'PM_FACTORY', 'name'=>strtoupper(G::LoadTranslation('ID_APPLICATIONS'))); $rows[] = Array('id'=>'PM_FACTORY', 'name'=>strtoupper(G::LoadTranslation('ID_APPLICATIONS')));
break; break;
case 'PM_DASHBOARD':
$rows[] = Array('id'=>'PM_DASHBOARD', 'name'=>strtoupper(G::LoadTranslation('ID_DASHBOARD')));
break;
} }
} }
print(G::json_encode($rows)); print(G::json_encode($rows));

View File

@@ -672,6 +672,14 @@ Ext.onReady(function () {
mode : "local" mode : "local"
}); });
comboDefaultCasesMenuOption.disable();
comboDefaultMainMenuOption.on('select',function(cmb,record,index) {
comboDefaultCasesMenuOption.disable();
if (record.get('id') == 'PM_CASES') {
comboDefaultCasesMenuOption.enable();
}
},this);
var preferencesFields = new Ext.form.FieldSet({ var preferencesFields = new Ext.form.FieldSet({
title : _('ID_PREFERENCES'), title : _('ID_PREFERENCES'),
// for display or not a preferences FieldSet // for display or not a preferences FieldSet