diff options
Diffstat (limited to 'lib/vendors/table/request-project-pq-dialog.tsx')
| -rw-r--r-- | lib/vendors/table/request-project-pq-dialog.tsx | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/lib/vendors/table/request-project-pq-dialog.tsx b/lib/vendors/table/request-project-pq-dialog.tsx index c590d7ec..a9fe0e1a 100644 --- a/lib/vendors/table/request-project-pq-dialog.tsx +++ b/lib/vendors/table/request-project-pq-dialog.tsx @@ -44,6 +44,7 @@ import { Label } from "@/components/ui/label" import { Vendor } from "@/db/schema/vendors" import { requestPQVendors } from "../service" import { getProjects, type Project } from "@/lib/rfqs/service" +import { useSession } from "next-auth/react" interface RequestProjectPQDialogProps extends React.ComponentPropsWithoutRef<typeof Dialog> { @@ -63,6 +64,7 @@ export function RequestProjectPQDialog({ const [projects, setProjects] = React.useState<Project[]>([]) const [selectedProjectId, setSelectedProjectId] = React.useState<number | null>(null) const [isLoadingProjects, setIsLoadingProjects] = React.useState(false) + const { data: session } = useSession() // 프로젝트 목록 로드 React.useEffect(() => { @@ -95,15 +97,23 @@ export function RequestProjectPQDialog({ } function onApprove() { + if (!selectedProjectId) { toast.error("프로젝트를 선택해주세요.") return } + if (!session?.user?.id) { + toast.error("사용자 인증 정보를 찾을 수 없습니다.") + return + } + startApproveTransition(async () => { const { error } = await requestPQVendors({ ids: vendors.map((vendor) => vendor.id), projectId: selectedProjectId, + userId: Number(session.user.id) + }) if (error) { @@ -113,7 +123,7 @@ export function RequestProjectPQDialog({ props.onOpenChange?.(false) - toast.success(`벤더에게 프로젝트 PQ가 성공적으로 요청되었습니다.`) + toast.success(`협력업체에게 프로젝트 PQ가 성공적으로 요청되었습니다.`) onSuccess?.() }) } @@ -165,8 +175,8 @@ export function RequestProjectPQDialog({ <DialogTitle>프로젝트 PQ 요청 확인</DialogTitle> <DialogDescription> <span className="font-medium">{vendors.length}</span> - {vendors.length === 1 ? "개의 벤더" : "개의 벤더들"}에게 프로젝트 PQ 제출을 요청하시겠습니까? - 요청을 보내면 벤더에게 알림이 발송되고 프로젝트 PQ 정보를 입력할 수 있게 됩니다. + {vendors.length === 1 ? "개의 협력업체" : "개의 협력업체들"}에게 프로젝트 PQ 제출을 요청하시겠습니까? + 요청을 보내면 협력업체에게 알림이 발송되고 프로젝트 PQ 정보를 입력할 수 있게 됩니다. </DialogDescription> </DialogHeader> @@ -177,7 +187,7 @@ export function RequestProjectPQDialog({ <Button variant="outline">취소</Button> </DialogClose> <Button - aria-label="선택한 벤더에게 요청하기" + aria-label="선택한 협력업체에게 요청하기" variant="default" onClick={onApprove} disabled={isApprovePending || !selectedProjectId} @@ -211,8 +221,8 @@ export function RequestProjectPQDialog({ <DrawerTitle>프로젝트 PQ 요청 확인</DrawerTitle> <DrawerDescription> <span className="font-medium">{vendors.length}</span> - {vendors.length === 1 ? "개의 벤더" : "개의 벤더들"}에게 프로젝트 PQ 제출을 요청하시겠습니까? - 요청을 보내면 벤더에게 알림이 발송되고 프로젝트 PQ 정보를 입력할 수 있게 됩니다. + {vendors.length === 1 ? "개의 협력업체" : "개의 협력업체들"}에게 프로젝트 PQ 제출을 요청하시겠습니까? + 요청을 보내면 협력업체에게 알림이 발송되고 프로젝트 PQ 정보를 입력할 수 있게 됩니다. </DrawerDescription> </DrawerHeader> @@ -225,7 +235,7 @@ export function RequestProjectPQDialog({ <Button variant="outline">취소</Button> </DrawerClose> <Button - aria-label="선택한 벤더에게 요청하기" + aria-label="선택한 협력업체에게 요청하기" variant="default" onClick={onApprove} disabled={isApprovePending || !selectedProjectId} |
