mirror of
https://github.com/portainer/portainer.git
synced 2025-08-02 20:35:25 +02:00
feat(auth): add useIsEdgeAdmin hook [EE-6627] (#11101)
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:ltsc2022]) (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:1809]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
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:ltsc2022]) (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:1809]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
This commit is contained in:
parent
c08b5af85a
commit
edea9e3481
48 changed files with 389 additions and 198 deletions
|
@ -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"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue