Definitive main menu structure?

This commit is contained in:
Manuel Cillero 2017-09-19 19:26:45 +02:00
parent ac966a6b89
commit 86b7e754b6
2 changed files with 59 additions and 55 deletions

View file

@ -302,26 +302,27 @@ function storm_user($op, &$edit, &$account, $category = NULL) {
* - Initialize SuiteDesk user data.
* - Init $_SESSION['deskmenu'] variable for build main menus:
*
* XXXXXXXXXXXXXXXXXX = $_SESSION['deskmenu']
* ||||||||||||||||||
* |||||||||||||||||+- [17] - Access to 'Watcher'
* ||||||||||||||||+-- [16] - Access to 'Trash'
* |||||||||||||||+--- [15] - Access to 'Ideas'
* ||||||||||||||+---- [14] - Access to 'Notes'
* |||||||||||||+----- [13] - Access to 'Invoices'
* ||||||||||||+------ [12] - Access to 'Expenses'
* |||||||||||+------- [11] - Access to 'Timetrackings'
* ||||||||||+-------- [10] - Access to 'Tickets'
* |||||||||+--------- [9] - Access to 'Teams'
* ||||||||+---------- [8] - Access to 'Persons'
* |||||||+----------- [7] - Access to 'Organizations'
* ||||||+------------ [6] - Access to 'Documents'
* |||||+------------- [5] - Access to 'Events'
* ||||+-------------- [4] - Access to 'Tasks Kanban'
* |||+--------------- [3] - Access to 'Tasks'
* ||+---------------- [2] - Access to 'Projects'
* |+----------------- [1] - Access to create users
* +------------------ [0] - First time login
* XXXXXXXXXXXXXXXXXXX = $_SESSION['deskmenu']
* |||||||||||||||||||
* ||||||||||||||||||+- [18] - Access to 'Trash'
* |||||||||||||||||+-- [17] - Access to 'Watcher'
* ||||||||||||||||+--- [16] - Access to 'Timetrackings'
* |||||||||||||||+---- [15] - Access to 'Invoices'
* ||||||||||||||+----- [14] - Access to 'Expenses'
* |||||||||||||+------ [13] - Access to 'Tickets'
* ||||||||||||+------- [12] - Access to 'Ideas'
* |||||||||||+-------- [11] - Access to 'My notes'
* ||||||||||+--------- [10] - Access to 'Doks'
* |||||||||+---------- [9] - Access to 'Events'
* ||||||||+----------- [8] - Access to 'Tasks Kanban'
* |||||||+------------ [7] - Access to 'Tasks'
* ||||||+------------- [6] - Access to 'Projects'
* |||||+-------------- [5] - Access to 'Teams'
* ||||+--------------- [4] - Access to 'Persons'
* |||+---------------- [3] - Access to 'Organizations'
* ||+----------------- [2] - Access to SuiteDesk settings
* |+------------------ [1] - Access to create users
* +------------------- [0] - First time login
*
* - Try login on SuiteCRM and init variables:
*
@ -378,27 +379,28 @@ function storm_init() {
$user->stormperson_nid = -1;
// Init $_SESSION[deskmenu] to build main menus:
$deskmenu = '000000000000000000';
$deskmenu = '0000000000000000000';
if ($user->uid == 1) {
$deskmenu = '111111111111111111';
$deskmenu = '1111111111111111111';
} else {
$deskmenu[1] = user_access('create users') ? '1' : '0';
$deskmenu[2] = user_access('Storm project: access') ? '1' : '0';
$deskmenu[3] = user_access('Storm task: access') ? '1' : '0';
$deskmenu[4] = user_access('Storm task: edit if assigned to task') ? '1' : '0';
$deskmenu[5] = user_access('Storm event: access') ? '1' : '0';
$deskmenu[6] = user_access('Storm dok: access') ? '1' : '0';
$deskmenu[7] = user_access('Storm organization: access') ? '1' : '0';
$deskmenu[8] = user_access('Storm person: access') ? '1' : '0';
$deskmenu[9] = user_access('Storm team: access') ? '1' : '0';
$deskmenu[10] = user_access('Storm ticket: access') ? '1' : '0';
$deskmenu[11] = user_access('Storm timetracking: access') ? '1' : '0';
$deskmenu[12] = user_access('Storm expense: access') ? '1' : '0';
$deskmenu[13] = user_access('Storm invoice: access') ? '1' : '0';
$deskmenu[14] = user_access('Storm note: access') ? '1' : '0';
$deskmenu[15] = user_access('Storm idea: access') ? '1' : '0';
$deskmenu[16] = user_access('Storm: access trash') ? '1' : '0';
$deskmenu[2] = user_access('Storm: access administration pages') ? '1' : '0';
$deskmenu[3] = user_access('Storm organization: access') ? '1' : '0';
$deskmenu[4] = user_access('Storm person: access') ? '1' : '0';
$deskmenu[5] = user_access('Storm team: access') ? '1' : '0';
$deskmenu[6] = user_access('Storm project: access') ? '1' : '0';
$deskmenu[7] = user_access('Storm task: access') ? '1' : '0';
$deskmenu[8] = user_access('Storm task: edit if assigned to task') ? '1' : '0';
$deskmenu[9] = user_access('Storm event: access') ? '1' : '0';
$deskmenu[10] = user_access('Storm dok: access') ? '1' : '0';
$deskmenu[11] = user_access('Storm note: access') ? '1' : '0';
$deskmenu[12] = user_access('Storm idea: access') ? '1' : '0';
$deskmenu[13] = user_access('Storm ticket: access') ? '1' : '0';
$deskmenu[14] = user_access('Storm expense: access') ? '1' : '0';
$deskmenu[15] = user_access('Storm invoice: access') ? '1' : '0';
$deskmenu[16] = user_access('Storm timetracking: access') ? '1' : '0';
$deskmenu[17] = user_access('use watcher') ? '1' : '0';
$deskmenu[18] = user_access('Storm: access trash') ? '1' : '0';
}
// Is it the first time user login?:
$deskmenu[0] = $user->created == $user->access ? '1' : '0';

View file

@ -166,11 +166,11 @@ function zuitedesk_preprocess_page(&$vars, $hook) {
// CRM submenu:
$submenu = '';
$submenu .= _zuitedesk_option(!empty($_SESSION['SuiteCRM_Session_ID']), "$lang/suitecrm", 'SuiteCRM', 'suitecrm', 'crm', t('Core sales, customer service and marketing processes with SuiteCRM'));
$submenu .= _zuitedesk_option($deskmenu[7], "$lang/organizations", t('Organizations'), 'org', 'org');
$submenu .= _zuitedesk_option($deskmenu[3], "$lang/organizations", t('Organizations'), 'org', 'org');
$partial = '';
$partial .= _zuitedesk_option($deskmenu[1], "$lang/admin/user/user/local", t('User list'), 'userlist', 'login', t('Allows to view list users and register new users'));
$partial .= _zuitedesk_option($deskmenu[8], "$lang/people", t('People'), 'people', 'people');
$partial .= _zuitedesk_option($deskmenu[9], "$lang/teams", t('Teams'), 'teams', 'team');
$partial .= _zuitedesk_option($deskmenu[4], "$lang/people", t('People'), 'people', 'people');
$partial .= _zuitedesk_option($deskmenu[5], "$lang/teams", t('Teams'), 'teams', 'team');
$submenu .= _zuitedesk_divider($submenu, $partial);
$partial = '';
$partial .= _zuitedesk_option(FALSE, "$lang/activity", t('Activity'), 'activity', 'eye');
@ -178,37 +178,39 @@ function zuitedesk_preprocess_page(&$vars, $hook) {
$pl .= _zuitedesk_submenu($submenu, t('Contacts'), 'contacts');
// Plan submenu:
$submenu = '';
$submenu .= _zuitedesk_option($deskmenu[2], "$lang/projects", t('Projects'), 'projects', 'project');
$submenu .= _zuitedesk_option($deskmenu[3], "$lang/tasks", t('Tasks'), 'tasks', 'task');
$submenu .= _zuitedesk_option($deskmenu[4], "$lang/tasks/kanban", t('Tasks Kanban'), 'kanban', 'kanban', t('Kanban board view for your tasks'));
$submenu .= _zuitedesk_option($deskmenu[6], "$lang/projects", t('Projects'), 'projects', 'project');
$submenu .= _zuitedesk_option($deskmenu[7], "$lang/tasks", t('Tasks'), 'tasks', 'task');
$submenu .= _zuitedesk_option($deskmenu[8], "$lang/tasks/kanban", t('Tasks Kanban'), 'kanban', 'kanban', t('Kanban board view for your tasks'));
$partial = '';
$partial .= _zuitedesk_option($deskmenu[5], "$lang/events", t('Events'), 'events', 'event');
$partial .= _zuitedesk_option($deskmenu[5], "$lang/calendar", t('Calendar'), 'calendar', 'calendar');
$partial .= _zuitedesk_option($deskmenu[9], "$lang/events", t('Events'), 'events', 'event');
$partial .= _zuitedesk_option($deskmenu[9], "$lang/calendar", t('Calendar'), 'calendar', 'calendar');
$submenu .= _zuitedesk_divider($submenu, $partial);
$partial = '';
$partial .= _zuitedesk_option($deskmenu[6], "$lang/doks", t('Documentation'), 'dok', 'doc');
$partial .= _zuitedesk_option($deskmenu[6], "$lang/lexicon", t('Glossary'), 'glossary', 'glossary');
$partial .= _zuitedesk_option($deskmenu[10], "$lang/doks", t('Documentation'), 'dok', 'doc');
$partial .= _zuitedesk_option($deskmenu[10], "$lang/lexicon", t('Glossary'), 'glossary', 'glossary');
$submenu .= _zuitedesk_divider($submenu, $partial);
$pl .= _zuitedesk_submenu($submenu, t('Plan'), 'plan');
// Assistance submenu:
$submenu = '';
$submenu .= _zuitedesk_option($deskmenu[10], "$lang/tickets", t('Tickets'), 'tickets', 'ticket');
$submenu .= _zuitedesk_option($deskmenu[13], "$lang/tickets", t('Tickets'), 'tickets', 'ticket');
$partial = '';
$partial .= _zuitedesk_option($deskmenu[12], "$lang/expenses", t('Expenses'), 'expenses', 'expense');
$partial .= _zuitedesk_option($deskmenu[13], "$lang/invoices", t('Invoices'), 'invoices', 'invoice');
$partial .= _zuitedesk_option($deskmenu[11], "$lang/timetrackings", t('Timetrackings'), 'timetracking', 'timetracking');
$partial .= _zuitedesk_option($deskmenu[14], "$lang/expenses", t('Expenses'), 'expenses', 'expense');
$partial .= _zuitedesk_option($deskmenu[15], "$lang/invoices", t('Invoices'), 'invoices', 'invoice');
$partial .= _zuitedesk_option($deskmenu[16], "$lang/timetrackings", t('Timetrackings'), 'timetracking', 'timetracking');
$submenu .= _zuitedesk_divider($submenu, $partial);
$partial = '';
$partial .= _zuitedesk_option($deskmenu[16], "$lang/trash", t('Trash'), 'trash', 'trash');
$partial .= _zuitedesk_option(TRUE, '', t('SuiteDesk Tour'), 'help', 'help', t('A beginner\'s guide to SuiteDesk'));
$partial .= _zuitedesk_option($deskmenu[2], "$lang/attributes", t('Attributes'), 'attributes', 'help');
$partial .= _zuitedesk_option($deskmenu[2], "$lang/admin/settings/suitedesk", t('Configuration'), 'settings', 'help');
$submenu .= _zuitedesk_divider($submenu, $partial);
$pl .= _zuitedesk_submenu($submenu, t('Assistance'), 'assistance');
// User submenu:
$submenu = '';
$submenu .= _zuitedesk_option($deskmenu[14], "$lang/notes", t('My notes'), 'notes', 'note');
$submenu .= _zuitedesk_option($deskmenu[15], "$lang/ideas", t('Jot downs'), 'ideas', 'idea');
$submenu .= _zuitedesk_option(TRUE, '', 'SuiteDesk Tour', 'help', 'help', t('A beginner\'s guide to SuiteDesk'));
$submenu .= _zuitedesk_option($deskmenu[11], "$lang/notes", t('My notes'), 'notes', 'note');
$submenu .= _zuitedesk_option($deskmenu[12], "$lang/ideas", t('Jot downs'), 'ideas', 'idea');
$partial = '';
$partial .= _zuitedesk_option($deskmenu[17], "$lang/user/watcher", t('Watcher'), 'watcher', 'apply');
$partial .= _zuitedesk_option($deskmenu[18], "$lang/trash", t('Trash'), 'trash', 'trash');
$submenu .= _zuitedesk_divider($submenu, $partial);
$partial = '';
$partial .= _zuitedesk_option(TRUE, "$lang/" . drupal_get_path_alias('user/' . $user->uid) . '/edit', t('My SuiteDesk profile'), 'profile', 'user', t('Edit my personal account options'));