diff --git a/public/sample/template_import_stagiaires.csv b/public/sample/template_import_stagiaires.csv index 95419a2..3944826 100644 --- a/public/sample/template_import_stagiaires.csv +++ b/public/sample/template_import_stagiaires.csv @@ -1,3 +1,4 @@ -prenom;nom;employeur;telephone;email;modefinancement;opco;status;prix -Cherif;BALDE;employeur 1;10101;billardman1@yahoo.fr;modefinancement;opco;0;120 -Sekou;Cherif;employeur 2;10101;billardman01@hotmail.com;modefinancement;opco;0;120 +formation_code_externe;code_session;client_rattachement_email;client_rattachement_nom;prenom;nom;employeur;telephone;email;adresse;code_postal;ville;pays;modefinancement;opco;status;prix +MYSY_Test_AP;AR01;;;part 2;part nom2;employeur 2;10101;line1@mysy.fr;adresse01;code_postal01;ville01;pays01;modefinancement;opco;0;150 +MYSY_Test_AP;AR01;;;part 3;part nom3;employeur 3;10101;line2@mysy.fr;adresse02;code_postal02;ville02;pays02;modefinancement;;1;180 +MYSY_Test_AP;AR01;;;part 4;part nom4;employeur 4;10101;line3@mysy.fr;adresse03;code_postal03;ville03;pays03;modefinancement;;0;110 diff --git a/public/sample/template_import_stagiaires_many_sessions.csv b/public/sample/template_import_stagiaires_many_sessions.csv new file mode 100644 index 0000000..a85c53b --- /dev/null +++ b/public/sample/template_import_stagiaires_many_sessions.csv @@ -0,0 +1,4 @@ +formation_code_externe;code_session;client_rattachement_email;client_rattachement_nom;prenom;nom;employeur;telephone;email;adresse;code_postal;ville;pays;modefinancement;opco;status;prix +MYSY_Test_AP;AP01;;;part 2;part nom2;employeur 2;10101;line1@mysy.fr;adresse01;code_postal01;ville01;pays01;modefinancement;opco;0;150 +MYSY_Test_AR;AR02;;;part 3;part nom3;employeur 3;10101;line2@mysy.fr;adresse02;code_postal02;ville02;pays02;modefinancement;;1;180 +MYSY_Test_AP;AP02;;;part 4;part nom4;employeur 4;10101;line3@mysy.fr;adresse03;code_postal03;ville03;pays03;modefinancement;;0;110 diff --git a/src/components/Config_Document.js b/src/components/Config_Document.js index 05f852a..bbbcb57 100644 --- a/src/components/Config_Document.js +++ b/src/components/Config_Document.js @@ -49,6 +49,14 @@ const Config_Documents = (props) => { const [field_programme, setfield_programme] = useState(""); const [editor_tochange, seteditor_tochange] = useState(""); + + const one_editorRef_programme = useRef(null); + const [one_editorRef_programme_limite, setone_editorRef_programme_limite] = useState(1000); + const [one_field_programme, setone_field_programme] = useState(""); + const [one_editor_tochange, setone_editor_tochange] = useState(""); + + + var date_today_90j = new Date(); date_today_90j.setDate(date_today_90j.getDate() + 90); @@ -185,6 +193,8 @@ const Config_Documents = (props) => { const [selected_id, setselected_id] = useState(); + const [selected_template_ref_interne, setselected_template_ref_interne] = useState(); + function handleClick_display_partner_document(selected_row_id) { setdisplay_detail_document("1"); @@ -196,7 +206,9 @@ const Config_Documents = (props) => { var document_id = line._id; setselected_id(document_id); - //console.log(" ### document_id = ", document_id); + setselected_template_ref_interne(line.ref_interne); + + console.log(" ### line.ref_interne = ", line.ref_interne); Get_Partner_Document_Data(document_id); if (myRef.current) { @@ -222,6 +234,14 @@ const Config_Documents = (props) => { const [p_detail_type_doc, setp_detail_type_doc] = useState(""); + const [p_one_detail_cible, setp_one_detail_cible] = useState(""); + const [p_one_detail_contenu_doc, setp_one_detail_contenu_doc] = useState(""); + const [p_one_detail_nom, setp_one_detail_nom] = useState(""); + const [p_one_detail_ref_interne, setp_one_detail_ref_interne] = useState(""); + const [p_one_detail_sujet, setp_one_detail_sujet] = useState(""); + const [p_one_detail_type_doc, setp_one_detail_type_doc] = useState(""); + + function clear_detail_fields() { setp_detail_cible(""); setp_detail_contenu_doc(); @@ -229,9 +249,20 @@ const Config_Documents = (props) => { setp_detail_ref_interne(""); setp_detail_sujet(""); setp_detail_type_doc(""); + setfield_programme(); } + function clear_one_detail_fields() { + setp_one_detail_cible(""); + setp_one_detail_contenu_doc(); + setp_one_detail_nom(""); + setp_one_detail_ref_interne(""); + setp_one_detail_sujet(""); + setp_one_detail_type_doc(""); + setone_field_programme(); + } + const [display_detail_document, setdisplay_detail_document] = useState(""); @@ -266,16 +297,19 @@ const Config_Documents = (props) => { if (mylocal_document.nom) setp_detail_nom(mylocal_document.nom); - document.getElementsByName("document_type")[0].value = ""; + if (mylocal_document.type_doc) setp_detail_type_doc(mylocal_document.type_doc); - document.getElementsByName("document_ref_interne")[0].value = ""; + if (mylocal_document.cible) + setp_detail_cible(mylocal_document.cible); + + if (mylocal_document.ref_interne) { setp_detail_ref_interne(mylocal_document.ref_interne); } - document.getElementsByName("document_sujet")[0].value = ""; + if (mylocal_document.sujet) { setp_detail_sujet(mylocal_document.sujet); } @@ -354,6 +388,13 @@ const Config_Documents = (props) => { if (mylocal_document.type_doc) setp_detail_type_doc(mylocal_document.type_doc); + + + if (mylocal_document.cible) + setp_detail_cible(mylocal_document.cible); + + + document.getElementsByName("document_ref_interne")[0].value = ""; if (mylocal_document.ref_interne) { setp_detail_ref_interne(mylocal_document.ref_interne); @@ -402,6 +443,96 @@ const Config_Documents = (props) => { } + const [Get_Default_Original_Partner_Document_Data_By_id_api, setGet_Default_Original_Partner_Document_Data_By_id_api] = useState(); + const [Get_Default_Original_Partner_Document_Data_By_id_message, setGet_Default_Original_Partner_Document_Data_By_id_message] = useState(); + const [Get_Default_Original_Partner_Document_Data_By_id_result, setGet_Default_Original_Partner_Document_Data_By_id_result] = useState(); + function Get_Default_Original_Partner_Document_Data_By_id(local_id) { + setpartner_document_data_changed(""); + setpartner_document_data_edit_mode(""); + + clear_detail_fields(); + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", local_id); + + //console.log(" ## form = ", form); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_DFAULT_Partner_Document/"; + + 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); + setGet_Default_Original_Partner_Document_Data_By_id_api("true"); + setGet_Default_Original_Partner_Document_Data_By_id_result(res.data.message); + + if (res.data.message.length > 0) { + var mylocal_document = JSON.parse(res.data.message); + + if (mylocal_document.nom) + setp_one_detail_nom(mylocal_document.nom); + + + if (mylocal_document.type_doc) + setp_one_detail_type_doc(mylocal_document.type_doc); + + + if (mylocal_document.cible) + setp_one_detail_cible(mylocal_document.cible); + + + + if (mylocal_document.ref_interne) { + setp_one_detail_ref_interne(mylocal_document.ref_interne); + } + + + if (mylocal_document.sujet) { + setp_one_detail_sujet(mylocal_document.sujet); + } + + setfield_programme(""); + if (mylocal_document.contenu_doc) { + setp_one_detail_contenu_doc(String(mylocal_document.contenu_doc)); + setone_field_programme(String(mylocal_document.contenu_doc)); + } + + + if (myRef.current) { + myRef.current.scrollIntoView({ behavior: "smooth" }); + } + + + } else { + alert(" Aucun document recuperé"); + } + + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + + else { + setGet_Default_Original_Partner_Document_Data_By_id_api("false"); + setGet_Default_Original_Partner_Document_Data_By_id_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + 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"); + //setmyApimyApiMessage("") + }) + } + + + function disable_Partner_DocumentFields() { setpartner_document_data_edit_mode("0"); @@ -433,6 +564,12 @@ const Config_Documents = (props) => { } + + function Edit_Document_Data_Fields() { + Enable_Partner_DocumentFields(); + Get_Given_Personnalisable_Collection_and_Fields(selected_template_ref_interne); + } + function Enable_Partner_DocumentFields() { setpartner_document_data_edit_mode("1"); @@ -469,24 +606,23 @@ const Config_Documents = (props) => { const [partner_document_data_edit_mode, setpartner_document_data_edit_mode] = useState(""); - - const [p_champ_table, setp_champ_table] = useState(); const [p_collection, setp_collection] = useState(); - - function add_selected_fields() { - - if (!p_collection || !p_champ_table) { - alert(" Champ invalide "); - return; - } - var local_field = "{{" + String(p_collection) + "." + String(p_champ_table) + "}}"; - editorRef_programme.current.insertContent(" " + String(local_field) + " "); + if (String(p_champ_table).length > 4) + editorRef_programme.current.insertContent(String(p_champ_table)); + else + alert(" Le champ est invalide"); } + function add_one_selected_fields() { + if (String(p_champ_table).length > 4) + one_editorRef_programme.current.insertContent(String(p_champ_table)); + else + alert(" Le champ est invalide"); + } const [Get_Personnalisable_Collection_and_Fields_api, setGet_Personnalisable_Collection_and_Fields_api] = useState(); @@ -501,15 +637,15 @@ const Config_Documents = (props) => { form.append("token", stored_cookie); - var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Personnalisable_Collection_Fields/"; + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_All_Personnalisable_Collection_Fields/"; axios.post(myurl, form).then(res => { 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); @@ -566,7 +702,7 @@ const Config_Documents = (props) => { useEffect(() => { Get_Personnalisable_Collections(); - Get_Personnalisable_Collection_and_Fields(); + //Get_Personnalisable_Collection_and_Fields(); Getall_Partner_Document_No_filter(); myRef_head.current.scrollIntoView({ behavior: "smooth" }); @@ -586,24 +722,42 @@ const Config_Documents = (props) => { const stored_cookie = getCookie('tokenmysypart'); form.append("token", stored_cookie); - if (p_detail_ref_interne) - form.append("ref_interne", p_detail_ref_interne); + if (p_one_detail_ref_interne) + form.append("ref_interne", p_one_detail_ref_interne); else { alert(" Vous devez definir une reference interne"); return; } - if (p_detail_type_doc) - form.append("type_doc", p_detail_type_doc); + if (p_one_detail_type_doc) + form.append("type_doc", p_one_detail_type_doc); else { alert(" Vous devez definir un type de document"); return; } - if (p_detail_sujet) - form.append("sujet", p_detail_sujet); + if (p_one_detail_cible) + form.append("cible", p_one_detail_cible); + else { + form.append("cible", ""); + return; + } + + + + + if (p_one_detail_nom) + form.append("nom", p_one_detail_nom); + else { + alert(" Vous devez definir un nom de document"); + return; + } + + + if (p_one_detail_sujet) + form.append("sujet", p_one_detail_sujet); else { alert(" Vous devez definir un sujet"); return; @@ -611,8 +765,12 @@ const Config_Documents = (props) => { - if (editorRef_programme) { - var programme = editorRef_programme.current.getContent(); + if (one_editorRef_programme) { + var programme = one_editorRef_programme.current.getContent(); + programme = programme.replace('<', '<'); + programme = programme.replace('>', '>'); + programme = programme.replace('≤', '<='); + programme = programme.replace('≥', '>='); form.append("contenu_doc", programme); } else { @@ -633,24 +791,69 @@ const Config_Documents = (props) => { setAdd_one_Partner_Document_result(res.data.message); alert(res.data.message); - + clear_one_detail_fields(); + setadd_one_document(); + setdisplay_add_one_document(); + Getall_Partner_Document_No_filter(); } else { setAdd_one_Partner_Document_api("false"); setAdd_one_Partner_Document_message(res.data.message); alert(res.data.message); + } }).catch((error) => { console.log('UpdateStagiaireData : Not good man :( Add_one_Partner_Document = ' + error); setAdd_one_Partner_Document_api("false"); - alert(" Impossible d'ajouter le document"); + alert(" Impossible d'ajouter le nouveau document"); }) } + const [Get_Given_Personnalisable_Collection_and_Fields_api, setGet_Given_Personnalisable_Collection_and_Fields_api] = useState(); + const [Get_Given_Personnalisable_Collection_and_Fields_message, setGet_Given_Personnalisable_Collection_and_Fields_message] = useState(); + const [Get_Given_Personnalisable_Collection_and_Fields_result, setGet_Given_Personnalisable_Collection_and_Fields_result] = useState(); + function Get_Given_Personnalisable_Collection_and_Fields(local_courrier_template_ref_interne) { + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("courrier_template_ref_interne", local_courrier_template_ref_interne); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Personnalisable_Fields_By_template_ref_interne/"; + + + axios.post(myurl, form).then(res => { + + 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); + + setGet_Given_Personnalisable_Collection_and_Fields_api("true"); + setGet_Given_Personnalisable_Collection_and_Fields_result(res.data.message); + + } + else { + setGet_Given_Personnalisable_Collection_and_Fields_api("false"); + setGet_Given_Personnalisable_Collection_and_Fields_message(res.data.message); + alert(res.data.message) + } + + }).catch((error) => { + 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"); + //setmyApimyApiMessage("") + }) + } + + const [Update_one_Partner_Document_api, setUpdate_one_Partner_Document_api] = useState(); const [Update_one_Partner_Document_message, setUpdate_one_Partner_Document_message] = useState(); const [Update_one_Partner_Document_result, setUpdate_one_Partner_Document_result] = useState(); @@ -671,6 +874,15 @@ const Config_Documents = (props) => { } + if (p_detail_cible) + form.append("cible", p_detail_cible); + else { + form.append("cible", ""); + } + + + + if (p_detail_type_doc) form.append("type_doc", p_detail_type_doc); else { @@ -679,6 +891,14 @@ const Config_Documents = (props) => { } + if (p_detail_nom) + form.append("nom", p_detail_nom); + else { + alert(" Vous devez definir un nom de document"); + return; + } + + if (p_detail_sujet) form.append("sujet", p_detail_sujet); else { @@ -781,6 +1001,48 @@ const Config_Documents = (props) => { } + + const [Get_Given_Personnalisable_Fields_From_template_ID_api, setGet_Given_Personnalisable_Fields_From_template_ID_api] = useState(); + const [Get_Given_Personnalisable_Fields_From_template_ID_message, setGet_Given_Personnalisable_Fields_From_template_ID_message] = useState(); + const [Get_Given_Personnalisable_Fields_From_template_ID_result, setGet_Given_Personnalisable_Fields_From_template_ID_result] = useState(); + function Get_Given_Personnalisable_Fields_From_template_ID(local_courrier_template_id) { + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("courrier_template_id", local_courrier_template_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Personnalisable_Fields_By_courrier_template_id/"; + + + axios.post(myurl, form).then(res => { + + 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); + + setGet_Given_Personnalisable_Fields_From_template_ID_api("true"); + setGet_Given_Personnalisable_Fields_From_template_ID_result(res.data.message); + + } + else { + setGet_Given_Personnalisable_Fields_From_template_ID_api("false"); + setGet_Given_Personnalisable_Fields_From_template_ID_message(res.data.message); + alert(res.data.message) + } + + }).catch((error) => { + 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"); + //setmyApimyApiMessage("") + }) + } + + const [display_partner_document, setdisplay_partner_document] = React.useState(); function Annule_Partner_Document_DetailFields() { @@ -792,6 +1054,77 @@ const Config_Documents = (props) => { } + const [Get_List_Personnalisable_Default_Document_api, setGet_List_Personnalisable_Default_Document_api] = useState(); + const [Get_List_Personnalisable_Default_Document_message, setGet_List_Personnalisable_Default_Document_message] = useState(); + const [Get_List_Personnalisable_Default_Document_result, setGet_List_Personnalisable_Default_Document_result] = useState(); + function Get_List_Personnalisable_Default_Document() { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Default_Partner_Document/"; + + axios.post(myurl, form).then(res => { + + 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); + + setGet_List_Personnalisable_Default_Document_api("true"); + setGet_List_Personnalisable_Default_Document_result(res.data.message); + + } + else { + setGet_List_Personnalisable_Default_Document_api("false"); + setGet_List_Personnalisable_Default_Document_message(res.data.message); + alert(res.data.message) + } + + }).catch((error) => { + 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"); + //setmyApimyApiMessage("") + }) + } + + const [selecte_defaul_doc_to_add, setselecte_defaul_doc_to_add] = React.useState(); + + const [add_one_document, setadd_one_document] = React.useState(); + function submenu_add_one_model_document() { + setSelectionModel([]); + clear_one_detail_fields(); + setpartner_document_data_edit_mode(); + setpartner_document_data_changed(); + clear_detail_fields(); + setdisplay_partner_document(); + setdisplay_detail_document(); + + Get_List_Personnalisable_Default_Document(); + setadd_one_document("1"); + + } + + const [display_add_one_document, setdisplay_add_one_document] = React.useState(); + function Get_And_Display_Selected_Document() { + setdisplay_add_one_document("1"); + console.log(" ## selecte_defaul_doc_to_add = ", selecte_defaul_doc_to_add); + setadd_one_document("1"); + setdisplay_detail_document("0"); + setselected_id(selecte_defaul_doc_to_add); + Get_Default_Original_Partner_Document_Data_By_id(selecte_defaul_doc_to_add); + Get_Given_Personnalisable_Fields_From_template_ID(selecte_defaul_doc_to_add); + } + + + function Annule_Add_One_New_Doc() { + clear_one_detail_fields(); + setadd_one_document(); + setdisplay_add_one_document(); + + } + return (