From 8be963931ca6083bc95c07d8e6c1804d1b6314a0 Mon Sep 17 00:00:00 2001 From: Mariano Fuentes Date: Thu, 3 Apr 2025 19:04:01 -0400 Subject: [PATCH 1/2] refactor: update vendor actions and forms for improved handling of assigneeId - Added console logging in updateVendorAction for better debugging of input values. - Updated UpdateSecondaryFieldsForm to explicitly set assigneeId to null if it's an empty string. - Commented out CreateVendorTaskForm in CreateVendorTaskSheet to prevent rendering issues. - Adjusted CreateVendorForm and risk forms to handle assigneeId as nullable for improved flexibility. - Cleaned up unused components in empty-states and ensured consistent handling of assigneeId across forms. --- .../vendors/[vendorId]/actions/update-vendor-action.ts | 9 +++++++++ .../secondary-fields/update-secondary-fields-form.tsx | 5 ++++- .../components/tasks/create-vendor-task-sheet.tsx | 6 +++--- .../components/tasks/data-table/empty-states.tsx | 2 +- .../[orgId]/vendors/components/create-vendor-form.tsx | 10 ++++------ .../src/components/forms/risks/create-risk-form.tsx | 2 +- apps/app/src/components/forms/risks/risk-overview.tsx | 2 +- 7 files changed, 23 insertions(+), 13 deletions(-) diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/actions/update-vendor-action.ts b/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/actions/update-vendor-action.ts index 2f5b718415..506af4d658 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/actions/update-vendor-action.ts +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/actions/update-vendor-action.ts @@ -24,6 +24,15 @@ export const updateVendorAction = authActionClient throw new Error("Invalid user input"); } + console.log({ + id, + name, + description, + category, + assigneeId, + status, + }); + try { await db.vendor.update({ where: { diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/secondary-fields/update-secondary-fields-form.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/secondary-fields/update-secondary-fields-form.tsx index 4afcc3bcbd..d7ae7d0b42 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/secondary-fields/update-secondary-fields-form.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/secondary-fields/update-secondary-fields-form.tsx @@ -60,11 +60,14 @@ export function UpdateSecondaryFieldsForm({ }); const onSubmit = (data: z.infer) => { + // Explicitly set assigneeId to null if it's an empty string (representing "None") + const finalAssigneeId = data.assigneeId === "" ? null : data.assigneeId; + updateVendor.execute({ id: data.id, name: data.name, description: data.description, - assigneeId: data.assigneeId, + assigneeId: finalAssigneeId, // Use the potentially nulled value category: data.category, status: data.status, }); diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/tasks/create-vendor-task-sheet.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/tasks/create-vendor-task-sheet.tsx index 7c5285f562..c7cfcbb791 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/tasks/create-vendor-task-sheet.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/tasks/create-vendor-task-sheet.tsx @@ -8,7 +8,7 @@ import { ScrollArea } from "@comp/ui/scroll-area"; import { Sheet, SheetContent, SheetHeader, SheetTitle } from "@comp/ui/sheet"; import { X } from "lucide-react"; import { useQueryState } from "nuqs"; -import { CreateVendorTaskForm } from "./create-vendor-task-form"; +// import { CreateVendorTaskForm } from "./create-vendor-task-form"; export function CreateVendorTaskSheet() { const t = useI18n(); @@ -38,7 +38,7 @@ export function CreateVendorTaskSheet() { - + {/* */} @@ -49,7 +49,7 @@ export function CreateVendorTaskSheet() { - + {/* */} ); diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/tasks/data-table/empty-states.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/tasks/data-table/empty-states.tsx index 435ad568c0..0e82e16e8d 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/tasks/data-table/empty-states.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/[vendorId]/components/tasks/data-table/empty-states.tsx @@ -64,7 +64,7 @@ export function NoTasks({ isEmpty }: { isEmpty: boolean }) { - + {/* */} ); } diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/components/create-vendor-form.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/components/create-vendor-form.tsx index e9d4814a10..75b0cc69cf 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/components/create-vendor-form.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/[orgId]/vendors/components/create-vendor-form.tsx @@ -1,8 +1,8 @@ "use client"; import { useI18n } from "@/locales/client"; -import { Member, useSession } from "@comp/auth"; -import { User, VendorCategory, VendorStatus } from "@comp/db/types"; +import { useSession } from "@comp/auth"; +import { Member, User, VendorCategory, VendorStatus } from "@comp/db/types"; import { Accordion, AccordionContent, @@ -49,9 +49,7 @@ const createVendorSchema = z.object({ export function CreateVendorForm({ assignees, -}: { - assignees: (Member & { user: User })[]; -}) { +}: { assignees: (Member & { user: User })[] }) { const t = useI18n(); const session = useSession(); @@ -292,7 +290,7 @@ export function CreateVendorForm({ diff --git a/apps/app/src/components/forms/risks/create-risk-form.tsx b/apps/app/src/components/forms/risks/create-risk-form.tsx index 8b07712f1c..a4161c59d4 100644 --- a/apps/app/src/components/forms/risks/create-risk-form.tsx +++ b/apps/app/src/components/forms/risks/create-risk-form.tsx @@ -242,7 +242,7 @@ export function CreateRisk({ {t("common.assignee.label")} {t("common.assignee.label")} Date: Thu, 3 Apr 2025 19:05:29 -0400 Subject: [PATCH 2/2] fix: correct user name reference in FilterToolbar component - Updated the user name display in the FilterToolbar from user.name to user.user.name for accurate rendering of user information. --- apps/app/src/components/tables/risk-register/filter-toolbar.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/app/src/components/tables/risk-register/filter-toolbar.tsx b/apps/app/src/components/tables/risk-register/filter-toolbar.tsx index ddef8b3747..bef0bc526f 100644 --- a/apps/app/src/components/tables/risk-register/filter-toolbar.tsx +++ b/apps/app/src/components/tables/risk-register/filter-toolbar.tsx @@ -176,7 +176,7 @@ export function FilterToolbar({ isEmpty, users }: Props) { {users.map((user) => ( - {user.name} + {user.user.name} ))}