Browse Source

feat(organization settings): Always show audit log tab (#65363)

* Always shows audit log tab in organization settings
* If user doesn't have access, it will show warning

User with access:
![Screenshot 2024-02-16 at 2 46
38 PM](https://github.com/getsentry/sentry/assets/33237075/3c73b235-9350-4839-831a-42d555c327eb)

User without access:
![Screenshot 2024-02-16 at 2 46
25 PM](https://github.com/getsentry/sentry/assets/33237075/e1e268e9-a6eb-41b7-8d6b-91cbdd796dbe)

Fixes
https://github.com/getsentry/team-core-product-foundations/issues/86
Raj Joshi 1 year ago
parent
commit
539a48318e

+ 0 - 1
static/app/views/settings/organization/navigationConfiguration.tsx

@@ -58,7 +58,6 @@ const organizationNavigation: NavigationSection[] = [
       {
         path: `${pathPrefix}/audit-log/`,
         title: t('Audit Log'),
-        show: ({access}) => access!.has('org:write'),
         description: t('View the audit log for an organization'),
         id: 'audit-log',
       },

+ 14 - 9
static/app/views/settings/organizationAuditLog/index.tsx

@@ -9,6 +9,7 @@ import type {AuditLog} from 'sentry/types';
 import {decodeScalar} from 'sentry/utils/queryString';
 import useApi from 'sentry/utils/useApi';
 import useOrganization from 'sentry/utils/useOrganization';
+import PermissionAlert from 'sentry/views/settings/organization/permissionAlert';
 
 import AuditLogList from './auditLogList';
 
@@ -105,15 +106,19 @@ function OrganizationAuditLog({location}: Props) {
 
   return (
     <Fragment>
-      <AuditLogList
-        entries={state.entryList}
-        pageLinks={state.entryListPageLinks}
-        eventType={state.eventType}
-        eventTypes={state.eventTypes}
-        onEventSelect={handleEventSelect}
-        isLoading={state.isLoading}
-        onCursor={handleCursor}
-      />
+      {!organization.access.includes('org:write') ? (
+        <PermissionAlert />
+      ) : (
+        <AuditLogList
+          entries={state.entryList}
+          pageLinks={state.entryListPageLinks}
+          eventType={state.eventType}
+          eventTypes={state.eventTypes}
+          onEventSelect={handleEventSelect}
+          isLoading={state.isLoading}
+          onCursor={handleCursor}
+        />
+      )}
     </Fragment>
   );
 }