From bf054d41408956ad9bd5b1988ffbb03d79dbdf38 Mon Sep 17 00:00:00 2001 From: Vins Date: Tue, 23 Jul 2024 17:48:44 +0200 Subject: [PATCH] Modal alert delete client with documents --- .../ClientView/ClientBox/index.tsx | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/front/Components/Layouts/Folder/FolderInformation/ClientView/ClientBox/index.tsx b/src/front/Components/Layouts/Folder/FolderInformation/ClientView/ClientBox/index.tsx index 891b7cd0..5f91b152 100644 --- a/src/front/Components/Layouts/Folder/FolderInformation/ClientView/ClientBox/index.tsx +++ b/src/front/Components/Layouts/Folder/FolderInformation/ClientView/ClientBox/index.tsx @@ -11,6 +11,7 @@ import Module from "@Front/Config/Module"; import { useCallback } from "react"; import { Note } from "le-coffre-resources/dist/Customer"; import ButtonWithSubMenu from "@Front/Components/Elements/ButtonWithSubMenu"; +import Modal from "@Front/Components/DesignSystem/Modal"; type IProps = { customer: ICustomer; @@ -23,10 +24,16 @@ type IProps = { export default function ClientBox(props: IProps) { const { customer, anchorStatus, folderUid, customerNote } = props; - const { isOpen, open, close } = useOpenable(); + const { isOpen: isDeleteModalOpen, open: openDeleteModal, close: closeDeleteModal } = useOpenable(); + const { isOpen: isErrorModalOpen, open: openErrorModal, close: closeErrorModal } = useOpenable(); const handleDelete = useCallback( (customerUid: string) => { + if (customer.documents && customer.documents.length > 0) { + closeDeleteModal(); + openErrorModal(); + return; + } props.onDelete(customerUid); }, [props], @@ -108,12 +115,27 @@ export default function ClientBox(props: IProps) { variant={EButtonVariant.ERROR} styletype={EButtonstyletype.TEXT} rightIcon={} - onClick={open}> + onClick={openDeleteModal}> Supprimer le client - + )} + + + Ce client ne peut pas être supprimé car des documents sont associés à son dossier. Veuillez d'abord gérer ou supprimer + ces documents avant de tenter de supprimer le client. + + ); }