1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-02 20:35:25 +02:00

feat(auth): add useIsEdgeAdmin hook [EE-6627] (#11057)
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run

This commit is contained in:
Chaim Lev-Ari 2024-02-15 00:50:20 +02:00 committed by GitHub
parent 7a6c872948
commit 31f5b42962
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
48 changed files with 389 additions and 198 deletions

View file

@ -16,17 +16,19 @@ import { SidebarSection } from './SidebarSection';
import { SidebarParent } from './SidebarItem/SidebarParent';
interface Props {
isPureAdmin: boolean;
isAdmin: boolean;
isTeamLeader?: boolean;
}
export function SettingsSidebar({ isAdmin, isTeamLeader }: Props) {
export function SettingsSidebar({ isPureAdmin, isAdmin, isTeamLeader }: Props) {
const teamSyncQuery = usePublicSettings<boolean>({
select: (settings) => settings.TeamSync,
});
const showUsersSection =
!window.ddExtension && (isAdmin || (isTeamLeader && !teamSyncQuery.data));
const isPureAdminOrTeamLeader =
isPureAdmin || (isTeamLeader && !teamSyncQuery.data && !isAdmin);
const showUsersSection = !window.ddExtension && isPureAdminOrTeamLeader;
return (
<SidebarSection title="Administration">
@ -51,7 +53,7 @@ export function SettingsSidebar({ isAdmin, isTeamLeader }: Props) {
data-cy="portainerSidebar-teams"
/>
{isAdmin && (
{isPureAdmin && (
<SidebarItem
to="portainer.roles"
label="Roles"
@ -61,7 +63,7 @@ export function SettingsSidebar({ isAdmin, isTeamLeader }: Props) {
)}
</SidebarParent>
)}
{isAdmin && (
{isPureAdmin && (
<>
<SidebarParent
label="Environment-related"
@ -74,7 +76,7 @@ export function SettingsSidebar({ isAdmin, isTeamLeader }: Props) {
'portainer.tags',
],
}}
data-cy="k8sSidebar-networking"
data-cy="portainerSidebar-environments-area"
>
<SidebarItem
label="Environments"
@ -139,13 +141,24 @@ export function SettingsSidebar({ isAdmin, isTeamLeader }: Props) {
</SidebarParent>
</>
)}
{isBE && !isPureAdmin && isAdmin && (
<SidebarParent
label="Environment-related"
icon={HardDrive}
to="portainer.endpoints.updateSchedules"
data-cy="portainerSidebar-environments-area"
>
<EdgeUpdatesSidebarItem />
</SidebarParent>
)}
<SidebarItem
to="portainer.notifications"
icon={Bell}
label="Notifications"
data-cy="portainerSidebar-notifications"
/>
{isAdmin && (
{isPureAdmin && (
<SidebarParent
to="portainer.settings"
label="Settings"
@ -158,6 +171,7 @@ export function SettingsSidebar({ isAdmin, isTeamLeader }: Props) {
isSubMenu
ignorePaths={[
'portainer.settings.authentication',
'portainer.settings.sharedcredentials',
'portainer.settings.edgeCompute',
]}
data-cy="portainerSidebar-generalSettings"
@ -178,6 +192,7 @@ export function SettingsSidebar({ isAdmin, isTeamLeader }: Props) {
data-cy="portainerSidebar-cloud"
/>
)}
<SidebarItem
to="portainer.settings.edgeCompute"
label="Edge Compute"