Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitfbc2a73

Browse files
authored
fix: add groups to deployment settings (#16185)
fixes#16182 <img width="1177" alt="Screenshot 2025-01-17 at 23 20 04"src="https://github.com/user-attachments/assets/e0eec4bb-6b50-45e9-a27b-d3a89552562a"/><img width="1163" alt="Screenshot 2025-01-17 at 23 20 12"src="https://github.com/user-attachments/assets/d8a7129c-0240-4ef5-9f21-84cda5631366"/><img width="1161" alt="Screenshot 2025-01-17 at 23 20 22"src="https://github.com/user-attachments/assets/0ec78f3d-ec96-46a6-8def-aad4700712ac"/>
1 parent5cc7c43 commitfbc2a73

File tree

9 files changed

+34
-59
lines changed

9 files changed

+34
-59
lines changed

‎site/e2e/helpers.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -293,13 +293,15 @@ export const createTemplate = async (
293293
* random name.
294294
*/
295295
exportconstcreateGroup=async(page:Page):Promise<string>=>{
296-
awaitpage.goto("/groups/create",{waitUntil:"domcontentloaded"});
297-
awaitexpectUrl(page).toHavePathName("/groups/create");
296+
awaitpage.goto("/deployment/groups/create",{
297+
waitUntil:"domcontentloaded",
298+
});
299+
awaitexpectUrl(page).toHavePathName("/deployment/groups/create");
298300

299301
constname=randomName();
300302
awaitpage.getByLabel("Name",{exact:true}).fill(name);
301303
awaitpage.getByRole("button",{name:/save/i}).click();
302-
awaitexpectUrl(page).toHavePathName(`/groups/${name}`);
304+
awaitexpectUrl(page).toHavePathName(`/deployment/groups/${name}`);
303305
returnname;
304306
};
305307

‎site/src/modules/management/DeploymentSidebarView.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,9 @@ const DeploymentSettingsNavigation: FC<DeploymentSettingsNavigationProps> = ({
9999
{permissions.viewAllUsers&&(
100100
<SidebarNavItemhref="/deployment/users">Users</SidebarNavItem>
101101
)}
102+
{permissions.viewAnyGroup&&(
103+
<SidebarNavItemhref="/deployment/groups">Groups</SidebarNavItem>
104+
)}
102105
{permissions.viewNotificationTemplate&&(
103106
<SidebarNavItemhref="/deployment/notifications">
104107
<divclassName="flex flex-row items-center gap-2">

‎site/src/pages/GroupsPage/CreateGroupPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const CreateGroupPage: FC = () => {
1919
<CreateGroupPageView
2020
onSubmit={async(data)=>{
2121
constnewGroup=awaitcreateGroupMutation.mutateAsync(data);
22-
navigate(`/groups/${newGroup.name}`);
22+
navigate(`/deployment/groups/${newGroup.name}`);
2323
}}
2424
error={createGroupMutation.error}
2525
isLoading={createGroupMutation.isLoading}

‎site/src/pages/GroupsPage/CreateGroupPageView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export const CreateGroupPageView: FC<CreateGroupPageViewProps> = ({
5050
initialTouched,
5151
});
5252
constgetFieldHelpers=getFormHelpers<CreateGroupRequest>(form,error);
53-
constonCancel=()=>navigate("/groups");
53+
constonCancel=()=>navigate("/deployment/groups");
5454

5555
return(
5656
<Margins>

‎site/src/pages/GroupsPage/GroupPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ export const GroupPage: FC = () => {
211211
try{
212212
awaitdeleteGroupMutation.mutateAsync(groupId);
213213
displaySuccess("Group deleted successfully.");
214-
navigate("/groups");
214+
navigate("/deployment/groups");
215215
}catch(error){
216216
displayError(getErrorMessage(error,"Failed to delete group."));
217217
}

‎site/src/pages/GroupsPage/GroupsPageView.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export const GroupsPageView: FC<GroupsPageViewProps> = ({
8080
canCreateGroup&&(
8181
<Button
8282
component={RouterLink}
83-
to="/groups/create"
83+
to="/deployment/groups/create"
8484
startIcon={<AddOutlined/>}
8585
variant="contained"
8686
>
@@ -95,7 +95,7 @@ export const GroupsPageView: FC<GroupsPageViewProps> = ({
9595

9696
<Cond>
9797
{groups?.map((group)=>{
98-
constgroupPageLink=`/groups/${group.name}`;
98+
constgroupPageLink=`/deployment/groups/${group.name}`;
9999

100100
return(
101101
<TableRow

‎site/src/pages/GroupsPage/SettingsGroupPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export const SettingsGroupPage: FC = () => {
1818
constnavigate=useNavigate();
1919

2020
constnavigateToGroup=()=>{
21-
navigate(`/groups/${groupName}`);
21+
navigate(`/deployment/groups/${groupName}`);
2222
};
2323

2424
consthelmet=(
@@ -56,7 +56,7 @@ export const SettingsGroupPage: FC = () => {
5656
add_users:[],
5757
remove_users:[],
5858
});
59-
navigate(`/groups/${data.name}`,{replace:true});
59+
navigate(`/deployment/groups/${data.name}`,{replace:true});
6060
}catch(error){
6161
displayError(getErrorMessage(error,"Failed to update group"));
6262
}

‎site/src/pages/UsersPage/UsersLayout.tsx

Lines changed: 5 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,39 @@
11
importGroupAddfrom"@mui/icons-material/GroupAddOutlined";
2-
importPersonAddfrom"@mui/icons-material/PersonAddOutlined";
32
importButtonfrom"@mui/material/Button";
43
import{Loader}from"components/Loader/Loader";
54
import{Margins}from"components/Margins/Margins";
65
import{PageHeader,PageHeaderTitle}from"components/PageHeader/PageHeader";
7-
import{TAB_PADDING_Y,TabLink,Tabs,TabsList}from"components/Tabs/Tabs";
86
import{useAuthenticated}from"contexts/auth/RequireAuth";
9-
import{useDashboard}from"modules/dashboard/useDashboard";
107
import{useFeatureVisibility}from"modules/dashboard/useFeatureVisibility";
11-
import{linkToUsers}from"modules/navigation";
128
import{typeFC,Suspense}from"react";
13-
import{
14-
Outlet,
15-
LinkasRouterLink,
16-
useLocation,
17-
useNavigate,
18-
}from"react-router-dom";
9+
import{Outlet,LinkasRouterLink}from"react-router-dom";
1910

2011
exportconstUsersLayout:FC=()=>{
2112
const{ permissions}=useAuthenticated();
22-
const{ showOrganizations}=useDashboard();
23-
constnavigate=useNavigate();
2413
constfeats=useFeatureVisibility();
25-
constlocation=useLocation();
26-
constactiveTab=location.pathname.endsWith("groups") ?"groups" :"users";
2714

2815
return(
2916
<>
3017
<Margins>
3118
<PageHeader
3219
actions={
33-
<>
34-
{permissions.createUser&&(
35-
<Button
36-
onClick={()=>{
37-
navigate("/users/create");
38-
}}
39-
startIcon={<PersonAdd/>}
40-
>
41-
Create user
42-
</Button>
43-
)}
20+
<div>
4421
{permissions.createGroup&&feats.template_rbac&&(
4522
<Button
4623
component={RouterLink}
4724
startIcon={<GroupAdd/>}
48-
to="/groups/create"
25+
to="/deployment/groups/create"
4926
>
5027
Create group
5128
</Button>
5229
)}
53-
</>
30+
</div>
5431
}
5532
>
56-
<PageHeaderTitle>Users</PageHeaderTitle>
33+
<PageHeaderTitle>Groups</PageHeaderTitle>
5734
</PageHeader>
5835
</Margins>
5936

60-
{!showOrganizations&&(
61-
<Tabs
62-
css={{marginBottom:40,marginTop:-TAB_PADDING_Y}}
63-
active={activeTab}
64-
>
65-
<Margins>
66-
<TabsList>
67-
<TabLinkto={linkToUsers}value="users">
68-
Users
69-
</TabLink>
70-
<TabLinkto="/groups"value="groups">
71-
Groups
72-
</TabLink>
73-
</TabsList>
74-
</Margins>
75-
</Tabs>
76-
)}
77-
7837
<Margins>
7938
<Suspensefallback={<Loader/>}>
8039
<Outlet/>

‎site/src/router.tsx

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ const templateRouter = () => {
353353
);
354354
};
355355

356-
constgroupsRouter=()=>{
356+
constorganizationGroupsRouter=()=>{
357357
return(
358358
<Routepath="groups">
359359
<Routeindexelement={<OrganizationGroupsPage/>}/>
@@ -433,7 +433,7 @@ export const router = createBrowserRouter(
433433

434434
<Routepath=":organization"element={<OrganizationSidebarLayout/>}>
435435
<Routeindexelement={<OrganizationMembersPage/>}/>
436-
{groupsRouter()}
436+
{organizationGroupsRouter()}
437437
<Routepath="roles">
438438
<Routeindexelement={<OrganizationCustomRolesPage/>}/>
439439
<Routepath="create"element={<CreateEditRolePage/>}/>
@@ -488,7 +488,18 @@ export const router = createBrowserRouter(
488488

489489
<Routepath="users"element={<UsersPage/>}/>
490490
<Routepath="users/create"element={<CreateUserPage/>}/>
491-
{groupsRouter()}
491+
<Routepath="groups">
492+
<Routeelement={<UsersLayout/>}>
493+
<Routeindexelement={<GroupsPage/>}/>
494+
</Route>
495+
496+
<Routepath="create"element={<CreateGroupPage/>}/>
497+
<Routepath=":groupName"element={<GroupPage/>}/>
498+
<Route
499+
path=":groupName/settings"
500+
element={<SettingsGroupPage/>}
501+
/>
502+
</Route>
492503
</Route>
493504

494505
<Routepath="/settings"element={<UserSettingsLayout/>}>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp