From 762375cf2256f5e02c9abbc3a97db9592ae47120 Mon Sep 17 00:00:00 2001 From: Sebastian Castro <sebastian.castro@protonmail.com> Date: Tue, 1 Oct 2019 15:04:44 +0200 Subject: [PATCH] Fixs admin role for super admins in gogocartoJs conf --- src/Biopen/CoreBundle/Resources/views/header.html.twig | 3 +-- src/Biopen/GeoDirectoryBundle/Services/GoGoCartoJsService.php | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Biopen/CoreBundle/Resources/views/header.html.twig b/src/Biopen/CoreBundle/Resources/views/header.html.twig index d8b5c9d55..71652d70c 100755 --- a/src/Biopen/CoreBundle/Resources/views/header.html.twig +++ b/src/Biopen/CoreBundle/Resources/views/header.html.twig @@ -192,8 +192,7 @@ function handleLogin(bool, rolesObject, mail) // carto is the GoGoCartoJs instance, defined in GeoDirectory/directoy.html.twig if (typeof carto !== 'undefined') { - // in GoGoCartoJs there are 3 roles : anonymous (0), user (1), admin (2) - if ($.inArray('ROLE_ADMIN', roles) > -1) carto.setUserRole('admin'); + if ($.inArray('ROLE_ADMIN', roles) > -1 || $.inArray('ROLE_SUPER_ADMIN', roles) > -1) carto.setUserRole('admin'); else if ($.inArray('ROLE_USER', roles) > -1) carto.setUserRole('user'); else carto.setUserRole('anonymous'); diff --git a/src/Biopen/GeoDirectoryBundle/Services/GoGoCartoJsService.php b/src/Biopen/GeoDirectoryBundle/Services/GoGoCartoJsService.php index ce0ce5d1c..f221ad7fc 100644 --- a/src/Biopen/GeoDirectoryBundle/Services/GoGoCartoJsService.php +++ b/src/Biopen/GeoDirectoryBundle/Services/GoGoCartoJsService.php @@ -31,7 +31,7 @@ class GoGoCartoJsService $user = $this->securityContext->isGranted('IS_AUTHENTICATED_REMEMBERED') ? $this->securityContext->getToken()->getUser() : null; $roles = $user ? $user->getRoles() : []; - $userGogocartoRole = in_array('ROLE_ADMIN', $roles) ? 'admin' : (in_array('ROLE_USER', $roles) ? 'user' : 'anonymous'); + $userGogocartoRole = $user && $user->isAdmin() ? 'admin' : (in_array('ROLE_USER', $roles) ? 'user' : 'anonymous'); $userGogocartoRole = [$userGogocartoRole]; $userEmail = $user ? $user->getEmail() : $this->session->get('userEmail'); @@ -51,7 +51,7 @@ class GoGoCartoJsService "security" => [ "userRoles" => $userGogocartoRole, - "userEmail" => $userEmail , + "userEmail" => $userEmail, "loginAction" => '$("#popup-login").openModal();' ], "language" => "fr", -- GitLab