Ask documents working

This commit is contained in:
Maxime Lalo 2023-05-09 13:32:57 +02:00
parent 14a47bc474
commit 22442234e2
7 changed files with 35 additions and 25 deletions

View File

@ -49,7 +49,7 @@ export default class UserFolder extends React.Component<IProps, IState> {
const otherDocuments: Document[] | null = this.getValidatedAndPendindDocuments(); const otherDocuments: Document[] | null = this.getValidatedAndPendindDocuments();
const redirectPath = Module.getInstance() const redirectPath = Module.getInstance()
.get() .get()
.modules.pages.Folder.pages.AskDocument.props.path.replace("[folderUid]", this.props.folder.uid ?? ""); .modules.pages.Folder.pages.AskDocument.props.path.replace("[folderUid]", this.props.folder.uid ?? "").replace("[customerUid]", this.props.customer.uid ?? "");
return ( return (
<div className={classes["root"]} data-opened={this.props.isOpened.toString()}> <div className={classes["root"]} data-opened={this.props.isOpened.toString()}>
<Confirm <Confirm

View File

@ -16,13 +16,15 @@ import React from "react";
import BasePage from "../../Base"; import BasePage from "../../Base";
import classes from "./classes.module.scss"; import classes from "./classes.module.scss";
import DocumentTypes from "@Front/Api/LeCoffreApi/SuperAdmin/DocumentTypes/DocumentTypes";
import DeedTypes from "@Front/Api/LeCoffreApi/SuperAdmin/DeedTypes/DeedTypes"; import DeedTypes from "@Front/Api/LeCoffreApi/SuperAdmin/DeedTypes/DeedTypes";
import Documents from "@Front/Api/LeCoffreApi/SuperAdmin/Documents/Documents";
import Module from "@Front/Config/Module";
type IProps = {}; type IProps = {};
type IPropsClass = IProps & { type IPropsClass = IProps & {
router: NextRouter; router: NextRouter;
folderUid: string; folderUid: string;
customerUid: string;
}; };
type IState = { type IState = {
isCreateDocumentModalVisible: boolean; isCreateDocumentModalVisible: boolean;
@ -32,20 +34,6 @@ type IState = {
}; };
class AskDocumentsClass extends BasePage<IPropsClass, IState> { class AskDocumentsClass extends BasePage<IPropsClass, IState> {
private documentsType: IOption[] = [
{ label: "Carte d'identité", value: "carte_identite" },
{ label: "Diagnostic État Risques et Pollution", value: "diagnostic_erep" },
{ label: "Justificatif de domicile", value: "justificatif_domicile" },
{ label: "Diagnostic gaz", value: "diagnostic_gaz" },
{ label: "Compromis de vente", value: "compromis_de_vente" },
{ label: "Diagnostic DPE", value: "diagnostic_dpe" },
{ label: "Diagnostic électrique", value: "diagnostic_electrique" },
{ label: "Diagnostic plombs", value: "diagnostic_plombs" },
{ label: "Diagnostic amiante", value: "diagnostic_amiante" },
{ label: "Diagnostic termites", value: "diagnostic_termites" },
{ label: "Diagnostic État des nuisances sonores aériennes", value: "diagnostic_ednsa" },
];
public constructor(props: IPropsClass) { public constructor(props: IPropsClass) {
super(props); super(props);
@ -78,7 +66,7 @@ class AskDocumentsClass extends BasePage<IPropsClass, IState> {
<div className={classes["form-container"]}> <div className={classes["form-container"]}>
<div className={classes["checkbox-container"]}> <div className={classes["checkbox-container"]}>
{this.state.documentTypes.map((documentType) => ( {this.state.documentTypes.map((documentType) => (
<CheckBox name="documents_type" toolTip="Checkbox with tooltip" option={documentType} key={documentType.value as string} /> <CheckBox name="document_types" toolTip="Checkbox with tooltip" option={documentType} key={documentType.value as string} />
))} ))}
</div> </div>
<div className={classes["add-document-container"]}> <div className={classes["add-document-container"]}>
@ -218,18 +206,40 @@ class AskDocumentsClass extends BasePage<IPropsClass, IState> {
}); });
} }
private onFormSubmit( private async onFormSubmit(
e: React.FormEvent<HTMLFormElement> | null, e: React.FormEvent<HTMLFormElement> | null,
values: { values: {
[key: string]: string; [key: string]: any;
} }
) { ) {
try{
const documentAsked: [] = values["document_types"] as [];
await documentAsked.forEach(async (document) => {
await Documents.getInstance().post({
folder: {
uid: this.props.folderUid
},
depositor: {
uid: this.props.customerUid
},
document_type: {
uid: document
}
});
});
this.props.router.push(Module.getInstance().get().modules.pages.Folder.pages.FolderInformation.props.path.replace("[folderUid]", this.props.folderUid));
}catch(e){
console.error(e);
}
console.log(values["document_types"]);
} }
} }
export default function AskDocuments(props: IProps){ export default function AskDocuments(props: IProps){
const router = useRouter(); const router = useRouter();
let { folderUid } = router.query; let { folderUid, customerUid } = router.query;
folderUid = folderUid as string; folderUid = folderUid as string;
return <AskDocumentsClass folderUid={folderUid} router={router} />; customerUid = customerUid as string;
return <AskDocumentsClass folderUid={folderUid} customerUid={customerUid} router={router} />;
} }

View File

@ -55,7 +55,7 @@
"AskDocument": { "AskDocument": {
"enabled": true, "enabled": true,
"props": { "props": {
"path": "/folders/[folderUid]/ask-documents", "path": "/folders/[folderUid]/[customerUid]/ask-documents",
"labelKey": "ask_documents" "labelKey": "ask_documents"
} }
}, },

View File

@ -55,7 +55,7 @@
"AskDocument": { "AskDocument": {
"enabled": true, "enabled": true,
"props": { "props": {
"path": "/folders/[folderUid]/ask-documents", "path": "/folders/[folderUid]/[customerUid]/ask-documents",
"labelKey": "ask_documents" "labelKey": "ask_documents"
} }
}, },

View File

@ -55,7 +55,7 @@
"AskDocument": { "AskDocument": {
"enabled": true, "enabled": true,
"props": { "props": {
"path": "/folders/[folderUid]/ask-documents", "path": "/folders/[folderUid]/[customerUid]/ask-documents",
"labelKey": "ask_documents" "labelKey": "ask_documents"
} }
}, },

View File

@ -55,7 +55,7 @@
"AskDocument": { "AskDocument": {
"enabled": true, "enabled": true,
"props": { "props": {
"path": "/folders/[folderUid]/ask-documents", "path": "/folders/[folderUid]/[customerUid]/ask-documents",
"labelKey": "ask_documents" "labelKey": "ask_documents"
} }
}, },