[FE] handle restricted objects 2 (#12437)

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Weiko
2025-06-05 15:49:22 +02:00
committed by GitHub
parent ad804ebecd
commit 3f30964523
109 changed files with 904 additions and 306 deletions
@@ -1,27 +1,31 @@
import { isNonEmptyArray } from '@sniptt/guards';
import { useOpenCreateActivityDrawer } from '@/activities/hooks/useOpenCreateActivityDrawer';
import { ActivityTargetableObject } from '@/activities/types/ActivityTargetableEntity';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useHasObjectReadOnlyPermission } from '@/settings/roles/hooks/useHasObjectReadOnlyPermission';
import { Button } from 'twenty-ui/input';
import { useObjectPermissionsForObject } from '@/object-record/hooks/useObjectPermissionsForObject';
import { IconPlus } from 'twenty-ui/display';
import { Button } from 'twenty-ui/input';
export const AddTaskButton = ({
activityTargetableObjects,
activityTargetableObject,
}: {
activityTargetableObjects?: ActivityTargetableObject[];
activityTargetableObject: ActivityTargetableObject;
}) => {
const openCreateActivity = useOpenCreateActivityDrawer({
activityObjectNameSingular: CoreObjectNameSingular.Task,
});
const hasObjectReadOnlyPermission = useHasObjectReadOnlyPermission();
const { objectMetadataItem } = useObjectMetadataItem({
objectNameSingular: activityTargetableObject.targetObjectNameSingular,
});
if (
!isNonEmptyArray(activityTargetableObjects) ||
hasObjectReadOnlyPermission
) {
const objectPermissions = useObjectPermissionsForObject(
objectMetadataItem.id,
);
const hasObjectUpdatePermissions = objectPermissions.canUpdateObjectRecords;
if (!hasObjectUpdatePermissions) {
return null;
}
@@ -33,7 +37,7 @@ export const AddTaskButton = ({
title="Add task"
onClick={() =>
openCreateActivity({
targetableObjects: activityTargetableObjects,
targetableObjects: [activityTargetableObject],
})
}
/>