Remove audit link to registries

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-08-28 15:12:30 +02:00
parent 199de3bdb0
commit ec7fe810d0
45 changed files with 540 additions and 2680 deletions

View File

@@ -64,14 +64,6 @@ const complianceRegistriesPageFragment = graphql`
dueDate
actionsToBeImplemented
regulator
audit {
id
name
framework {
id
name
}
}
owner {
id
fullName
@@ -148,7 +140,6 @@ export default function ComplianceRegistriesPage({ queryRef }: ComplianceRegistr
<Th>{__("Area")}</Th>
<Th>{__("Source")}</Th>
<Th>{__("Status")}</Th>
<Th>{__("Audit")}</Th>
<Th>{__("Owner")}</Th>
<Th>{__("Due Date")}</Th>
<Th>{__("Actions")}</Th>
@@ -232,12 +223,6 @@ function RegistryRow({
{getStatusLabel(registry.status || "OPEN")}
</Badge>
</Td>
<Td>
{registry.audit.name
? `${registry.audit.framework.name} - ${registry.audit.name}`
: registry.audit.framework.name
}
</Td>
<Td>{registry.owner?.fullName || "-"}</Td>
<Td>
{registry.dueDate ? (

View File

@@ -27,7 +27,6 @@ import {
import { useTranslate } from "@probo/i18n";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { PeopleSelectField } from "/components/form/PeopleSelectField";
import { AuditSelectField } from "/components/form/AuditSelectField";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
import { Controller } from "react-hook-form";
import z from "zod";
@@ -45,7 +44,6 @@ const updateRegistrySchema = z.object({
dueDate: z.string().optional(),
status: z.enum(["OPEN", "IN_PROGRESS", "CLOSED"]),
ownerId: z.string().min(1, "Owner is required"),
auditId: z.string().min(1, "Audit is required"),
});
type Props = {
@@ -91,7 +89,6 @@ export default function ComplianceRegistryDetailsPage(props: Props) {
: "",
status: registry.status || "OPEN",
ownerId: registry.owner?.id || "",
auditId: registry.audit?.id || "",
},
}
);
@@ -110,7 +107,7 @@ export default function ComplianceRegistryDetailsPage(props: Props) {
dueDate: formatDatetime(formData.dueDate),
status: formData.status,
ownerId: formData.ownerId,
auditId: formData.auditId,
});
toast({
@@ -165,20 +162,7 @@ export default function ComplianceRegistryDetailsPage(props: Props) {
/>
</Field>
<Controller
name="auditId"
control={control}
render={() => (
<AuditSelectField
organizationId={organizationId}
control={control}
name="auditId"
label={__("Audit")}
error={formState.errors.auditId?.message}
required
/>
)}
/>
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<Field

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<388195a5e7e9e9a1a167ad7cb298c935>>
* @generated SignedSource<<312905201e0a72d96dd29afeed17dee1>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -18,14 +18,6 @@ export type ComplianceRegistriesPageFragment$data = {
readonly node: {
readonly actionsToBeImplemented: string | null | undefined;
readonly area: string | null | undefined;
readonly audit: {
readonly framework: {
readonly id: string;
readonly name: string;
};
readonly id: string;
readonly name: string | null | undefined;
};
readonly createdAt: any;
readonly dueDate: any | null | undefined;
readonly id: string;
@@ -68,13 +60,6 @@ v1 = {
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v2 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
};
return {
"argumentDefinitions": [
@@ -216,32 +201,6 @@ return {
"name": "regulator",
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "Audit",
"kind": "LinkedField",
"name": "audit",
"plural": false,
"selections": [
(v1/*: any*/),
(v2/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Framework",
"kind": "LinkedField",
"name": "framework",
"plural": false,
"selections": [
(v1/*: any*/),
(v2/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -341,6 +300,6 @@ return {
};
})();
(node as any).hash = "c85f1b770b00186cc074726ee8766698";
(node as any).hash = "b6b97d09ba132cbc1ffb006c23a33589";
export default node;

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<45ac04d64bae14926f41dccda7ec5a25>>
* @generated SignedSource<<c6faaadb8a0f7d2b70fed9a5801f3580>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -58,14 +58,7 @@ v4 = [
"name": "first",
"value": 10
}
],
v5 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
};
];
return {
"fragment": {
"argumentDefinitions": (v0/*: any*/),
@@ -214,32 +207,6 @@ return {
"name": "regulator",
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "Audit",
"kind": "LinkedField",
"name": "audit",
"plural": false,
"selections": [
(v3/*: any*/),
(v5/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Framework",
"kind": "LinkedField",
"name": "framework",
"plural": false,
"selections": [
(v3/*: any*/),
(v5/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -346,12 +313,12 @@ return {
]
},
"params": {
"cacheID": "fcc5d4d2cc4ca376314b334d7f36316f",
"cacheID": "e4fba5ed79a8d19c72d2814f1adf38c3",
"id": null,
"metadata": {},
"name": "ComplianceRegistriesPageQuery",
"operationKind": "query",
"text": "query ComplianceRegistriesPageQuery(\n $organizationId: ID!\n) {\n node(id: $organizationId) {\n __typename\n ... on Organization {\n ...ComplianceRegistriesPageFragment\n }\n id\n }\n}\n\nfragment ComplianceRegistriesPageFragment on Organization {\n id\n complianceRegistries(first: 10) {\n totalCount\n edges {\n node {\n id\n referenceId\n area\n source\n requirement\n status\n lastReviewDate\n dueDate\n actionsToBeImplemented\n regulator\n audit {\n id\n name\n framework {\n id\n name\n }\n }\n owner {\n id\n fullName\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
"text": "query ComplianceRegistriesPageQuery(\n $organizationId: ID!\n) {\n node(id: $organizationId) {\n __typename\n ... on Organization {\n ...ComplianceRegistriesPageFragment\n }\n id\n }\n}\n\nfragment ComplianceRegistriesPageFragment on Organization {\n id\n complianceRegistries(first: 10) {\n totalCount\n edges {\n node {\n id\n referenceId\n area\n source\n requirement\n status\n lastReviewDate\n dueDate\n actionsToBeImplemented\n regulator\n owner {\n id\n fullName\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
}
};
})();

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<2f421894f05c26b8fbca3d5e76ebdf0d>>
* @generated SignedSource<<25a63f42437f72ee5aea5f2c6e324d4a>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -75,13 +75,6 @@ v4 = {
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v5 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
};
return {
"fragment": {
@@ -224,32 +217,6 @@ return {
"name": "regulator",
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "Audit",
"kind": "LinkedField",
"name": "audit",
"plural": false,
"selections": [
(v4/*: any*/),
(v5/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Framework",
"kind": "LinkedField",
"name": "framework",
"plural": false,
"selections": [
(v4/*: any*/),
(v5/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -356,16 +323,16 @@ return {
]
},
"params": {
"cacheID": "aaec01ab09a3becc49afe167cc55acb6",
"cacheID": "2b10e1f8598c007ee1e3e93e39b51b0d",
"id": null,
"metadata": {},
"name": "ComplianceRegistriesPageRefetchQuery",
"operationKind": "query",
"text": "query ComplianceRegistriesPageRefetchQuery(\n $after: CursorKey\n $first: Int = 10\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ComplianceRegistriesPageFragment_2HEEH6\n id\n }\n}\n\nfragment ComplianceRegistriesPageFragment_2HEEH6 on Organization {\n id\n complianceRegistries(first: $first, after: $after) {\n totalCount\n edges {\n node {\n id\n referenceId\n area\n source\n requirement\n status\n lastReviewDate\n dueDate\n actionsToBeImplemented\n regulator\n audit {\n id\n name\n framework {\n id\n name\n }\n }\n owner {\n id\n fullName\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
"text": "query ComplianceRegistriesPageRefetchQuery(\n $after: CursorKey\n $first: Int = 10\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ComplianceRegistriesPageFragment_2HEEH6\n id\n }\n}\n\nfragment ComplianceRegistriesPageFragment_2HEEH6 on Organization {\n id\n complianceRegistries(first: $first, after: $after) {\n totalCount\n edges {\n node {\n id\n referenceId\n area\n source\n requirement\n status\n lastReviewDate\n dueDate\n actionsToBeImplemented\n regulator\n owner {\n id\n fullName\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
}
};
})();
(node as any).hash = "c85f1b770b00186cc074726ee8766698";
(node as any).hash = "b6b97d09ba132cbc1ffb006c23a33589";
export default node;

View File

@@ -19,7 +19,6 @@ import { z } from "zod";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
import { useCreateComplianceRegistry } from "../../../../hooks/graph/ComplianceRegistryGraph";
import { PeopleSelectField } from "/components/form/PeopleSelectField";
import { AuditSelectField } from "/components/form/AuditSelectField";
import { Controller } from "react-hook-form";
import { formatDatetime, getComplianceRegistryStatusOptions } from "@probo/helpers";
@@ -27,7 +26,6 @@ const schema = z.object({
referenceId: z.string().min(1, "Reference ID is required"),
area: z.string().optional(),
source: z.string().optional(),
auditId: z.string().min(1, "Audit is required"),
requirement: z.string().optional(),
actionsToBeImplemented: z.string().optional(),
regulator: z.string().optional(),
@@ -62,7 +60,6 @@ export function CreateComplianceRegistryDialog({
referenceId: "",
area: "",
source: "",
auditId: "",
requirement: "",
actionsToBeImplemented: "",
regulator: "",
@@ -80,7 +77,6 @@ export function CreateComplianceRegistryDialog({
referenceId: formData.referenceId,
area: formData.area || undefined,
source: formData.source || undefined,
auditId: formData.auditId,
requirement: formData.requirement || undefined,
actionsToBeImplemented: formData.actionsToBeImplemented || undefined,
regulator: formData.regulator || undefined,
@@ -124,15 +120,6 @@ export function CreateComplianceRegistryDialog({
required
/>
<AuditSelectField
organizationId={organizationId}
control={control}
name="auditId"
label={__("Audit")}
error={formState.errors.auditId?.message}
required
/>
<div className="grid grid-cols-2 gap-4">
<Field
label={__("Area")}

View File

@@ -61,14 +61,6 @@ const continualImprovementRegistriesPageFragment = graphql`
targetDate
status
priority
audit {
id
name
framework {
id
name
}
}
owner {
id
fullName
@@ -145,7 +137,6 @@ export default function ContinualImprovementRegistriesPage({ queryRef }: Continu
<Th>{__("Description")}</Th>
<Th>{__("Status")}</Th>
<Th>{__("Priority")}</Th>
<Th>{__("Audit")}</Th>
<Th>{__("Owner")}</Th>
<Th>{__("Target Date")}</Th>
<Th>{__("Actions")}</Th>
@@ -244,12 +235,6 @@ function RegistryRow({
{registry.priority === "HIGH" ? __("High") : registry.priority === "MEDIUM" ? __("Medium") : __("Low")}
</Badge>
</Td>
<Td>
{registry.audit.name
? `${registry.audit.framework.name} - ${registry.audit.name}`
: registry.audit.framework.name
}
</Td>
<Td>{registry.owner?.fullName || "-"}</Td>
<Td>
{registry.targetDate ? (

View File

@@ -27,7 +27,6 @@ import {
import { useTranslate } from "@probo/i18n";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { PeopleSelectField } from "/components/form/PeopleSelectField";
import { AuditSelectField } from "/components/form/AuditSelectField";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
import { Controller } from "react-hook-form";
import z from "zod";
@@ -42,7 +41,6 @@ const updateRegistrySchema = z.object({
status: z.enum(["OPEN", "IN_PROGRESS", "CLOSED"]),
priority: z.enum(["LOW", "MEDIUM", "HIGH"]),
ownerId: z.string().min(1, "Owner is required"),
auditId: z.string().min(1, "Audit is required"),
});
type Props = {
@@ -82,7 +80,6 @@ export default function ContinualImprovementRegistryDetailsPage(props: Props) {
status: registry.status || "OPEN",
priority: registry.priority || "MEDIUM",
ownerId: registry.owner?.id || "",
auditId: registry.audit?.id || "",
},
}
);
@@ -98,7 +95,7 @@ export default function ContinualImprovementRegistryDetailsPage(props: Props) {
status: formData.status,
priority: formData.priority,
ownerId: formData.ownerId,
auditId: formData.auditId,
});
toast({
@@ -165,14 +162,7 @@ export default function ContinualImprovementRegistryDetailsPage(props: Props) {
required
/>
<AuditSelectField
organizationId={organizationId}
control={control}
name="auditId"
label={__("Audit")}
error={formState.errors.auditId?.message}
required
/>
<div>
<Label>{__("Description")}</Label>

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<9fd7671cda5fa074c27aebb356782846>>
* @generated SignedSource<<ee61c51b37dbc7c5b31c298b91dd8b5b>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -17,14 +17,6 @@ export type ContinualImprovementRegistriesPageFragment$data = {
readonly __id: string;
readonly edges: ReadonlyArray<{
readonly node: {
readonly audit: {
readonly framework: {
readonly id: string;
readonly name: string;
};
readonly id: string;
readonly name: string | null | undefined;
};
readonly createdAt: any;
readonly description: string | null | undefined;
readonly id: string;
@@ -66,13 +58,6 @@ v1 = {
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v2 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
};
return {
"argumentDefinitions": [
@@ -193,32 +178,6 @@ return {
"name": "priority",
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "Audit",
"kind": "LinkedField",
"name": "audit",
"plural": false,
"selections": [
(v1/*: any*/),
(v2/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Framework",
"kind": "LinkedField",
"name": "framework",
"plural": false,
"selections": [
(v1/*: any*/),
(v2/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -318,6 +277,6 @@ return {
};
})();
(node as any).hash = "838609d0047346d2031f045e5227c9f0";
(node as any).hash = "1532ac43a0b47d9cd63980861eaa7306";
export default node;

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<a226745b4849f8d82a412528166f860f>>
* @generated SignedSource<<ab460337b0bf2fc7b9af31b90c613e7a>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -58,14 +58,7 @@ v4 = [
"name": "first",
"value": 10
}
],
v5 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
};
];
return {
"fragment": {
"argumentDefinitions": (v0/*: any*/),
@@ -193,32 +186,6 @@ return {
"name": "priority",
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "Audit",
"kind": "LinkedField",
"name": "audit",
"plural": false,
"selections": [
(v3/*: any*/),
(v5/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Framework",
"kind": "LinkedField",
"name": "framework",
"plural": false,
"selections": [
(v3/*: any*/),
(v5/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -325,12 +292,12 @@ return {
]
},
"params": {
"cacheID": "734faf62cb9f84c554159d0cc35a9eda",
"cacheID": "aefda1aa296696b978edb452106544c5",
"id": null,
"metadata": {},
"name": "ContinualImprovementRegistriesPageQuery",
"operationKind": "query",
"text": "query ContinualImprovementRegistriesPageQuery(\n $organizationId: ID!\n) {\n node(id: $organizationId) {\n __typename\n ... on Organization {\n ...ContinualImprovementRegistriesPageFragment\n }\n id\n }\n}\n\nfragment ContinualImprovementRegistriesPageFragment on Organization {\n id\n continualImprovementRegistries(first: 10) {\n totalCount\n edges {\n node {\n id\n referenceId\n description\n source\n targetDate\n status\n priority\n audit {\n id\n name\n framework {\n id\n name\n }\n }\n owner {\n id\n fullName\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
"text": "query ContinualImprovementRegistriesPageQuery(\n $organizationId: ID!\n) {\n node(id: $organizationId) {\n __typename\n ... on Organization {\n ...ContinualImprovementRegistriesPageFragment\n }\n id\n }\n}\n\nfragment ContinualImprovementRegistriesPageFragment on Organization {\n id\n continualImprovementRegistries(first: 10) {\n totalCount\n edges {\n node {\n id\n referenceId\n description\n source\n targetDate\n status\n priority\n owner {\n id\n fullName\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
}
};
})();

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<4ae1cc52a5065a1ee1c8edf344307b6c>>
* @generated SignedSource<<105f0362fe12b8fd084e076e760d51f2>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -75,13 +75,6 @@ v4 = {
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v5 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
};
return {
"fragment": {
@@ -203,32 +196,6 @@ return {
"name": "priority",
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "Audit",
"kind": "LinkedField",
"name": "audit",
"plural": false,
"selections": [
(v4/*: any*/),
(v5/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Framework",
"kind": "LinkedField",
"name": "framework",
"plural": false,
"selections": [
(v4/*: any*/),
(v5/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -335,16 +302,16 @@ return {
]
},
"params": {
"cacheID": "2b886a4652dbea93012ef2306451ea4e",
"cacheID": "2e8a89e4ba6d6811f415617a559381b1",
"id": null,
"metadata": {},
"name": "ContinualImprovementRegistriesPageRefetchQuery",
"operationKind": "query",
"text": "query ContinualImprovementRegistriesPageRefetchQuery(\n $after: CursorKey\n $first: Int = 10\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ContinualImprovementRegistriesPageFragment_2HEEH6\n id\n }\n}\n\nfragment ContinualImprovementRegistriesPageFragment_2HEEH6 on Organization {\n id\n continualImprovementRegistries(first: $first, after: $after) {\n totalCount\n edges {\n node {\n id\n referenceId\n description\n source\n targetDate\n status\n priority\n audit {\n id\n name\n framework {\n id\n name\n }\n }\n owner {\n id\n fullName\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
"text": "query ContinualImprovementRegistriesPageRefetchQuery(\n $after: CursorKey\n $first: Int = 10\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ContinualImprovementRegistriesPageFragment_2HEEH6\n id\n }\n}\n\nfragment ContinualImprovementRegistriesPageFragment_2HEEH6 on Organization {\n id\n continualImprovementRegistries(first: $first, after: $after) {\n totalCount\n edges {\n node {\n id\n referenceId\n description\n source\n targetDate\n status\n priority\n owner {\n id\n fullName\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
}
};
})();
(node as any).hash = "838609d0047346d2031f045e5227c9f0";
(node as any).hash = "1532ac43a0b47d9cd63980861eaa7306";
export default node;

View File

@@ -19,7 +19,6 @@ import { z } from "zod";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
import { useCreateContinualImprovementRegistry } from "../../../../hooks/graph/ContinualImprovementRegistryGraph";
import { PeopleSelectField } from "/components/form/PeopleSelectField";
import { AuditSelectField } from "/components/form/AuditSelectField";
import { Controller } from "react-hook-form";
import { formatDatetime } from "@probo/helpers";
@@ -27,7 +26,6 @@ const schema = z.object({
referenceId: z.string().min(1, "Reference ID is required"),
description: z.string().optional(),
source: z.string().optional(),
auditId: z.string().min(1, "Audit is required"),
ownerId: z.string().min(1, "Owner is required"),
targetDate: z.string().optional(),
status: z.enum(["OPEN", "IN_PROGRESS", "CLOSED"]),
@@ -58,7 +56,6 @@ export function CreateContinualImprovementRegistryDialog({
referenceId: "",
description: "",
source: "",
auditId: "",
ownerId: "",
targetDate: "",
status: "OPEN" as const,
@@ -73,7 +70,6 @@ export function CreateContinualImprovementRegistryDialog({
referenceId: formData.referenceId,
description: formData.description || undefined,
source: formData.source || undefined,
auditId: formData.auditId,
ownerId: formData.ownerId,
targetDate: formatDatetime(formData.targetDate),
status: formData.status,
@@ -126,15 +122,6 @@ export function CreateContinualImprovementRegistryDialog({
required
/>
<AuditSelectField
organizationId={organizationId}
control={control}
name="auditId"
label={__("Audit")}
error={formState.errors.auditId?.message}
required
/>
<div>
<Label>{__("Description")}</Label>
<Textarea

View File

@@ -63,14 +63,6 @@ const processingActivityRegistriesPageFragment = graphql`
lawfulBasis
location
internationalTransfers
audit {
id
name
framework {
id
name
}
}
createdAt
updatedAt
}
@@ -145,7 +137,6 @@ export default function ProcessingActivityRegistriesPage({ queryRef }: Processin
<Th>{__("Lawful Basis")}</Th>
<Th>{__("Location")}</Th>
<Th>{__("International Transfers")}</Th>
<Th>{__("Audit")}</Th>
<Th>{__("Actions")}</Th>
</Tr>
</Thead>
@@ -240,12 +231,6 @@ function RegistryRow({
{registry.internationalTransfers ? __("Yes") : __("No")}
</Badge>
</Td>
<Td>
{registry.audit.name
? `${registry.audit.framework.name} - ${registry.audit.name}`
: registry.audit.framework.name
}
</Td>
<Td noLink width={50} className="text-end">
<ActionDropdown>
<DropdownItem

View File

@@ -24,7 +24,6 @@ import {
} from "@probo/ui";
import { useTranslate } from "@probo/i18n";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { AuditSelectField } from "/components/form/AuditSelectField";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
import { Controller } from "react-hook-form";
import z from "zod";
@@ -54,7 +53,6 @@ const updateRegistrySchema = z.object({
securityMeasures: z.string().optional(),
dataProtectionImpactAssessment: z.enum(["NEEDED", "NOT_NEEDED"] as const),
transferImpactAssessment: z.enum(["NEEDED", "NOT_NEEDED"] as const),
auditId: z.string().min(1, "Audit is required"),
});
type Props = {
@@ -100,7 +98,6 @@ export default function ProcessingActivityRegistryDetailsPage(props: Props) {
securityMeasures: registry.securityMeasures || "",
dataProtectionImpactAssessment: registry.dataProtectionImpactAssessment || "NOT_NEEDED" as const,
transferImpactAssessment: registry.transferImpactAssessment || "NOT_NEEDED" as const,
auditId: registry.audit?.id || "",
},
}
);
@@ -109,7 +106,6 @@ export default function ProcessingActivityRegistryDetailsPage(props: Props) {
try {
await updateRegistry({
id: registry.id!,
auditId: formData.auditId || undefined,
name: formData.name,
purpose: formData.purpose || undefined,
dataSubjectCategory: formData.dataSubjectCategory || undefined,
@@ -175,15 +171,6 @@ export default function ProcessingActivityRegistryDetailsPage(props: Props) {
required
/>
<AuditSelectField
organizationId={organizationId}
control={control}
name="auditId"
label={__("Audit")}
error={formState.errors.auditId?.message}
required
/>
<div>
<Label>{__("Purpose")}</Label>
<Textarea

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<a05ed8b664f858ac30c3bf5d71ba20ea>>
* @generated SignedSource<<f2595590d945925932f5093a2c76dd1b>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -17,14 +17,6 @@ export type ProcessingActivityRegistriesPageFragment$data = {
readonly __id: string;
readonly edges: ReadonlyArray<{
readonly node: {
readonly audit: {
readonly framework: {
readonly id: string;
readonly name: string;
};
readonly id: string;
readonly name: string | null | undefined;
};
readonly createdAt: any;
readonly dataSubjectCategory: string | null | undefined;
readonly id: string;
@@ -62,13 +54,6 @@ v1 = {
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v2 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
};
return {
"argumentDefinitions": [
@@ -147,7 +132,13 @@ return {
"plural": false,
"selections": [
(v1/*: any*/),
(v2/*: any*/),
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -190,32 +181,6 @@ return {
"name": "internationalTransfers",
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "Audit",
"kind": "LinkedField",
"name": "audit",
"plural": false,
"selections": [
(v1/*: any*/),
(v2/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Framework",
"kind": "LinkedField",
"name": "framework",
"plural": false,
"selections": [
(v1/*: any*/),
(v2/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -296,6 +261,6 @@ return {
};
})();
(node as any).hash = "7e63a0911396373ab39811be65844b89";
(node as any).hash = "25222b5244115092f96c424d8a52a5db";
export default node;

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<4af375f7d8057aa29a6fcfe47854e707>>
* @generated SignedSource<<71dfd7c0d78070061957215363022475>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -58,14 +58,7 @@ v4 = [
"name": "first",
"value": 10
}
],
v5 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
};
];
return {
"fragment": {
"argumentDefinitions": (v0/*: any*/),
@@ -151,7 +144,13 @@ return {
"plural": false,
"selections": [
(v3/*: any*/),
(v5/*: any*/),
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -194,32 +193,6 @@ return {
"name": "internationalTransfers",
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "Audit",
"kind": "LinkedField",
"name": "audit",
"plural": false,
"selections": [
(v3/*: any*/),
(v5/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Framework",
"kind": "LinkedField",
"name": "framework",
"plural": false,
"selections": [
(v3/*: any*/),
(v5/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -307,12 +280,12 @@ return {
]
},
"params": {
"cacheID": "9fe4ad1f3cd0dbd50f63b9dd93a95df8",
"cacheID": "331d1a749711d7a519fbdc5a721d2cec",
"id": null,
"metadata": {},
"name": "ProcessingActivityRegistriesPageQuery",
"operationKind": "query",
"text": "query ProcessingActivityRegistriesPageQuery(\n $organizationId: ID!\n) {\n node(id: $organizationId) {\n __typename\n ... on Organization {\n ...ProcessingActivityRegistriesPageFragment\n }\n id\n }\n}\n\nfragment ProcessingActivityRegistriesPageFragment on Organization {\n id\n processingActivityRegistries(first: 10) {\n totalCount\n edges {\n node {\n id\n name\n purpose\n dataSubjectCategory\n personalDataCategory\n lawfulBasis\n location\n internationalTransfers\n audit {\n id\n name\n framework {\n id\n name\n }\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
"text": "query ProcessingActivityRegistriesPageQuery(\n $organizationId: ID!\n) {\n node(id: $organizationId) {\n __typename\n ... on Organization {\n ...ProcessingActivityRegistriesPageFragment\n }\n id\n }\n}\n\nfragment ProcessingActivityRegistriesPageFragment on Organization {\n id\n processingActivityRegistries(first: 10) {\n totalCount\n edges {\n node {\n id\n name\n purpose\n dataSubjectCategory\n personalDataCategory\n lawfulBasis\n location\n internationalTransfers\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
}
};
})();

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<eae0517caf3cfcc45963a0cc7bcd4dca>>
* @generated SignedSource<<3ad73dde5a41f4370035f6156fc1f38b>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -75,13 +75,6 @@ v4 = {
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v5 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
};
return {
"fragment": {
@@ -161,7 +154,13 @@ return {
"plural": false,
"selections": [
(v4/*: any*/),
(v5/*: any*/),
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -204,32 +203,6 @@ return {
"name": "internationalTransfers",
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "Audit",
"kind": "LinkedField",
"name": "audit",
"plural": false,
"selections": [
(v4/*: any*/),
(v5/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Framework",
"kind": "LinkedField",
"name": "framework",
"plural": false,
"selections": [
(v4/*: any*/),
(v5/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -317,16 +290,16 @@ return {
]
},
"params": {
"cacheID": "352606982d18141d1e790715a3554f8c",
"cacheID": "1d359fcdec190d343db1cef8c01c7672",
"id": null,
"metadata": {},
"name": "ProcessingActivityRegistriesPageRefetchQuery",
"operationKind": "query",
"text": "query ProcessingActivityRegistriesPageRefetchQuery(\n $after: CursorKey\n $first: Int = 10\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ProcessingActivityRegistriesPageFragment_2HEEH6\n id\n }\n}\n\nfragment ProcessingActivityRegistriesPageFragment_2HEEH6 on Organization {\n id\n processingActivityRegistries(first: $first, after: $after) {\n totalCount\n edges {\n node {\n id\n name\n purpose\n dataSubjectCategory\n personalDataCategory\n lawfulBasis\n location\n internationalTransfers\n audit {\n id\n name\n framework {\n id\n name\n }\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
"text": "query ProcessingActivityRegistriesPageRefetchQuery(\n $after: CursorKey\n $first: Int = 10\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ProcessingActivityRegistriesPageFragment_2HEEH6\n id\n }\n}\n\nfragment ProcessingActivityRegistriesPageFragment_2HEEH6 on Organization {\n id\n processingActivityRegistries(first: $first, after: $after) {\n totalCount\n edges {\n node {\n id\n name\n purpose\n dataSubjectCategory\n personalDataCategory\n lawfulBasis\n location\n internationalTransfers\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
}
};
})();
(node as any).hash = "7e63a0911396373ab39811be65844b89";
(node as any).hash = "25222b5244115092f96c424d8a52a5db";
export default node;

View File

@@ -17,7 +17,6 @@ import { useTranslate } from "@probo/i18n";
import { z } from "zod";
import { useFormWithSchema } from "/hooks/useFormWithSchema";
import { useCreateProcessingActivityRegistry } from "../../../../hooks/graph/ProcessingActivityRegistryGraph";
import { AuditSelectField } from "/components/form/AuditSelectField";
import { Controller } from "react-hook-form";
import {
SpecialOrCriminalDataOptions,
@@ -43,7 +42,6 @@ const schema = z.object({
securityMeasures: z.string().optional(),
dataProtectionImpactAssessment: z.enum(["NEEDED", "NOT_NEEDED"] as const),
transferImpactAssessment: z.enum(["NEEDED", "NOT_NEEDED"] as const),
auditId: z.string().min(1, "Audit is required"),
});
type FormData = z.infer<typeof schema>;
@@ -82,7 +80,6 @@ export function CreateProcessingActivityRegistryDialog({
securityMeasures: "",
dataProtectionImpactAssessment: "NOT_NEEDED" as const,
transferImpactAssessment: "NOT_NEEDED" as const,
auditId: "",
},
});
@@ -105,7 +102,6 @@ export function CreateProcessingActivityRegistryDialog({
securityMeasures: formData.securityMeasures || undefined,
dataProtectionImpactAssessment: formData.dataProtectionImpactAssessment || undefined,
transferImpactAssessment: formData.transferImpactAssessment || undefined,
auditId: formData.auditId,
});
toast({
@@ -144,15 +140,6 @@ export function CreateProcessingActivityRegistryDialog({
required
/>
<AuditSelectField
organizationId={organizationId}
control={control}
name="auditId"
label={__("Audit")}
error={formState.errors.auditId?.message}
required
/>
<div>
<Label>{__("Purpose")}</Label>
<Textarea