diff --git a/site/e2e/helpers.ts b/site/e2e/helpers.ts index 8f69b90900538..b79dd07e9de36 100644 --- a/site/e2e/helpers.ts +++ b/site/e2e/helpers.ts @@ -232,13 +232,15 @@ export const createTemplate = async ( * random name. */ export const createGroup = async (page: Page): Promise => { - await page.goto("/groups/create", { waitUntil: "domcontentloaded" }); - await expectUrl(page).toHavePathName("/groups/create"); + await page.goto("/deployment/groups/create", { + waitUntil: "domcontentloaded", + }); + await expectUrl(page).toHavePathName("/deployment/groups/create"); const name = randomName(); await page.getByLabel("Name", { exact: true }).fill(name); await page.getByTestId("form-submit").click(); - await expectUrl(page).toHavePathName(`/groups/${name}`); + await expectUrl(page).toHavePathName(`/deployment/groups/${name}`); return name; }; diff --git a/site/src/modules/management/SidebarView.tsx b/site/src/modules/management/SidebarView.tsx index eabcac8f30ccc..1b4ba2d7b501e 100644 --- a/site/src/modules/management/SidebarView.tsx +++ b/site/src/modules/management/SidebarView.tsx @@ -147,6 +147,9 @@ const DeploymentSettingsNavigation: FC = ({ {permissions.viewAllUsers && ( Users )} + {permissions.viewAnyGroup && ( + Groups + )} {permissions.viewNotificationTemplate && ( diff --git a/site/src/pages/GroupsPage/CreateGroupPage.tsx b/site/src/pages/GroupsPage/CreateGroupPage.tsx index 26c5aef6d53da..92f480d8ab959 100644 --- a/site/src/pages/GroupsPage/CreateGroupPage.tsx +++ b/site/src/pages/GroupsPage/CreateGroupPage.tsx @@ -19,7 +19,7 @@ export const CreateGroupPage: FC = () => { { const newGroup = await createGroupMutation.mutateAsync(data); - navigate(`/groups/${newGroup.name}`); + navigate(`/deployment/groups/${newGroup.name}`); }} error={createGroupMutation.error} isLoading={createGroupMutation.isLoading} diff --git a/site/src/pages/GroupsPage/CreateGroupPageView.tsx b/site/src/pages/GroupsPage/CreateGroupPageView.tsx index 389dc6e0e89cb..e14767e257f2c 100644 --- a/site/src/pages/GroupsPage/CreateGroupPageView.tsx +++ b/site/src/pages/GroupsPage/CreateGroupPageView.tsx @@ -44,7 +44,7 @@ export const CreateGroupPageView: FC = ({ initialTouched, }); const getFieldHelpers = getFormHelpers(form, error); - const onCancel = () => navigate("/groups"); + const onCancel = () => navigate("/deployment/groups"); return ( diff --git a/site/src/pages/GroupsPage/GroupPage.tsx b/site/src/pages/GroupsPage/GroupPage.tsx index 1244118aa3840..0fc4a8122b151 100644 --- a/site/src/pages/GroupsPage/GroupPage.tsx +++ b/site/src/pages/GroupsPage/GroupPage.tsx @@ -211,7 +211,7 @@ export const GroupPage: FC = () => { try { await deleteGroupMutation.mutateAsync(groupId); displaySuccess("Group deleted successfully."); - navigate("/groups"); + navigate("/deployment/groups"); } catch (error) { displayError(getErrorMessage(error, "Failed to delete group.")); } diff --git a/site/src/pages/GroupsPage/GroupsPageView.tsx b/site/src/pages/GroupsPage/GroupsPageView.tsx index 8c9f1f8e46601..17d15a7f44683 100644 --- a/site/src/pages/GroupsPage/GroupsPageView.tsx +++ b/site/src/pages/GroupsPage/GroupsPageView.tsx @@ -81,7 +81,7 @@ export const GroupsPageView: FC = ({ canCreateGroup && ( - )} +
{permissions.createGroup && feats.template_rbac && ( )} - +
} > - Users + Groups
- {!showOrganizations && ( - - - - - Users - - - Groups - - - - - )} - }> diff --git a/site/src/router.tsx b/site/src/router.tsx index 1b23b55245e8f..6fc18130fc170 100644 --- a/site/src/router.tsx +++ b/site/src/router.tsx @@ -342,7 +342,7 @@ const templateRouter = () => { ); }; -const groupsRouter = () => { +const organizationGroupsRouter = () => { return ( } /> @@ -420,7 +420,7 @@ export const router = createBrowserRouter( } /> } /> - {groupsRouter()} + {organizationGroupsRouter()} } /> } /> @@ -473,7 +473,18 @@ export const router = createBrowserRouter( } /> } /> - {groupsRouter()} + + }> + } /> + + + } /> + } /> + } + /> + }> pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy