Add all object level read-only behavior (#10356)
Fixes https://github.com/twentyhq/core-team-issues/issues/427 --------- Co-authored-by: Marie Stoppa <marie.stoppa@essec.edu>
This commit is contained in:
@ -50,7 +50,7 @@ export type SettingsNavigationItem = {
|
||||
soon?: boolean;
|
||||
};
|
||||
|
||||
export const useSettingsNavigationItems = (): SettingsNavigationSection[] => {
|
||||
const useSettingsNavigationItems = (): SettingsNavigationSection[] => {
|
||||
const billing = useRecoilValue(billingState);
|
||||
|
||||
const isFunctionSettingsEnabled = false;
|
||||
@ -195,3 +195,5 @@ export const useSettingsNavigationItems = (): SettingsNavigationSection[] => {
|
||||
},
|
||||
];
|
||||
};
|
||||
|
||||
export { useSettingsNavigationItems };
|
||||
|
||||
@ -0,0 +1,27 @@
|
||||
import { currentUserWorkspaceState } from '@/auth/states/currentUserWorkspaceState';
|
||||
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
|
||||
import { useRecoilValue } from 'recoil';
|
||||
import { isDefined, PermissionsOnAllObjectRecords } from 'twenty-shared';
|
||||
import { FeatureFlagKey } from '~/generated-metadata/graphql';
|
||||
|
||||
export const useHasObjectReadOnlyPermission = () => {
|
||||
const currentUserWorkspace = useRecoilValue(currentUserWorkspaceState);
|
||||
const isPermissionEnabled = useIsFeatureEnabled(
|
||||
FeatureFlagKey.IsPermissionsEnabled,
|
||||
);
|
||||
|
||||
if (!isPermissionEnabled) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!isDefined(currentUserWorkspace?.objectRecordsPermissions)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return (
|
||||
currentUserWorkspace?.objectRecordsPermissions.length === 1 &&
|
||||
currentUserWorkspace?.objectRecordsPermissions.includes(
|
||||
PermissionsOnAllObjectRecords.READ_ALL_OBJECT_RECORDS,
|
||||
)
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user