diff --git a/site/e2e/helpers.ts b/site/e2e/helpers.ts index 9feca1a84c909..553cb5c8fc64a 100644 --- a/site/e2e/helpers.ts +++ b/site/e2e/helpers.ts @@ -293,13 +293,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.getByRole("button", { name: /save/i }).click(); - await expectUrl(page).toHavePathName(`/groups/${name}`); + await expectUrl(page).toHavePathName(`/deployment/groups/${name}`); return name; }; diff --git a/site/src/modules/management/DeploymentSidebarView.tsx b/site/src/modules/management/DeploymentSidebarView.tsx index f3e1e7ad51004..052dcf8329b11 100644 --- a/site/src/modules/management/DeploymentSidebarView.tsx +++ b/site/src/modules/management/DeploymentSidebarView.tsx @@ -99,6 +99,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 e1432d78e2716..dd400459d0c2c 100644 --- a/site/src/pages/GroupsPage/CreateGroupPageView.tsx +++ b/site/src/pages/GroupsPage/CreateGroupPageView.tsx @@ -50,7 +50,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 4af3ce30389fa..913101518c61e 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 6188cc09428b9..bd2d2ef981419 100644 --- a/site/src/pages/GroupsPage/GroupsPageView.tsx +++ b/site/src/pages/GroupsPage/GroupsPageView.tsx @@ -80,7 +80,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 287bfd729f8e3..bb95fc1eb393a 100644 --- a/site/src/router.tsx +++ b/site/src/router.tsx @@ -353,7 +353,7 @@ const templateRouter = () => { ); }; -const groupsRouter = () => { +const organizationGroupsRouter = () => { return ( } /> @@ -433,7 +433,7 @@ export const router = createBrowserRouter( }> } /> - {groupsRouter()} + {organizationGroupsRouter()} } /> } /> @@ -488,7 +488,18 @@ export const router = createBrowserRouter( } /> } /> - {groupsRouter()} + + }> + } /> + + + } /> + } /> + } + /> + }>