diff --git a/src/components/Config_Document.js b/src/components/Config_Document.js
index 039e811..f1efd67 100644
--- a/src/components/Config_Document.js
+++ b/src/components/Config_Document.js
@@ -6,7 +6,7 @@ import Button from '@mui/material/Button';
import axios from "axios";
import { getCookie, setCookie } from 'react-use-cookie';
import { useHistory } from "react-router-dom";
-
+import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import { Editor } from '@tinymce/tinymce-react';
@@ -27,6 +27,10 @@ import DialogContent from '@mui/material/DialogContent';
import DialogContentText from '@mui/material/DialogContentText';
import DialogTitle from '@mui/material/DialogTitle';
import { HiOutlineDocumentDuplicate } from "react-icons/hi2";
+import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
+import { Fab } from "@material-ui/core";
+import fileDownload from 'js-file-download'
+import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
const Config_Documents = (props) => {
const history = useHistory();
@@ -72,9 +76,9 @@ const Config_Documents = (props) => {
setduplicate_doc_type();
setDialog_duplicate_doc_open(true);
-
+
setdocument_id_to_duplicate(cellValues.row._id);
-
+
}}>
Dupliquer
@@ -238,8 +242,9 @@ const Config_Documents = (props) => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Partner_Document/";
-
+ setLoading(true);
axios.post(myurl, form).then(res => {
+ setLoading(false);
//console.log(" In Delete_Partner_Document_Data res.data.status = " + res.data.status);
//console.log(" In Delete_Partner_Document_Data res.data.message r_class = " + res.data.message);
@@ -276,7 +281,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
-
+ setLoading(false);
console.warn('Delete_Partner_Document_Data : Not good man :( mysearchtext = ' + error);
setDelete_Partner_Document_Data_api("false");
alert(" Impossible de supprimer le document");
@@ -294,6 +299,11 @@ const Config_Documents = (props) => {
setdisplay_detail_document("1");
//submenu_detail_employe();
+
+ // Nettoyages des eventuelles pièces jointes
+ setGet_List_Of_All_PJ_result([]);
+
+
var line = JSON.parse(rowss[selected_row_id]);
//console.log("### line = ", line);
@@ -305,6 +315,9 @@ const Config_Documents = (props) => {
//console.log(" ### line.ref_interne = ", line.ref_interne);
Get_Partner_Document_Data(document_id);
+ // Recuperation des éventuelles pièces jointes associées à ce document
+ Get_List_Of_All_PJ(document_id);
+
if (document.getElementById('myRef')) {
// myRef.current.scrollIntoView({ behavior: "smooth" });
var divh = document.getElementById('myRef').offsetTop;
@@ -383,9 +396,9 @@ const Config_Documents = (props) => {
//console.log(" ## form = ", form);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Partner_Document/";
-
+ setLoading(true);
axios.post(myurl, form).then(res => {
-
+ setLoading(false);
if (String(res.data.status) === "true") {
//console.log(" In Get_Partner_Document_Data res.data.status = " + res.data.status);
//console.log(" In Get_Partner_Document_Data res.data.message r_class = " + res.data.message);
@@ -449,6 +462,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
+ setLoading(false);
console.warn('Not good man :( Get_Partner_Document_Data = ', error);
setGet_Partner_Document_Data_api("false");
alert(" Impossible de recuperer les données du document");
@@ -476,12 +490,13 @@ const Config_Documents = (props) => {
//console.log(" ## form = ", form);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Default_Partner_Document_By_Internal_Ref/";
-
+ setLoading(true);
axios.post(myurl, form).then(res => {
-
+ setLoading(false);
if (String(res.data.status) === "true") {
- console.log(" In Get_Default_Original_Partner_Document_Data res.data.status = " + res.data.status);
- console.log(" In Get_Default_Original_Partner_Document_Data res.data.message r_class = " + res.data.message);
+ //console.log(" In Get_Default_Original_Partner_Document_Data res.data.status = " + res.data.status);
+ //console.log(" In Get_Default_Original_Partner_Document_Data res.data.message r_class = " + res.data.message);
+
setGet_Default_Original_Partner_Document_Data_api("true");
setGet_Default_Original_Partner_Document_Data_result(res.data.message);
@@ -549,6 +564,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
+ setLoading(false);
console.warn('Not good man :( Get_Default_Original_Partner_Document_Data = ', error);
setGet_Default_Original_Partner_Document_Data_api("false");
alert(" Impossible de recuperer le modèle initial");
@@ -575,12 +591,13 @@ const Config_Documents = (props) => {
//console.log(" ## form = ", form);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_DFAULT_Partner_Document/";
-
+ setLoading(true);
axios.post(myurl, form).then(res => {
if (String(res.data.status) === "true") {
- console.log(" In Get_Default_Original_Partner_Document_Data_By_id res.data.status = " + res.data.status);
- console.log(" In Get_Default_Original_Partner_Document_Data_By_id res.data.message r_class = " + res.data.message);
+ //console.log(" In Get_Default_Original_Partner_Document_Data_By_id res.data.status = " + res.data.status);
+ //console.log(" In Get_Default_Original_Partner_Document_Data_By_id res.data.message r_class = " + res.data.message);
+ setLoading(false);
setGet_Default_Original_Partner_Document_Data_By_id_api("true");
setGet_Default_Original_Partner_Document_Data_By_id_result(res.data.message);
@@ -645,6 +662,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
+ setLoading(false);
console.warn('Not good man :( Get_Default_Original_Partner_Document_Data_By_id = ', error);
setGet_Default_Original_Partner_Document_Data_By_id_api("false");
alert(" Impossible de recuperer le modèle initial");
@@ -772,13 +790,13 @@ const Config_Documents = (props) => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_All_Personnalisable_Collection_Fields/";
-
+ setLoading(true);
axios.post(myurl, form).then(res => {
-
+ setLoading(false);
if (String(res.data.status) === String("true")) {
- console.log(" In Get_Personnalisable_Collection_and_Fields res.data.status = " + res.data.status);
- console.log(" In Get_Personnalisable_Collection_and_Fields res.data.message r_class = " + res.data.message);
+ //console.log(" In Get_Personnalisable_Collection_and_Fields res.data.status = " + res.data.status);
+ //console.log(" In Get_Personnalisable_Collection_and_Fields res.data.message r_class = " + res.data.message);
setGet_Personnalisable_Collection_and_Fields_api("true");
setGet_Personnalisable_Collection_and_Fields_result(res.data.message);
@@ -791,6 +809,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
+ setLoading(false);
console.warn('Not good man :( Get_Personnalisable_Collection_and_Fields = ', error);
setGet_Personnalisable_Collection_and_Fields_api("false");
alert(" Impossible de recuperer la liste des collection et champs personnalisables");
@@ -806,11 +825,12 @@ const Config_Documents = (props) => {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
-
+ setLoading(true);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Personnalisable_Collection/";
axios.post(myurl, form).then(res => {
+ setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Get_Personnalisable_Collections res.data.status = " + res.data.status);
//console.log(" In Get_Personnalisable_Collections res.data.message r_class = " + res.data.message);
@@ -826,6 +846,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
+ setLoading(false);
console.warn('Not good man :( Get_Personnalisable_Collections = ', error);
setGet_Personnalisable_Collections_api("false");
alert(" Impossible de recuperer la liste des collection et champs personnalisables");
@@ -916,14 +937,15 @@ const Config_Documents = (props) => {
form.append("contenu_doc", "");
}
- console.log(" Add_one_Partner_Document affectation form == ", form);
+ //console.log(" Add_one_Partner_Document affectation form == ", form);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Partner_Document/";
-
+ setLoading(true);
axios.post(myurl, form).then(res => {
- console.log(" In Add_one_Partner_Document res.data.status = " + res.data.status);
- console.log(" In Add_one_Partner_Document res.data.message r_class = " + res.data.message);
+ setLoading(false);
+ //console.log(" In Add_one_Partner_Document res.data.status = " + res.data.status);
+ //console.log(" In Add_one_Partner_Document res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true")) {
setAdd_one_Partner_Document_api("true");
@@ -943,7 +965,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
-
+ setLoading(false);
console.log('UpdateStagiaireData : Not good man :( Add_one_Partner_Document = ' + error);
setAdd_one_Partner_Document_api("false");
alert(" Impossible d'ajouter le nouveau document");
@@ -967,9 +989,10 @@ const Config_Documents = (props) => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Personnalisable_Fields_By_template_ref_interne/";
-
+ setLoading(true);
axios.post(myurl, form).then(res => {
+ setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Get_Given_Personnalisable_Collection_and_Fields res.data.status = " + res.data.status);
//console.log(" In Get_Given_Personnalisable_Collection_and_Fields res.data.message r_class = " + res.data.message);
@@ -985,6 +1008,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
+ setLoading(false);
console.warn('Not good man :( Get_Given_Personnalisable_Collection_and_Fields = ', error);
setGet_Given_Personnalisable_Collection_and_Fields_api("false");
alert(" Impossible de recuperer la liste des collection et champs personnalisables de l'objet");
@@ -1034,11 +1058,12 @@ const Config_Documents = (props) => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Duplicate_Given_Partner_Document/";
-
+ setLoading(true);
axios.post(myurl, form).then(res => {
- console.log(" In Duplicate_Partner_Document res.data.status = " + res.data.status);
- console.log(" In Duplicate_Partner_Document res.data.message r_class = " + res.data.message);
+ //console.log(" In Duplicate_Partner_Document res.data.status = " + res.data.status);
+ //console.log(" In Duplicate_Partner_Document res.data.message r_class = " + res.data.message);
+ setLoading(false);
if (String(res.data.status) === String("true")) {
setDuplicate_Partner_Document_api("true");
setDuplicate_Partner_Document_result(res.data.message);
@@ -1058,7 +1083,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
-
+ setLoading(false);
console.log('UpdateStagiaireData : Not good man :( Duplicate_Partner_Document = ' + error);
setDuplicate_Partner_Document_api("false");
alert(" Impossible de dupliquer le document");
@@ -1142,11 +1167,12 @@ const Config_Documents = (props) => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Partner_Document/";
-
+ setLoading(true);
axios.post(myurl, form).then(res => {
//console.log(" In Update_one_Partner_Document res.data.status = " + res.data.status);
//console.log(" In Update_one_Partner_Document res.data.message r_class = " + res.data.message);
+ setLoading(false);
if (String(res.data.status) === String("true")) {
setUpdate_one_Partner_Document_api("true");
setUpdate_one_Partner_Document_result(res.data.message);
@@ -1168,7 +1194,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
-
+ setLoading(false);
console.log('UpdateStagiaireData : Not good man :( Update_one_Partner_Document = ' + error);
setUpdate_one_Partner_Document_api("false");
alert(" Impossible de mettre à jour le document");
@@ -1188,9 +1214,9 @@ const Config_Documents = (props) => {
form.append("token", stored_cookie);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Partner_Document_no_filter/";
-
+ setLoading(true);
axios.post(myurl, form).then(res => {
-
+ setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Partner_Document_No_filter res.data.status = " + res.data.status);
//console.log(" In Getall_Partner_Document_No_filter res.data.message r_class = " + res.data.message);
@@ -1205,6 +1231,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
+ setLoading(false);
console.warn('Not good man :( Getall_Partner_Document_No_filter = ', error);
setGetall_Partner_Document_No_filter_api("false");
alert(" Impossible de recuperer la liste des documents");
@@ -1228,10 +1255,11 @@ const Config_Documents = (props) => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Personnalisable_Fields_By_courrier_template_id/";
-
+ setLoading(true);
axios.post(myurl, form).then(res => {
+ setLoading(false);
if (String(res.data.status) === String("true")) {
console.log(" In Get_Given_Personnalisable_Fields_From_template_ID res.data.status = " + res.data.status);
console.log(" In Get_Given_Personnalisable_Fields_From_template_ID res.data.message r_class = " + res.data.message);
@@ -1247,6 +1275,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
+ setLoading(false);
console.warn('Not good man :( Get_Given_Personnalisable_Fields_From_template_ID = ', error);
setGet_Given_Personnalisable_Fields_From_template_ID_api("false");
alert(" Impossible de recuperer la liste des collection et champs personnalisables de l'objet");
@@ -1277,8 +1306,10 @@ const Config_Documents = (props) => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Default_Partner_Document/";
+ setLoading(true);
axios.post(myurl, form).then(res => {
+ setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Get_List_Personnalisable_Default_Document res.data.status = " + res.data.status);
//console.log(" In Get_List_Personnalisable_Default_Document res.data.message r_class = " + res.data.message);
@@ -1294,6 +1325,7 @@ const Config_Documents = (props) => {
}
}).catch((error) => {
+ setLoading(false);
console.warn('Not good man :( Get_List_Personnalisable_Default_Document = ', error);
setGet_List_Personnalisable_Default_Document_api("false");
alert(" Impossible de recuperer la liste des documents par default");
@@ -1360,8 +1392,274 @@ const Config_Documents = (props) => {
const [duplicate_doc_type, setduplicate_doc_type] = React.useState();
+ // Gestion des pièces jointes
+
+
+ const [Record_All_PJ_api, setRecord_All_PJ_api] = useState();
+ const [Record_All_PJ_result, setRecord_All_PJ_result] = useState();
+ const [Record_All_PJ_message, setRecord_All_PJ_message] = useState();
+
+ function Record_All_PJ() {
+
+ if (!p_detail_one_file_to_download_type_name) {
+ alert(" Vous devez donner un nom à la pièce jointe");
+ return;
+ }
+
+ if (file_1_name && file_1_name.name) {
+ //console.log(" ### Traitement de : ", file_1_name.name);
+
+ const formData = new FormData();
+ formData.append('File', file_1_name);
+ //formData.append('token', 'K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA');
+ const stored_cookie = getCookie('tokenmysypart');
+
+ formData.append("token", stored_cookie);
+ formData.append("file_business_object", p_detail_one_file_to_download_type_name);
+ formData.append("file_name", file_1_name.name);
+ formData.append("status", "0");
+ formData.append("object_owner_collection", "courrier_template");
+ formData.append("object_owner_id", selected_id);
+
+ //formData.append("class_internal_url", internal_url);
+ //console.log("token = " + stored_cookie);
+
+ setLoading(true);
+ fetch(
+ process.env.REACT_APP_API_URL + "myclass/api/Store_User_Downloaded_File/",
+ {
+ method: 'POST',
+ body: formData,
+ }
+ )
+ .then((response) => response.json())
+ .then((result) => {
+
+ setLoading(false);
+ //console.log(" ## result['status'] = ", result['status'])
+ if (String(result['status']) === String("true")) {
+ //console.log('Success:', result['message']);
+ setRecord_All_PJ_result(result['message']);
+ setRecord_All_PJ_api("true");
+
+ Get_List_Of_All_PJ(selected_id);
+ setfile_1_name();
+ setp_detail_one_file_to_download_type_name();
+ //GetCurrentClass_trainingsession();
+ alert(" La pièce jointe " + file_1_name.name + " a été bien enregistrée")
+
+ }
+ else {
+ setRecord_All_PJ_message(result['message']);
+ setRecord_All_PJ_api("false");
+ alert(result['message']);
+ }
+
+ })
+ .catch((error) => {
+ setLoading(false);
+ console.error(' Record_All_PJ Error:', error);
+ setRecord_All_PJ_api("false");
+ alert(" Impossible d'ajouter la pièce jointe")
+ });
+
+ }
+
+
+
+ }
+
+
+ const [Delete_one_attached_document_api, setDelete_one_attached_document_api] = useState();
+ const [Delete_one_attached_document_result, setDelete_one_attached_document_result] = useState();
+ const [Delete_one_attached_document_message, setDelete_one_attached_document_message] = useState();
+
+ const Delete_one_attached_document = (event) => {
+ const stored_cookie = getCookie('tokenmysypart');
+
+ var formData = new FormData();
+ var nom_fiche_detaillee = "Fiche_Detaillee.pdf";
+ var file_name = event.target.id;
+
+
+ formData.append("token", stored_cookie);
+ formData.append("file_name", file_name);
+
+ var url = process.env.REACT_APP_API_URL + "myclass/api/Delete_Stored_Downloaded_File/";
+
+ setLoading(true);
+ fetch(
+ process.env.REACT_APP_API_URL + "myclass/api/Delete_Stored_Downloaded_File/",
+ {
+ method: 'POST',
+ body: formData,
+ }
+ )
+ .then((response) => response.json())
+ .then((result) => {
+ setLoading(false);
+ //console.log(" ## result['status'] = ", result['status'])
+ if (String(result['status']) === String("true")) {
+ //console.log('Success:', result['message']);
+ setDelete_one_attached_document_result(result['message']);
+ setDelete_one_attached_document_api("true");
+ Get_List_Of_All_PJ(selected_id);
+ alert(result['message'])
+
+ }
+ else {
+ setDelete_one_attached_document_message(result['message']);
+ setDelete_one_attached_document_api("false");
+ alert(result['message'])
+ }
+
+ })
+ .catch((error) => {
+ setLoading(false);
+ console.error(' Record_All_PJ Error:', error);
+ setDelete_one_attached_document_api("false");
+ alert(" Impossible de supprimer le document")
+
+ });
+
+
+ }
+
+ const [Get_List_Of_All_PJ_api, setGet_List_Of_All_PJ_api] = useState();
+ const [Get_List_Of_All_PJ_result, setGet_List_Of_All_PJ_result] = useState([]);
+ const [Get_List_Of_All_PJ_message, setGet_List_Of_All_PJ_message] = useState();
+
+ function Get_List_Of_All_PJ(local_employee_id) {
+
+ const formData = new FormData();
+
+ //formData.append('token', 'K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA');
+ const stored_cookie = getCookie('tokenmysypart');
+
+ formData.append("token", stored_cookie);
+ formData.append("object_owner_collection", "courrier_template");
+ formData.append("object_owner_id", local_employee_id);
+
+
+ //formData.append("class_internal_url", internal_url);
+ //console.log("token = " + stored_cookie);
+ setLoading(true);
+
+ fetch(
+ process.env.REACT_APP_API_URL + "myclass/api/Get_List_object_owner_collection_Stored_Files/",
+ {
+ method: 'POST',
+ body: formData,
+ }
+ )
+ .then((response) => response.json())
+ .then((result) => {
+ setLoading(false);
+
+ //console.log(" ## result['status'] = ", result['status'])
+ if (String(result['status']) === String("true")) {
+ //console.log('Message :', result['message']);
+ setGet_List_Of_All_PJ_result(result['message']);
+ setGet_List_Of_All_PJ_api("true");
+
+ }
+ else {
+ setGet_List_Of_All_PJ_message(result['message']);
+ setGet_List_Of_All_PJ_api("false");
+ }
+
+ })
+ .catch((error) => {
+ setLoading(false);
+ console.error(' Get_List_Of_All_PJ Error:', error);
+ setGet_List_Of_All_PJ_api("false");
+ });
+
+ }
+
+ function Delete_file_1_name() {
+ setfile_1_name();
+ }
+
+ function Delete_file_2_name() {
+ setfile_2_name();
+ }
+
+ const [p_detail_one_file_to_download_type_name, setp_detail_one_file_to_download_type_name] = useState();
+ const [isLoading, setLoading] = useState();
+ const [file_1_name, setfile_1_name] = useState();
+ const [file_2_name, setfile_2_name] = useState();
+
+ const [sessions_file_change_1_api, setsessions_file_change_1_api] = useState();
+ const [sessions_file_change_1_result, setsessions_file_change_1_result] = useState();
+ const [sessions_file_change_1_message, setsessions_file_change_1_message] = useState();
+ const sessions_file_change_1 = event => {
+
+ const fileUploaded = event.target.files[0];
+ let file_size = event.target.files[0].size;
+ let file_type = event.target.files[0].type;
+
+ setfile_1_name(event.target.files[0]);
+
+
+ console.log("file_size = ", file_size, " file_type = ", file_type);
+ if (file_size > 10000000) {
+ alert("Le fichier ne doit pas depasser un 1 Méga octets");
+ console.log("Le fichier ne doit pas depasser un 1 Méga octets");
+ return;
+ }
+
+
+ const formData = new FormData();
+ formData.append('File', fileUploaded);
+ //formData.append('token', 'K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA');
+ const stored_cookie = getCookie('tokenmysypart');
+
+
+ return;
+
+ };
+
+ const [Download_one_attached_document_api, setDownload_one_attached_document_api] = useState();
+ const [Download_one_attached_document_result, setDownload_one_attached_document_result] = useState();
+ const [Download_one_attached_document_message, setDownload_one_attached_document_message] = useState();
+
+ const Download_one_attached_document = (event) => {
+ const stored_cookie = getCookie('tokenmysypart');
+
+
+ var nom_fiche_detaillee = "Fiche_Detaillee.pdf";
+ var token = stored_cookie;
+ var file_name = event.target.id;
+
+
+ var url = process.env.REACT_APP_API_URL + "myclass/api/Get_Stored_Downloaded_File/" + token + "/" + file_name;
+
+ setLoading(true);
+ axios.get(url, { responseType: 'blob', },)
+ .then((res) => {
+ setLoading(false);
+ fileDownload(res.data, nom_fiche_detaillee);
+ setDownload_one_attached_document_api("true");
+ }).catch((error) => {
+ setLoading(false);
+ console.error('Error:', error);
+ setDownload_one_attached_document_api("false");
+
+ });
+ }
+
+
+ // end gestion pièces jointes
+
+
+
return (
-
+
@@ -1964,11 +2262,160 @@ const Config_Documents = (props) => {
/>
+ {p_detail_type_doc && String(p_detail_type_doc).toLocaleLowerCase() === "email" &&
+ Pièces Jointe
+
+
+
+
+
+
+ Pièces jointes
+
+
+
+
+
+
+
+
+ {file_1_name && file_1_name.name &&
+
}
+
+ {Record_All_PJ_api && String(Record_All_PJ_api) === "true" &&
Pièce jointe enregistrée
}
+
+ {Record_All_PJ_api && String(Record_All_PJ_api) === "false" &&
{Record_All_PJ_message}
}
+
+
+
+
+
+ {file_1_name && file_1_name.name &&
+
+
+ } className="bton_enreg">ENREGISTRER LA PIECE
+
+
+
+
}
+
+ {Get_List_Of_All_PJ_result &&
+
+ Liste des pièces jointes
+
+ {Get_List_Of_All_PJ_result && Get_List_Of_All_PJ_result.map((val) => (
+
+
+
Supprimer
+
+
+ }
+ modal
+ nested
+ position="center center"
+ >
+ {close => (
+
+
+
MySy Information
+
+ {' '}
+
+ En confirmant cette opération, la pièce jointe sera définitivement supprimée.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )}
+
+
+
+ ))}
+
+
+
}
+
+
+
+
+
+
}
{String(partner_document_data_edit_mode) === "1" &&
-
Choisir un champ
+
Choisir un champ
{
{String(display_detail_document) !== "1" && String(add_one_document) === "1" &&
Personnaliser un nouveau document
-
Choisir le document à ajouter
+
Choisir le document à ajouter
{
-
+
Choisir un champ
{
const history = useHistory();
@@ -3420,6 +3418,8 @@ const DisplayPartnerStagiaires = (props) => {
}
+ const [tab_convention_pieces_jointes_result, settab_convention_pieces_jointes_result] = useState([]);
+
const [file_1_name, setfile_1_name] = useState();
const [sessions_file_change_1_api, setsessions_file_change_1_api] = useState();
@@ -3434,7 +3434,7 @@ const DisplayPartnerStagiaires = (props) => {
setfile_1_name(event.target.files[0]);
- console.log("file_size = ", file_size, " file_type = ", file_type);
+ console.log("file_size 2 = ", file_size, " file_type = ", file_type);
if (file_size > 10000000) {
alert("Le fichier ne doit pas depasser un 1 Méga octets");
console.log("Le fichier ne doit pas depasser un 1 Méga octets");
@@ -3453,37 +3453,61 @@ const DisplayPartnerStagiaires = (props) => {
return;
- fetch(
- process.env.REACT_APP_API_URL + "myclass/api/Add_Update_SessionFormation_mass/",
- {
- method: 'POST',
- body: formData,
- }
- )
- .then((response) => response.json())
- .then((result) => {
- //console.log(" ## result['status'] = ", result['status'])
- if (String(result['status']) === String("true")) {
- //console.log('Success:', result['message']);
- setsessions_file_change_1_result(result['message']);
- setsessions_file_change_1_api("true");
- //GetCurrentClass_trainingsession();
-
- }
- else {
- setsessions_file_change_1_message(result['message']);
- setsessions_file_change_1_api("false");
- }
-
- })
- .catch((error) => {
- console.error('Error:', error);
- setsessions_file_change_1_api("false");
- });
};
+
+ const [sessions_file_change_1_convention_api, setsessions_file_change_1_convention_api] = useState();
+ const [sessions_file_change_1_convention_result, setsessions_file_change_1_convention_result] = useState();
+ const [sessions_file_change_1_convention_message, setsessions_file_change_1_convention_message] = useState();
+ const sessions_file_change_1_convention = event => {
+
+
+ const fileUploaded = event.target.files[0];
+ let file_size = event.target.files[0].size;
+ let file_type = event.target.files[0].type;
+
+
+ if (file_type !== "application/pdf") {
+ alert("Le fichier n'est pas de type PDF");
+ return;
+ }
+
+
+
+ if (file_size > 10000000) {
+ alert("Le fichier ne doit pas depasser un 1 Méga octets");
+ console.log("Le fichier ne doit pas depasser un 1 Méga octets");
+ return;
+ }
+
+ //var new_node = {'name':event.target.files[0].name, 'type':event.target.files[0].type}
+
+
+ var new_tmp = [];
+
+ if (tab_convention_pieces_jointes_result && tab_convention_pieces_jointes_result.length > 0) {
+
+ tab_convention_pieces_jointes_result.map((x) => {
+ new_tmp.push(x);
+
+ });
+
+ }
+
+ new_tmp.push(event.target.files[0])
+
+ settab_convention_pieces_jointes_result(new_tmp);
+
+ console.log( " tab_convention_pieces_jointes_result = ", tab_convention_pieces_jointes_result)
+
+
+ return;
+
+
+ };
+
const [file_2_name, setfile_2_name] = useState();
const [sessions_file_change_2_api, setsessions_file_change_2_api] = useState();
@@ -3498,7 +3522,7 @@ const DisplayPartnerStagiaires = (props) => {
setfile_2_name(event.target.files[0]);
- console.log("file_size = ", file_size, " file_type = ", file_type);
+ console.log("file_size 1 = ", file_size, " file_type = ", file_type);
if (file_size > 10000000) {
alert("Le fichier ne doit pas depasser un 1 Méga octets");
console.log("Le fichier ne doit pas depasser un 1 Méga octets");
@@ -3517,34 +3541,7 @@ const DisplayPartnerStagiaires = (props) => {
return;
- fetch(
- process.env.REACT_APP_API_URL + "myclass/api/Add_Update_SessionFormation_mass/",
- {
- method: 'POST',
- body: formData,
- }
- )
- .then((response) => response.json())
- .then((result) => {
- //console.log(" ## result['status'] = ", result['status'])
- if (String(result['status']) === String("true")) {
- //console.log('Success:', result['message']);
- setsessions_file_change_2_result(result['message']);
- setsessions_file_change_2_api("true");
- //GetCurrentClass_trainingsession();
-
- }
- else {
- setsessions_file_change_2_message(result['message']);
- setsessions_file_change_2_api("false");
- }
-
- })
- .catch((error) => {
- console.error('Error:', error);
- setsessions_file_change_2_api("false");
- });
};
const [Record_All_PJ_api, setRecord_All_PJ_api] = useState();
@@ -3559,7 +3556,7 @@ const DisplayPartnerStagiaires = (props) => {
}
if (file_1_name && file_1_name.name) {
- console.log(" ### Traitement de : ", file_1_name.name);
+ //console.log(" ### Traitement de : ", file_1_name.name);
const formData = new FormData();
formData.append('File', file_1_name);
@@ -3604,6 +3601,7 @@ const DisplayPartnerStagiaires = (props) => {
else {
setRecord_All_PJ_message(result['message']);
setRecord_All_PJ_api("false");
+ alert(result['message']);
}
})
@@ -3611,13 +3609,11 @@ const DisplayPartnerStagiaires = (props) => {
setLoading(false);
console.error(' Record_All_PJ Error:', error);
setRecord_All_PJ_api("false");
+ alert(" Impossible d'ajouter la pièce jointe")
});
}
- if (file_2_name && file_2_name.name) {
- console.log(" ### Traitement de : ", file_2_name.name);
- }
}
@@ -3662,6 +3658,7 @@ const DisplayPartnerStagiaires = (props) => {
else {
setDelete_one_attached_document_message(result['message']);
setDelete_one_attached_document_api("false");
+ alert(result['message'])
}
})
@@ -3676,6 +3673,12 @@ const DisplayPartnerStagiaires = (props) => {
}
+
+ const Delete_one_attached_document_convention = (event) => {
+ var file_name = event.target.id;
+
+ }
+
const [Get_List_Of_All_PJ_api, setGet_List_Of_All_PJ_api] = useState();
const [Get_List_Of_All_PJ_result, setGet_List_Of_All_PJ_result] = useState();
const [Get_List_Of_All_PJ_message, setGet_List_Of_All_PJ_message] = useState();
@@ -4200,6 +4203,7 @@ const DisplayPartnerStagiaires = (props) => {
setactionmass_ftion_val();
setSelectionModel([]);
+ settab_convention_pieces_jointes_result([])
};
@@ -4261,6 +4265,15 @@ const DisplayPartnerStagiaires = (props) => {
form.append("email_test", selected_convention_email_test);
form.append("email_production", selected_convention_email_destinataire_prod);
+ // pièce jointe
+ form.append("file_business_object", "");
+ var list_files = new FormData();
+
+ for (let i=0; i< tab_convention_pieces_jointes_result.length; i++){
+ form.append('File', tab_convention_pieces_jointes_result[i]);
+
+ }
+ //form.append("File", list_files);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Sent_Convention_Stagiaire_By_Email/";
@@ -4327,7 +4340,7 @@ const DisplayPartnerStagiaires = (props) => {
var local_selected_id = liste_selected_inscription_id[i];
-
+
var url = process.env.REACT_APP_API_URL + "myclass/api/Download_Convention_Stagiaire_PDF/" + stored_cookie + "/" + local_selected_id + "/" + selected_convention_id;
@@ -4368,32 +4381,53 @@ const DisplayPartnerStagiaires = (props) => {
form.append("email_test", selected_convention_email_test);
form.append("email_production", "");
+ // pièce jointe
+ form.append("file_business_object", "");
+ var list_files = new FormData();
+ for (let i=0; i< tab_convention_pieces_jointes_result.length; i++){
+ form.append('File', tab_convention_pieces_jointes_result[i]);
+
+ }
+ //form.append("File", list_files);
+
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Sent_Convention_Stagiaire_By_Email/";
- axios.post(myurl, form).then(res => {
-
- if (String(res.data.status) === String("true")) {
- //console.log(" In Send_Stagiaire_Conventions_By_Email_Test res.data.status = " + res.data.status);
- //console.log(" In Send_Stagiaire_Conventions_By_Email_Test res.data.message r_class = " + res.data.message);
- setSend_Stagiaire_Conventions_By_Email_Test_api("true");
- setSend_Stagiaire_Conventions_By_Email_Test_result(res.data.message);
-
- alert(res.data.message);
- Dialog_convention_handleClose_buton()
+ setLoading(true);
+ fetch(
+ process.env.REACT_APP_API_URL + "myclass/api/Sent_Convention_Stagiaire_By_Email/",
+ {
+ method: 'POST',
+ body: form,
}
- else {
+ )
+ .then((response) => response.json())
+ .then((result) => {
+
+ setLoading(false);
+ console.log(" In Send_Stagiaire_Conventions_By_Email_Test res.data.status = " + result['status']);
+ console.log(" In Send_Stagiaire_Conventions_By_Email_Test res.data.message r_class = " + result['message']);
+ if (String(result['status']) === String("true")) {
+
+ setSend_Stagiaire_Conventions_By_Email_Test_api("true");
+ setSend_Stagiaire_Conventions_By_Email_Test_result(result['message']);
+
+ alert(result['message']);
+ Dialog_convention_handleClose_buton()
+ }
+ else {
+ setSend_Stagiaire_Conventions_By_Email_Test_api("false");
+ setSend_Stagiaire_Conventions_By_Email_Test_message(result['message']);
+ alert(result['message']);
+ }
+
+ }).catch((error) => {
+ setLoading(false);
+ console.warn('Not good man :( Send_Stagiaire_Conventions_By_Email_Test = ', error);
setSend_Stagiaire_Conventions_By_Email_Test_api("false");
- setSend_Stagiaire_Conventions_By_Email_Test_message(res.data.message);
- alert(res.data.message);
- }
-
- }).catch((error) => {
- console.warn('Not good man :( Send_Stagiaire_Conventions_By_Email_Test = ', error);
- setSend_Stagiaire_Conventions_By_Email_Test_api("false");
- alert("Impossible d'envoyer la convention par email");
- //setmyApimyApiMessage("")
- })
+ alert("Impossible d'envoyer l'email de test ");
+ //setmyApimyApiMessage("")
+ })
}
@@ -4488,6 +4522,31 @@ const DisplayPartnerStagiaires = (props) => {
})
}
+
+ const [Get_Convention_List_Of_All_PJ_result, setGet_Convention_List_Of_All_PJ_result] = useState([]);
+
+ function Delete_Convention_Attached_Doc(event) {
+
+ var doc_to_del_name = event.target.id;
+ const myArray = tab_convention_pieces_jointes_result;
+
+
+
+ let new_myArray = myArray.filter(file => file.name !== String(doc_to_del_name) );
+
+ console.log( " new_myArray = ", new_myArray);
+
+
+ var new_tab = []
+ for (let i = 0; i < new_myArray.length; i++){
+ new_tab.push(new_myArray[i]);
+ }
+
+ settab_convention_pieces_jointes_result(new_tab);
+
+
+ }
+
return (
{isLoading &&
@@ -4827,6 +4886,7 @@ const DisplayPartnerStagiaires = (props) => {
setselected_convention_id(e.target.value);
var result2 = Get_List_Stagiaire_Conventions_result.filter((local_mymanager) => JSON.parse(local_mymanager)._id === String(e.target.value))
setselected_convention_type(JSON.parse(result2).type_doc);
+ settab_convention_pieces_jointes_result([]);
}
}
@@ -4979,9 +5039,71 @@ const DisplayPartnerStagiaires = (props) => {
}
-
- PIECES JOINTES EEEEE xxxx
-
+ {String(selected_convention_type) === "email" &&
+
+
+
+
+
+
+
+ Pièces jointes Convention a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {tab_convention_pieces_jointes_result &&
+
+
+ Liste des pièces jointes
+ {
+ {tab_convention_pieces_jointes_result && tab_convention_pieces_jointes_result.map((val) => (
+
+
+
+
+
+ ))}
+
}
+
+
}
+
+
+
+
+
}
@@ -5000,7 +5122,7 @@ const DisplayPartnerStagiaires = (props) => {
Dialog_convention_handleClose_buton();
}
}}
- className="bton_enreg_dialog">Envoyer}
+ className="bton_enreg_dialog">Envoyer mail}
{String(selected_convention_type) === "pdf" &&