Skip to content
Snippets Groups Projects
Verified Commit bc9cb59c authored by Florian Azizian's avatar Florian Azizian
Browse files

FEAT #11266 TIME 0:30 rest route for shortcuts

parent c8fc420e
No related branches found
No related tags found
No related merge requests found
...@@ -190,6 +190,7 @@ $app->get('/histories/users/{userSerialId}', \History\controllers\HistoryControl ...@@ -190,6 +190,7 @@ $app->get('/histories/users/{userSerialId}', \History\controllers\HistoryControl
//Header //Header
$app->get('/header', \SrcCore\controllers\CoreController::class . ':getHeader'); $app->get('/header', \SrcCore\controllers\CoreController::class . ':getHeader');
$app->get('/shortcuts', \SrcCore\controllers\CoreController::class . ':getShortcuts');
//Home //Home
$app->get('/home', \Home\controllers\HomeController::class . ':get'); $app->get('/home', \Home\controllers\HomeController::class . ':get');
......
...@@ -83,17 +83,13 @@ class CoreController ...@@ -83,17 +83,13 @@ class CoreController
$user = UserModel::getByLogin(['login' => $GLOBALS['userId'], 'select' => ['id', 'user_id', 'firstname', 'lastname']]); $user = UserModel::getByLogin(['login' => $GLOBALS['userId'], 'select' => ['id', 'user_id', 'firstname', 'lastname']]);
$user['groups'] = UserModel::getGroupsByUserId(['userId' => $GLOBALS['userId']]); $user['groups'] = UserModel::getGroupsByUserId(['userId' => $GLOBALS['userId']]);
$user['entities'] = UserModel::getEntitiesById(['userId' => $GLOBALS['userId']]); $user['entities'] = UserModel::getEntitiesById(['userId' => $GLOBALS['userId']]);
$user['indexingGroups'] = [];
$shortcuts = [
['id' => 'home']
];
if ($GLOBALS['userId'] == 'superadmin') { if ($GLOBALS['userId'] == 'superadmin') {
$menu = ServiceModel::getApplicationServicesByXML(['type' => 'menu']); $menu = ServiceModel::getApplicationServicesByXML(['type' => 'menu']);
foreach ($menu as $key => $value) { foreach ($menu as $key => $value) {
if ($value['id'] == 'index_mlb' && $GLOBALS['userId'] == 'superadmin') { if ($value['id'] == 'index_mlb') {
unset($menu[$key]); unset($menu[$key]);
break;
} }
} }
$menuModules = ServiceModel::getModulesServicesByXML(['type' => 'menu']); $menuModules = ServiceModel::getModulesServicesByXML(['type' => 'menu']);
...@@ -102,6 +98,28 @@ class CoreController ...@@ -102,6 +98,28 @@ class CoreController
$menu = ServiceController::getMenuServicesByUserId(['userId' => $GLOBALS['userId']]); $menu = ServiceController::getMenuServicesByUserId(['userId' => $GLOBALS['userId']]);
} }
return $response->withJson([
'user' => $user,
'menu' => $menu
]);
}
public function getShortcuts(Request $request, Response $response)
{
$userGroups = UserModel::getGroupsByUserId(['userId' => $GLOBALS['userId']]);
$shortcuts = [
['id' => 'home']
];
if ($GLOBALS['userId'] == 'superadmin') {
$menu = ServiceModel::getApplicationServicesByXML(['type' => 'menu']);
$menuModules = ServiceModel::getModulesServicesByXML(['type' => 'menu']);
$menu = array_merge($menu, $menuModules);
} else {
$menu = ServiceController::getMenuServicesByUserId(['userId' => $GLOBALS['userId']]);
}
foreach ($menu as $value) { foreach ($menu as $value) {
if ($value['id'] == 'admin') { if ($value['id'] == 'admin') {
$shortcuts[] = ['id' => 'administration']; $shortcuts[] = ['id' => 'administration'];
...@@ -109,22 +127,16 @@ class CoreController ...@@ -109,22 +127,16 @@ class CoreController
$shortcuts[] = ['id' => 'search']; $shortcuts[] = ['id' => 'search'];
} }
} }
$indexingGroups = []; foreach ($userGroups as $group) {
foreach ($user['groups'] as $group) {
if ($group['can_index']) { if ($group['can_index']) {
$indexingGroups[] = ['id' => $group['id'], 'label' => $group['group_desc']]; $shortcuts[] = [
'id' => 'indexing',
'groups' => ['id' => $group['id'], 'label' => $group['group_desc']]
];
} }
} }
if (!empty($indexingGroups)) {
$shortcuts[] = [
'id' => 'indexing',
'groups' => $indexingGroups
];
}
return $response->withJson([ return $response->withJson([
'user' => $user,
'menu' => $menu,
'shortcuts' => $shortcuts 'shortcuts' => $shortcuts
]); ]);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment