diff --git a/src/front/Components/DesignSystem/Document/DocumentNotary/index.tsx b/src/front/Components/DesignSystem/Document/DocumentNotary/index.tsx index 928f22b8..bb470678 100644 --- a/src/front/Components/DesignSystem/Document/DocumentNotary/index.tsx +++ b/src/front/Components/DesignSystem/Document/DocumentNotary/index.tsx @@ -13,9 +13,9 @@ import classes from "./classes.module.scss"; type IProps = { document: { uid?: Document["uid"]; - document_type: Document["document_type"]; + document_type?: Document["document_type"]; document_status: Document["document_status"]; - folder: Document["folder"]; + folder?: Document["folder"]; files?: Document["files"]; }; openDeletionModal?: (uid: Document["uid"]) => void; diff --git a/src/front/Components/DesignSystem/UserFolder/DocumentList/index.tsx b/src/front/Components/DesignSystem/UserFolder/DocumentList/index.tsx index 8615b89b..cb5a1193 100644 --- a/src/front/Components/DesignSystem/UserFolder/DocumentList/index.tsx +++ b/src/front/Components/DesignSystem/UserFolder/DocumentList/index.tsx @@ -10,9 +10,9 @@ type IProps = { documents: | { uid?: Document["uid"]; - document_type: Document["document_type"]; + document_type?: Document["document_type"]; document_status: Document["document_status"]; - folder: Document["folder"]; + folder?: Document["folder"]; }[] | null; openDeletionModal: (uid: Document["uid"]) => void; diff --git a/src/front/Components/DesignSystem/UserFolder/UserFolderHeader/index.tsx b/src/front/Components/DesignSystem/UserFolder/UserFolderHeader/index.tsx index da52f608..8de475b3 100644 --- a/src/front/Components/DesignSystem/UserFolder/UserFolderHeader/index.tsx +++ b/src/front/Components/DesignSystem/UserFolder/UserFolderHeader/index.tsx @@ -1,13 +1,14 @@ -import React from "react"; -import classes from "./classes.module.scss"; -import { Customer } from "le-coffre-resources/dist/Notary"; -import Typography, { ITypo } from "../../Typography"; -import Image from "next/image"; import PenIcon from "@Assets/Icons/pen.svg"; -import WarningBadge from "../../WarningBadge"; -import Link from "next/link"; -import Module from "@Front/Config/Module"; import { IDashBoardFolder } from "@Front/Components/LayoutTemplates/DefaultNotaryDashboard"; +import Module from "@Front/Config/Module"; +import { Customer } from "le-coffre-resources/dist/Notary"; +import Image from "next/image"; +import Link from "next/link"; +import React from "react"; + +import Typography, { ITypo } from "../../Typography"; +import WarningBadge from "../../WarningBadge"; +import classes from "./classes.module.scss"; type IProps = { customer: Customer; @@ -20,11 +21,12 @@ export default class UserFolderHeader extends React.Component { static defaultProps = { isArchived: false, }; - public override render(): JSX.Element { + public override render(): JSX.Element | null { const redirectPath = Module.getInstance() .get() .modules.pages.Folder.pages.EditClient.props.path.replace("[folderUid]", this.props.folder.uid ?? "") .replace("[customerUid]", this.props.customer.uid ?? ""); + if (!this.props.customer.contact) return null; return (
@@ -63,8 +65,9 @@ export default class UserFolderHeader extends React.Component { ); } - private hasPendingFiles(){ - const documents = this.props.folder.documents?.filter((document) => document.depositor.contact.uid === this.props.customer.contact.uid) ?? []; + private hasPendingFiles() { + const documents = + this.props.folder.documents?.filter((document) => document.depositor?.contact?.uid === this.props.customer.contact?.uid) ?? []; const notAskedDocuments = documents.filter((document) => document.document_status === "PENDING") ?? []; return notAskedDocuments.length > 0; } diff --git a/src/front/Components/DesignSystem/UserFolder/index.tsx b/src/front/Components/DesignSystem/UserFolder/index.tsx index 49ac2e24..c1698679 100644 --- a/src/front/Components/DesignSystem/UserFolder/index.tsx +++ b/src/front/Components/DesignSystem/UserFolder/index.tsx @@ -143,7 +143,7 @@ export default class UserFolder extends React.Component { private getDocumentsByStatus(status: string): Document[] | null { if (!this.props.customer.documents) return null; const filteredDocuments = this.props.customer.documents.filter( - (document) => document.document_status === status && document.folder.uid === this.props.folder.uid, + (document) => document.document_status === status && document.folder?.uid === this.props.folder.uid, ); return filteredDocuments; } diff --git a/src/front/Components/LayoutTemplates/DefaultNotaryDashboard/index.tsx b/src/front/Components/LayoutTemplates/DefaultNotaryDashboard/index.tsx index 2f1fd014..f081a5d1 100644 --- a/src/front/Components/LayoutTemplates/DefaultNotaryDashboard/index.tsx +++ b/src/front/Components/LayoutTemplates/DefaultNotaryDashboard/index.tsx @@ -37,7 +37,7 @@ export type IDashBoardFolder = { folder_number: OfficeFolder["folder_number"]; documents?: OfficeFolder["documents"]; description: OfficeFolder["description"]; - deed: OfficeFolder["deed"]; + deed?: OfficeFolder["deed"]; created_at: OfficeFolder["created_at"]; office_folder_has_customers?: OfficeFolder["office_folder_has_customers"]; archived_description: OfficeFolder["archived_description"]; diff --git a/src/front/Components/Layouts/DesignSystem/index.tsx b/src/front/Components/Layouts/DesignSystem/index.tsx index 5af6c6ae..5105e36e 100644 --- a/src/front/Components/Layouts/DesignSystem/index.tsx +++ b/src/front/Components/Layouts/DesignSystem/index.tsx @@ -23,6 +23,7 @@ import Toasts, { IToast } from "@Front/Stores/Toasts"; import classes from "./classes.module.scss"; import { customer2, document, documentDeposited, documentPending, folder, folders, folderWithPendingDocument } from "./dummyData"; +import { IDashBoardFolder } from "@Front/Components/LayoutTemplates/DefaultNotaryDashboard"; type IState = { isModalDisplayed: boolean; @@ -182,13 +183,13 @@ export default class DesignSystem extends BasePage {
Folder with no document to validate
- +
Folder with document waiting for being validate
- +
@@ -239,7 +240,7 @@ export default class DesignSystem extends BasePage { Notary Documents
- {return}} onOpen={() => {return}}/> + {return}} onOpen={() => {return}}/>
@@ -257,7 +258,7 @@ export default class DesignSystem extends BasePage { Document SearchBar
- +
@@ -266,7 +267,7 @@ export default class DesignSystem extends BasePage { Folder List
- +
diff --git a/src/front/Components/Layouts/Folder/CreateFolder/index.tsx b/src/front/Components/Layouts/Folder/CreateFolder/index.tsx index 5249d8e2..dcdcd315 100644 --- a/src/front/Components/Layouts/Folder/CreateFolder/index.tsx +++ b/src/front/Components/Layouts/Folder/CreateFolder/index.tsx @@ -140,7 +140,7 @@ class CreateFolderClass extends BasePage { const usersMock = await Users.getInstance().get( { include: { office_membership: true } }); const userMock = usersMock[0]; // ------------------- - const collaborators = await Users.getInstance().get( { where: { office_membership: { uid: userMock?.office_membership.uid } }, include: { contact: true } }, + const collaborators = await Users.getInstance().get( { where: { office_membership: { uid: userMock?.office_membership?.uid } }, include: { contact: true } }, ); this.setState({ deedTypes, @@ -159,7 +159,7 @@ class CreateFolderClass extends BasePage { private mapUsersOptions(collaborators: User[]) { return collaborators.map((collaborator) => ({ - label: collaborator.contact.last_name.concat(" ", collaborator.contact.first_name), + label: collaborator.contact?.last_name.concat(" ", collaborator.contact.first_name), value: collaborator.uid, })) as IOption[]; } @@ -226,7 +226,7 @@ class CreateFolderClass extends BasePage { const userMock = usersMock[0]; // ----- if (!selectedDeedTypeUid) return; - if (!userMock?.office_membership.uid) return; + if (!userMock?.office_membership?.uid) return; let stakeholders = this.getStakeholders(); let test = stakeholders.map((stakeholder) => ({ diff --git a/src/front/Components/Layouts/Folder/FolderInformation/index.tsx b/src/front/Components/Layouts/Folder/FolderInformation/index.tsx index 09e9cc72..7c7bc254 100644 --- a/src/front/Components/Layouts/Folder/FolderInformation/index.tsx +++ b/src/front/Components/Layouts/Folder/FolderInformation/index.tsx @@ -121,7 +121,7 @@ class FolderInformationClass extends BasePage { } public override async componentDidMount() { this.setState({ - selectedFolder: await this.getFolder(), + selectedFolder: (await this.getFolder()) as IDashBoardFolder, }); } diff --git a/src/front/Components/Layouts/Folder/UpdateClient/index.tsx b/src/front/Components/Layouts/Folder/UpdateClient/index.tsx index 779fa406..5dd5ffdd 100644 --- a/src/front/Components/Layouts/Folder/UpdateClient/index.tsx +++ b/src/front/Components/Layouts/Folder/UpdateClient/index.tsx @@ -82,27 +82,27 @@ class UpdateClientClass extends BasePage { name="first_name" fakeplaceholder="Nom" onChange={this.onChangeNameInput} - defaultValue={this.state.customer?.contact.first_name} + defaultValue={this.state.customer?.contact?.first_name} /> { fakeplaceholder="Date de naissance" required={false} onChange={this.onChangeBirthDateInput} - defaultValue={this.state.customer?.contact.birthdate?.toString() ?? ""} + defaultValue={this.state.customer?.contact?.birthdate?.toString() ?? ""} /> { fakeplaceholder="Adresse" required={false} onChange={this.onChangeAddressInput} - defaultValue={this.state.customer?.contact.address?.address ?? ""} + defaultValue={this.state.customer?.contact?.address?.address ?? ""} /> diff --git a/src/front/Components/Layouts/Folder/UpdateFolderCollaborators/index.tsx b/src/front/Components/Layouts/Folder/UpdateFolderCollaborators/index.tsx index 426528aa..5397894d 100644 --- a/src/front/Components/Layouts/Folder/UpdateFolderCollaborators/index.tsx +++ b/src/front/Components/Layouts/Folder/UpdateFolderCollaborators/index.tsx @@ -51,7 +51,7 @@ class UpdateFolderCollaboratorsClass extends BasePage { const backwardPath = foldersInformationPath.replace("[folderUid]", this.props.selectedFolderUid); const selectOptions : IOption[]= this.state.availableCollaborators.map((collaborator) => { return { - label: collaborator.contact.first_name + " " + collaborator.contact.last_name, + label: collaborator.contact?.first_name + " " + collaborator.contact?.last_name, value: collaborator.uid, } }) @@ -116,7 +116,7 @@ class UpdateFolderCollaboratorsClass extends BasePage { folder = await Folders.getInstance().getByUid(folderUid, query); const preSelectedCollaborators : IOption[]= folder.office_folder_has_stakeholder!.map((collaborator) => { return { - label: collaborator.user_stakeholder.contact.first_name + " " + collaborator.user_stakeholder.contact.last_name, + label: collaborator.user_stakeholder.contact?.first_name + " " + collaborator.user_stakeholder.contact?.last_name, value: collaborator.user_stakeholder.uid, } }) @@ -128,7 +128,7 @@ class UpdateFolderCollaboratorsClass extends BasePage { const userQuery: IGetUsersparams = { where: { - office_uid: folder.office.uid, + office_uid: folder.office?.uid, }, include:{ contact: { diff --git a/src/front/Components/Layouts/Folder/ViewDocuments/index.tsx b/src/front/Components/Layouts/Folder/ViewDocuments/index.tsx index 022af409..e07ae0fc 100644 --- a/src/front/Components/Layouts/Folder/ViewDocuments/index.tsx +++ b/src/front/Components/Layouts/Folder/ViewDocuments/index.tsx @@ -73,7 +73,7 @@ class ViewDocumentsClass extends BasePage { App 23 rue Torus Toulon - {this.props.selectedDocument.document_type.name} + {this.props.selectedDocument.document_type?.name}
{this.props.selectedDocument.files.length > 1 && ( @@ -97,7 +97,7 @@ class ViewDocumentsClass extends BasePage { )}
- {this.props.selectedDocument?.document_type.name === "Carte d'identité" && ( + {this.props.selectedDocument?.document_type?.name === "Carte d'identité" && (