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();
if (empty($url) && !empty($urlUx)) {
$_SESSION['_defaultUserLocation'] = $url;
$url = $urlUx;
$url = $urlUx;
}
if (empty($url)) {
@@ -261,9 +261,45 @@ class UsersProperties extends BaseUsersProperties
$url = '';
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;
}
@@ -351,39 +387,37 @@ class UsersProperties extends BaseUsersProperties
if( sizeof($oConf->aConfig) > 0) { // this user has a configuration record
// backward compatibility, because now, we don't have user and dashboard menu.
if ($oConf->aConfig['DEFAULT_MENU'] == 'PM_USERS')
$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':
if ($RBAC->userCanAccess('PM_SETUP') == 1) {
$url = 'setup/main';
}
break;
case 'PM_FACTORY':
if ($RBAC->userCanAccess('PM_FACTORY') == 1) {
$url = 'processes/main';
}
break;
case 'PM_CASES':
if ($RBAC->userCanAccess('PM_CASES') == 1) {
$url = 'cases/main';
}
break;
case 'PM_USERS':
if ($RBAC->userCanAccess('PM_USERS') == 1) {
$url = 'setup/main';
}
break;
case 'PM_DASHBOARD':
if ($RBAC->userCanAccess('PM_DASHBOARD') == 1) {
$url = 'dashboard/dashboard';
}
break;
}
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) {
$url = 'setup/main';
}
break;
case 'PM_FACTORY':
if ($RBAC->userCanAccess('PM_FACTORY') == 1) {
$url = 'processes/main';
}
break;
case 'PM_CASES':
if ($RBAC->userCanAccess('PM_CASES') == 1) {
$url = 'cases/main';
}
break;
case 'PM_USERS':
if ($RBAC->userCanAccess('PM_USERS') == 1) {
$url = 'setup/main';
}
break;
case 'PM_DASHBOARD':
if ($RBAC->userCanAccess('PM_DASHBOARD') == 1) {
$url = 'dashboard/main';
}
break;
}
}
if (empty($url)) {

View File

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

View File

@@ -672,6 +672,14 @@ Ext.onReady(function () {
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({
title : _('ID_PREFERENCES'),
// for display or not a preferences FieldSet