Fix risk mapping tabs permission handling
Signed-off-by: Émile Ré <nemile.re@gmail.com>
This commit is contained in:
@@ -3,8 +3,7 @@ import { useOutletContext } from "react-router";
|
||||
import { LinkedDocumentsCard } from "/components/documents/LinkedDocumentsCard";
|
||||
import type { RiskDocumentsTabFragment$key } from "/__generated__/core/RiskDocumentsTabFragment.graphql";
|
||||
import { useMutationWithIncrement } from "/hooks/useMutationWithIncrement";
|
||||
import { use } from "react";
|
||||
import { PermissionsContext } from "/providers/PermissionsContext";
|
||||
import type { RiskGraphNodeQuery$data } from "/__generated__/core/RiskGraphNodeQuery.graphql";
|
||||
|
||||
export const documentsFragment = graphql`
|
||||
fragment RiskDocumentsTabFragment on Risk {
|
||||
@@ -50,15 +49,17 @@ export const detachDocumentMutation = graphql`
|
||||
|
||||
export default function RiskDocumentsTab() {
|
||||
const { risk } = useOutletContext<{
|
||||
risk: RiskDocumentsTabFragment$key & { id: string };
|
||||
risk: RiskGraphNodeQuery$data["node"];
|
||||
}>();
|
||||
const data = useFragment(documentsFragment, risk);
|
||||
const data = useFragment<RiskDocumentsTabFragment$key>(
|
||||
documentsFragment,
|
||||
risk,
|
||||
);
|
||||
const connectionId = data.documents.__id;
|
||||
const documents = data.documents?.edges?.map((edge) => edge.node) ?? [];
|
||||
const { isAuthorized } = use(PermissionsContext);
|
||||
|
||||
const canLinkDocument = isAuthorized("Risk", "createRiskDocumentMapping");
|
||||
const canUnlinkDocument = isAuthorized("Risk", "deleteRiskDocumentMapping");
|
||||
const canLinkDocument = risk.canCreateDocumentMapping;
|
||||
const canUnlinkDocument = risk.canDeleteDocumentMapping;
|
||||
const readOnly = !canLinkDocument && !canUnlinkDocument;
|
||||
|
||||
const incrementOptions = {
|
||||
|
||||
@@ -3,8 +3,7 @@ import type { RiskMeasuresTabFragment$key } from "/__generated__/core/RiskMeasur
|
||||
import { useOutletContext } from "react-router";
|
||||
import { LinkedMeasuresCard } from "/components/measures/LinkedMeasuresCard";
|
||||
import { useMutationWithIncrement } from "/hooks/useMutationWithIncrement";
|
||||
import { use } from "react";
|
||||
import { PermissionsContext } from "/providers/PermissionsContext";
|
||||
import type { RiskGraphNodeQuery$data } from "/__generated__/core/RiskGraphNodeQuery.graphql";
|
||||
|
||||
export const measuresFragment = graphql`
|
||||
fragment RiskMeasuresTabFragment on Risk {
|
||||
@@ -50,15 +49,14 @@ export const detachMeasureMutation = graphql`
|
||||
|
||||
export default function RiskMeasuresTab() {
|
||||
const { risk } = useOutletContext<{
|
||||
risk: RiskMeasuresTabFragment$key & { id: string };
|
||||
risk: RiskGraphNodeQuery$data["node"];
|
||||
}>();
|
||||
const data = useFragment(measuresFragment, risk);
|
||||
const data = useFragment<RiskMeasuresTabFragment$key>(measuresFragment, risk);
|
||||
const connectionId = data.measures.__id;
|
||||
const measures = data.measures?.edges?.map((edge) => edge.node) ?? [];
|
||||
const { isAuthorized } = use(PermissionsContext);
|
||||
|
||||
const canLinkMeasure = isAuthorized("Risk", "createRiskMeasureMapping");
|
||||
const canUnlinkMeasure = isAuthorized("Risk", "deleteRiskMeasureMapping");
|
||||
const canLinkMeasure = risk.canCreateMeasureMapping;
|
||||
const canUnlinkMeasure = risk.canDeleteMeasureMapping;
|
||||
const readOnly = !canLinkMeasure && !canUnlinkMeasure;
|
||||
|
||||
const incrementOptions = {
|
||||
|
||||
@@ -3,8 +3,7 @@ import type { RiskObligationsTabFragment$key } from "/__generated__/core/RiskObl
|
||||
import { useOutletContext } from "react-router";
|
||||
import { LinkedObligationsCard } from "/components/obligations/LinkedObligationsCard";
|
||||
import { useMutationWithIncrement } from "/hooks/useMutationWithIncrement";
|
||||
import { use } from "react";
|
||||
import { PermissionsContext } from "/providers/PermissionsContext";
|
||||
import type { RiskGraphNodeQuery$data } from "/__generated__/core/RiskGraphNodeQuery.graphql";
|
||||
|
||||
export const obligationsFragment = graphql`
|
||||
fragment RiskObligationsTabFragment on Risk {
|
||||
@@ -50,18 +49,17 @@ export const detachObligationMutation = graphql`
|
||||
|
||||
export default function RiskObligationsTab() {
|
||||
const { risk } = useOutletContext<{
|
||||
risk: RiskObligationsTabFragment$key & { id: string };
|
||||
risk: RiskGraphNodeQuery$data["node"];
|
||||
}>();
|
||||
const data = useFragment(obligationsFragment, risk);
|
||||
const data = useFragment<RiskObligationsTabFragment$key>(
|
||||
obligationsFragment,
|
||||
risk,
|
||||
);
|
||||
const connectionId = data.obligations.__id;
|
||||
const obligations = data.obligations?.edges?.map((edge) => edge.node) ?? [];
|
||||
const { isAuthorized } = use(PermissionsContext);
|
||||
|
||||
const canLinkObligation = isAuthorized("Risk", "createRiskObligationMapping");
|
||||
const canUnlinkObligation = isAuthorized(
|
||||
"Risk",
|
||||
"deleteRiskObligationMapping",
|
||||
);
|
||||
const canLinkObligation = risk.canCreateObligationMapping;
|
||||
const canUnlinkObligation = risk.canDeleteObligationMapping;
|
||||
const readOnly = !canLinkObligation && !canUnlinkObligation;
|
||||
|
||||
const incrementOptions = {
|
||||
|
||||
Reference in New Issue
Block a user