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

Commit092f585

Browse files
committed
chore: remove per-org audit links
For now at least, we will have the one audit page at /audit which letsyou filter by organization.This also removes the need to do per-org audit permission checks.
1 parent6019d0b commit092f585

File tree

8 files changed

+23
-74
lines changed

8 files changed

+23
-74
lines changed

‎site/src/api/queries/organizations.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,9 @@ export const organizationsPermissions = (
185185
queryKey:["organizations",organizationIds.sort(),"permissions"],
186186
queryFn:async()=>{
187187
// Only request what we need for the sidebar, which is one edit permission
188-
// per sub-link (audit,settings, groups, roles, and members pages) that
189-
//tells uswhether to show that page, since we only show them if you can
190-
//edit (andnot, at the moment if you can only view).
188+
// per sub-link (settings, groups, roles, and members pages) that tells us
189+
// whether to show that page, since we only show them if you can edit (and
190+
// not, at the moment if you can only view).
191191
constchecks=(organizationId:string)=>({
192192
editMembers:{
193193
object:{
@@ -209,14 +209,6 @@ export const organizationsPermissions = (
209209
organization_id:organizationId,
210210
},
211211
action:"update",
212-
},
213-
auditOrganization:{
214-
object:{
215-
resource_type:"audit_log",
216-
organization_id:organizationId,
217-
},
218-
action:"read",
219-
},
220212
assignOrgRole:{
221213
object:{
222214
resource_type:"assign_org_role",

‎site/src/components/Filter/filter.tsx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import Divider from "@mui/material/Divider";
66
importMenufrom"@mui/material/Menu";
77
importMenuItemfrom"@mui/material/MenuItem";
88
importSkeleton,{typeSkeletonProps}from"@mui/material/Skeleton";
9+
importtype{Breakpoint}from"@mui/system/createTheme";
910
import{typeFC,typeReactNode,useEffect,useRef,useState}from"react";
1011
importtype{useSearchParams}from"react-router-dom";
1112
import{
@@ -142,8 +143,7 @@ type FilterProps = {
142143
error?:unknown;
143144
options?:ReactNode;
144145
presets:PresetFilter[];
145-
/** Set to true if there is not much horizontal space. */
146-
compact?:boolean;
146+
breakpoint?:Breakpoint;
147147
};
148148

149149
exportconstFilter:FC<FilterProps>=({
@@ -156,7 +156,7 @@ export const Filter: FC<FilterProps> = ({
156156
learnMoreLabel2,
157157
learnMoreLink2,
158158
presets,
159-
compact,
159+
breakpoint="md",
160160
})=>{
161161
consttheme=useTheme();
162162
// Storing local copy of the filter query so that it can be updated more
@@ -187,12 +187,9 @@ export const Filter: FC<FilterProps> = ({
187187
display:"flex",
188188
gap:8,
189189
marginBottom:16,
190-
// For now compact just means immediately wrapping, but maybe we should
191-
// have a collapsible section or consolidate into one menu or something.
192-
// TODO: Remove separate compact mode once multi-org is stable.
193-
flexWrap:compact ?"wrap" :"nowrap",
190+
flexWrap:"nowrap",
194191

195-
[theme.breakpoints.down("md")]:{
192+
[theme.breakpoints.down(breakpoint)]:{
196193
flexWrap:"wrap",
197194
},
198195
}}

‎site/src/modules/dashboard/Navbar/DeploymentDropdown.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,7 @@ const DeploymentDropdownContent: FC<DeploymentDropdownProps> = ({
124124
{canViewAuditLog&&(
125125
<MenuItem
126126
component={NavLink}
127-
to={
128-
canViewOrganizations
129-
?`/deployment${linkToAuditing}`
130-
:linkToAuditing
131-
}
127+
to={linkToAuditing}
132128
css={styles.menuItem}
133129
onClick={onPopoverClose}
134130
>

‎site/src/pages/AuditPage/AuditFilter.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,23 +51,23 @@ interface AuditFilterProps {
5151
}
5252

5353
exportconstAuditFilter:FC<AuditFilterProps>=({ filter, error, menus})=>{
54+
// Use a smaller width if including the organization filter.
55+
constwidth=menus.organization&&175;
5456
return(
5557
<Filter
5658
learnMoreLink={docs("/admin/audit-logs#filtering-logs")}
5759
presets={PRESET_FILTERS}
5860
isLoading={menus.user.isInitializing}
5961
filter={filter}
6062
error={error}
61-
// There is not much space with the sidebar and four filters, so in this
62-
// case we will use the compact mode.
63-
compact={Boolean(menus.organization)}
63+
breakpoint={menus.organization&&"lg"}
6464
options={
6565
<>
66-
<ResourceTypeMenumenu={menus.resourceType}/>
67-
<ActionMenumenu={menus.action}/>
68-
<UserMenumenu={menus.user}/>
66+
<ResourceTypeMenuwidth={width}menu={menus.resourceType}/>
67+
<ActionMenuwidth={width}menu={menus.action}/>
68+
<UserMenuwidth={width}menu={menus.user}/>
6969
{menus.organization&&(
70-
<OrganizationsMenumenu={menus.organization}/>
70+
<OrganizationsMenuwidth={width}menu={menus.organization}/>
7171
)}
7272
</>
7373
}

‎site/src/pages/AuditPage/AuditPage.tsx

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
importtype{FC}from"react";
22
import{Helmet}from"react-helmet-async";
3-
import{useSearchParams,Navigate,useLocation}from"react-router-dom";
3+
import{useSearchParams}from"react-router-dom";
44
import{paginatedAudits}from"api/queries/audits";
55
import{useFilter}from"components/Filter/filter";
66
import{useUserFilterMenu}from"components/Filter/UserFilter";
@@ -19,7 +19,6 @@ import { AuditPageView } from "./AuditPageView";
1919
constAuditPage:FC=()=>{
2020
constfeats=useFeatureVisibility();
2121
const{ experiments}=useDashboard();
22-
constlocation=useLocation();
2322

2423
/**
2524
* There is an implicit link between auditsQuery and filter via the
@@ -71,14 +70,9 @@ const AuditPage: FC = () => {
7170
}),
7271
});
7372

74-
// TODO: Once multi-org is stable, we should place this redirect into the
75-
// router directly, if we still need to maintain it (for users who are
76-
// typing the old URL manually or have it bookmarked).
77-
constcanViewOrganizations=
78-
feats.multiple_organizations&&experiments.includes("multi-organization");
79-
if(canViewOrganizations&&location.pathname!=="/deployment/audit"){
80-
return<Navigateto={`/deployment/audit${location.search}`}replace/>;
81-
}
73+
// With the multi-organization experiment enabled, show extra organization
74+
// info and the organization filter dropdon.
75+
constcanViewOrganizations=experiments.includes("multi-organization");
8276

8377
return(
8478
<>

‎site/src/pages/AuditPage/AuditPageView.tsx

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -57,20 +57,8 @@ export const AuditPageView: FC<AuditPageViewProps> = ({
5757
constisEmpty=!isLoading&&auditLogs?.length===0;
5858

5959
return(
60-
<Margins
61-
css={{
62-
// When acting as a deployment settings page, there is already padding.
63-
// TODO: When multi-org is stable we should move this to the deployment
64-
// settings dir, use the standard header, and remove these margins.
65-
padding:showOrgDetails ?0 :undefined,
66-
}}
67-
>
68-
<PageHeader
69-
css={{
70-
// When acting as a deployment settings page, there is already padding.
71-
paddingTop:showOrgDetails ?0 :undefined,
72-
}}
73-
>
60+
<Margins>
61+
<PageHeader>
7462
<PageHeaderTitle>
7563
<Stackdirection="row"spacing={1}alignItems="center">
7664
<span>{Language.title}</span>

‎site/src/pages/ManagementSettingsPage/SidebarView.tsx

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { Stack } from "components/Stack/Stack";
1111
import{UserAvatar}from"components/UserAvatar/UserAvatar";
1212
import{typeClassName,useClassName}from"hooks/useClassName";
1313
import{useDashboard}from"modules/dashboard/useDashboard";
14-
import{linkToAuditing,linkToUsers,withFilter}from"modules/navigation";
14+
import{linkToUsers,withFilter}from"modules/navigation";
1515

1616
exportinterfaceOrganizationWithPermissionsextendsOrganization{
1717
permissions:AuthorizationResponse;
@@ -133,11 +133,6 @@ const DeploymentSettingsNavigation: FC<DeploymentSettingsNavigationProps> = ({
133133
Users
134134
</SidebarNavSubItem>
135135
)}
136-
{permissions.viewAnyAuditLog&&(
137-
<SidebarNavSubItemhref={linkToAuditing.slice(1)}>
138-
Auditing
139-
</SidebarNavSubItem>
140-
)}
141136
</Stack>
142137
)}
143138
</div>
@@ -264,17 +259,6 @@ const OrganizationSettingsNavigation: FC<
264259
Roles
265260
</SidebarNavSubItem>
266261
)}
267-
{/* For now redirect to the site-wide audit page with the organization
268-
pre-filled into the filter. Based on user feedback we might want
269-
to serve a copy of the audit page or even delete this link. */}
270-
{organization.permissions.auditOrganization&&(
271-
<SidebarNavSubItem
272-
href={`/deployment${withFilter(
273-
linkToAuditing,
274-
`organization:${organization.name}`,
275-
)}`}
276-
>
277-
Auditing
278262
</SidebarNavSubItem>
279263
)}
280264
</Stack>

‎site/src/router.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,6 @@ export const router = createBrowserRouter(
389389
<Routepath="create"element={<CreateEditRolePage/>}/>
390390
<Routepath=":roleName"element={<CreateEditRolePage/>}/>
391391
</Route>
392-
<Routepath="auditing"element={<></>}/>
393392
</Route>
394393
</Route>
395394

@@ -423,7 +422,6 @@ export const router = createBrowserRouter(
423422
<Routepath="users"element={<UsersPage/>}/>
424423
<Routepath="users/create"element={<CreateUserPage/>}/>
425424
{groupsRouter()}
426-
<Routepath="audit"element={<AuditPage/>}/>
427425
</Route>
428426

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

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp