Fix measure tasks page permissions handling

Signed-off-by: Émile Ré <nemile.re@gmail.com>
This commit is contained in:
Émile Ré
2025-12-31 11:40:43 +01:00
committed by Bryan Frimin
parent 21353f35e7
commit 8d51888895
9 changed files with 294 additions and 140 deletions

View File

@@ -17,7 +17,7 @@ import {
useConfirm,
useDialogRef,
} from "@probo/ui";
import { Fragment, use } from "react";
import { Fragment } from "react";
import {
graphql,
useFragment,
@@ -30,7 +30,6 @@ import TaskFormDialog, {
} from "/components/tasks/TaskFormDialog";
import { updateStoreCounter } from "/hooks/useMutationWithIncrement";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { PermissionsContext } from "/providers/PermissionsContext";
import type { TasksCard_TaskRowFragment$key } from "/__generated__/core/TasksCard_TaskRowFragment.graphql";
import type { TasksPageFragment$data } from "/__generated__/core/TasksPageFragment.graphql";
import type { MeasureTasksTabQuery$data } from "/__generated__/core/MeasureTasksTabQuery.graphql";
@@ -162,7 +161,6 @@ function TaskRow(props: TaskRowProps) {
const confirm = useConfirm();
const [deleteTask] = useMutation(deleteMutation);
const params = useParams<{ measureId?: string }>();
const { isAuthorized } = use(PermissionsContext);
const relayEnv = useRelayEnvironment();
const { canUpdate, canDelete, ...task } =
@@ -271,7 +269,7 @@ function TaskRow(props: TaskRowProps) {
{isUpdating && <Spinner size={16} />}
{(canUpdate || canDelete) && (
<ActionDropdown>
{isAuthorized("Task", "updateTask") && (
{canUpdate && (
<DropdownItem
icon={IconPencil}
onClick={() => dialogRef.current?.open()}
@@ -279,7 +277,7 @@ function TaskRow(props: TaskRowProps) {
{__("Edit")}
</DropdownItem>
)}
{isAuthorized("Task", "deleteTask") && (
{canDelete && (
<DropdownItem
variant="danger"
icon={IconTrashCan}