I have searched the entire distribution for the string: ānavigation_paradigmā
It appears in the following files:
. config.php: here it essentially does:
$sugar_config['default_navigation_paradigm'] = 'gm';
. include/utils.php
In this file it appears in two places.
a. Within the function
function make_sugar_config(&$sugar_config)
it does:
'default_navigation_paradigm' => empty($navigation_paradigm) ? 'gm' : $navigation_paradigm,
Since $navigation_paradigm is not global and not referred to anywhere else in the function it always defaults to āgmā!!!
By the way: I assume there is a bug here because in the first part of the function there is a list of global variables that are referred inside the function so the following line should be be missing in that list:
glogal $navigation_paradigm;
b. within the function
function get_sugar_config_defaults()
where it defaults to āgmā
. modules/Users/Save.php
Here it just saves it (I assume when modified via the user interface):
if (isset($_POST['use_group_tabs'])) {
$focus->setPreference('navigation_paradigm', $_POST['use_group_tabs'], 0, 'global');
} else {
$focus->setPreference('navigation_paradigm', 'gm', 0, 'global');
}
.modules/Users/UserViewHelper.php
in the class UserViewHelper within the function:
protected function setupAdvancedTabNavSettings()
in which it does:
$useGroupTabs = $this->bean->getPreference('navigation_paradigm');
if ( ! isset($useGroupTabs) ) {
if ( ! isset($GLOBALS['sugar_config']['default_navigation_paradigm']) ) {
$GLOBALS['sugar_config']['default_navigation_paradigm'] = 'gm';
}
$useGroupTabs = $GLOBALS['sugar_config']['default_navigation_paradigm'];
}
$this->ss->assign("USE_GROUP_TABS",($useGroupTabs=='gm')?'checked':'');
(in practice if not set at the user level it uses the global definition).
. include/MVC/View(SugarView.php
within the class SugarView, in the function
public function displayHeader($retModTabs = false)
where it does:
$useGroupTabs = $this->bean->getPreference('navigation_paradigm');
if ( ! isset($useGroupTabs) ) {
if ( ! isset($GLOBALS['sugar_config']['default_navigation_paradigm']) ) {
$GLOBALS['sugar_config']['default_navigation_paradigm'] = 'gm';
}
$useGroupTabs = $GLOBALS['sugar_config']['default_navigation_paradigm'];
}
$this->ss->assign("USE_GROUP_TABS",($useGroupTabs=='gm')?'checked':'');
(it looks for it or assigns the default or āgmā when no default is there)
In conclusion:
you could try adding the following lines in config_override.php:
$sugar_config['default_navigation_paradigm'] = 'm';
// the following line not only overrides the value but it overwrites it to a fixed value of 'm'.
$current_user->setPreference('navigation_paradigm', 'm', 0, 'global');
Note:
I havenāt tried this solution but I believe it should work and it should be upgrade safe.
If you try please post back your findings.
Maybe itās better that you take a back-up of all your installation (both db and files) if you are planning to try on a non-test environment!