From 208fbd11cd5ebffa450147ee9c9a11b3060b1453 Mon Sep 17 00:00:00 2001 From: cherif Date: Thu, 31 Aug 2023 13:09:45 +0200 Subject: [PATCH] 31/08/23 - 13h --- src/components/Employes.js | 1 - src/components/Materiels.js | 1336 +++++++++++++++++++++++++++++++++-- 2 files changed, 1280 insertions(+), 57 deletions(-) diff --git a/src/components/Employes.js b/src/components/Employes.js index 306be10..84c6988 100644 --- a/src/components/Employes.js +++ b/src/components/Employes.js @@ -1982,7 +1982,6 @@ const Employes = (props) => { const [Affectation_data_changed, setAffectation_data_changed] = useState(); - function Disable_Detail_Affectation_Fields() { setedite_affectation_form("0"); diff --git a/src/components/Materiels.js b/src/components/Materiels.js index 33d873b..0764796 100644 --- a/src/components/Materiels.js +++ b/src/components/Materiels.js @@ -104,7 +104,7 @@ const Materiels = (props) => {
@@ -133,7 +133,79 @@ const Materiels = (props) => { ] + const columns_materielle_affectation = [ + { field: '_id', headerName: '_id', hide: true }, + { field: 'id', headerName: 'id', hide: true }, + { field: 'poste', headerName: 'Poste', width: 150, hideable: false, }, + { field: 'date_du', headerName: 'Du', width: 150, hide: false, editable: true }, + { field: 'date_au', headerName: 'Au', width: 150, hide: false, editable: true }, + { field: 'related_target_collection_object', headerName: 'Cible', width: 150, hide: false, editable: true }, + { field: 'related_target_collection_id_nom', headerName: 'Cible Nom', width: 150, hide: false, editable: true }, + { field: 'target_related_collection', headerName: 'Type', hide: true }, + { field: 'target_related_collection_id', headerName: 'Type ID', hide: true }, + { + field: "delete", headerName: 'Supprimer', + renderCell: (cellValues) => { + return ( + { + //handleClick_delete(event, cellValues); + }} + > + + + } + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, la fonction sera définitivement supprimée.
+ +
+
+
+ + +
+
+ +
+
+
+ )} +
+ + + ); + } + } + + + ] const myRef_head = useRef(null); @@ -187,10 +259,64 @@ const Materiels = (props) => { } function clean_affectation_fields() { + setp_affect_poste(); + setp_affect_date_du(new Date().toLocaleDateString('fr-FR')); + setp_affect_date_au(new Date().toLocaleDateString('fr-FR')); + setp_affect_cible(); + setp_affect_cible_label(); + setp_affect_cible_nom(); + setp_affect_cible_nom_label(); + setp_affect_comment(); + + if (document.getElementsByName("affect_poste")[0]) + document.getElementsByName("affect_poste")[0].value = ""; + + if (document.getElementsByName("affect_cible")[0]) + document.getElementsByName("affect_cible")[0].value = ""; + + if (document.getElementsByName("affect_cible_nom")[0]) + document.getElementsByName("affect_cible_nom")[0].value = ""; + + if (document.getElementsByName("affect_date_du")[0]) + document.getElementsByName("affect_date_du")[0].value = ""; + + if (document.getElementsByName("affect_date_au")[0]) + document.getElementsByName("affect_date_au")[0].value = ""; + + if (document.getElementsByName("affect_comment")[0]) + document.getElementsByName("affect_comment")[0].value = ""; + } + + function clean_nouvelle_affectation_fields() { + setp_one_affect_poste(); + setp_one_affect_date_du(new Date().toLocaleDateString('fr-FR')); + setp_one_affect_date_au(new Date().toLocaleDateString('fr-FR')); + setp_one_affect_cible(); + setp_one_affect_cible_nom(); + + setp_one_affect_comment(); + + if (document.getElementsByName("one_affect_poste")[0]) + document.getElementsByName("one_affect_poste")[0].value = ""; + + if (document.getElementsByName("one_affect_cible")[0]) + document.getElementsByName("one_affect_cible")[0].value = ""; + + if (document.getElementsByName("one_affect_cible_nom")[0]) + document.getElementsByName("one_affect_cible_nom")[0].value = ""; + + if (document.getElementsByName("one_affect_date_du")[0]) + document.getElementsByName("one_affect_date_du")[0].value = ""; + + if (document.getElementsByName("one_affect_date_au")[0]) + document.getElementsByName("one_affect_date_au")[0].value = ""; + + if (document.getElementsByName("one_affect_comment")[0]) + document.getElementsByName("one_affect_comment")[0].value = ""; } @@ -238,7 +364,7 @@ const Materiels = (props) => { const stored_cookie = getCookie('tokenmysypart'); form.append("token", stored_cookie); - var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Ressource_Materielle_no_filter/"; + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Ressource_Materielle_with_filter/"; setdisplay_affectation(""); @@ -475,8 +601,8 @@ const Materiels = (props) => { axios.post(myurl, form).then(res => { if (String(res.data.status) === String("true")) { - console.log(" In Getall_Training_Materiel_No_Filter res.data.status = " + res.data.status); - console.log(" In Getall_Training_Materiel_No_Filter res.data.message r_class = " + res.data.message); + //console.log(" In Getall_Training_Materiel_No_Filter res.data.status = " + res.data.status); + //console.log(" In Getall_Training_Materiel_No_Filter res.data.message r_class = " + res.data.message); setGetall_Training_Materiel_No_Filter_api("true"); setGetall_Training_Materiel_No_Filter_result(res.data.message); setRows(res.data.message); @@ -861,45 +987,6 @@ const Materiels = (props) => { } - const [Get_Materiel_Related_Target_Collection_Data_api, setGet_Materiel_Related_Target_Collection_Data_api] = useState(); - const [Get_Materiel_Related_Target_Collection_Data_message, setGet_Materiel_Related_Target_Collection_Data_message] = useState(); - const [Get_Materiel_Related_Target_Collection_Data_result, setGet_Materiel_Related_Target_Collection_Data_result] = useState(); - function Get_Materiel_Related_Target_Collection_Data() { - - 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_Related_Target_Materiel_Collection_Data/"; - - - - axios.post(myurl, form).then(res => { - - if (String(res.data.status) === String("true")) { - //console.log(" In Get_Materiel_Related_Target_Collection_Data res.data.status = " + res.data.status); - //console.log(" In Get_Materiel_Related_Target_Collection_Data res.data.message r_class = " + res.data.message); - setGet_Materiel_Related_Target_Collection_Data_api("true"); - setGet_Materiel_Related_Target_Collection_Data_result(res.data.message); - - } - else { - setGet_Materiel_Related_Target_Collection_Data_api("false"); - setGet_Materiel_Related_Target_Collection_Data_message(res.data.message); - alert(res.data.message) - } - - }).catch((error) => { - console.warn('Not good man :( Get_Materiel_Related_Target_Collection_Data = ', error); - setGet_Materiel_Related_Target_Collection_Data_api("false"); - alert(" Impossible de recuperer les cibles d'affectation"); - //setmyApimyApiMessage("") - }) - } - const [isimgclassdeleted, setisimgclassdeleted] = useState(""); const [isimgclassdeleted_message, setisimgclassdeleted_message] = useState(""); const [isimgclassSaved, setisimgclassSaved] = useState(""); @@ -985,6 +1072,46 @@ const Materiels = (props) => { }; + const [selected_affectation_id, set_selected_affectation_id] = useState(); + const [Get_Materiel_Related_Target_Collection_Data_api, setGet_Materiel_Related_Target_Collection_Data_api] = useState(); + const [Get_Materiel_Related_Target_Collection_Data_message, setGet_Materiel_Related_Target_Collection_Data_message] = useState(); + const [Get_Materiel_Related_Target_Collection_Data_result, setGet_Materiel_Related_Target_Collection_Data_result] = useState(); + function Get_Materiel_Related_Target_Collection_Data() { + + 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_Related_Target_Materiel_Collection_Data/"; + + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Get_Materiel_Related_Target_Collection_Data res.data.status = " + res.data.status); + //console.log(" In Get_Materiel_Related_Target_Collection_Data res.data.message r_class = " + res.data.message); + setGet_Materiel_Related_Target_Collection_Data_api("true"); + setGet_Materiel_Related_Target_Collection_Data_result(res.data.message); + + } + else { + setGet_Materiel_Related_Target_Collection_Data_api("false"); + setGet_Materiel_Related_Target_Collection_Data_message(res.data.message); + alert(res.data.message) + } + + }).catch((error) => { + console.warn('Not good man :( Get_Materiel_Related_Target_Collection_Data = ', error); + setGet_Materiel_Related_Target_Collection_Data_api("false"); + alert(" Impossible de recuperer les cibles d'affectation"); + //setmyApimyApiMessage("") + }) + } + const [record_materiel_Image_api, setrecord_materiel_Image_api] = useState(); const [record_materiel_Image_message, setrecord_materiel_Image_message] = useState(); const [record_materiel_Image_result, setrecord_materiel_Image_result] = useState(); @@ -1226,6 +1353,562 @@ const Materiels = (props) => { const [p_one_detail_fournisseur, setp_one_detail_fournisseur] = useState(); const [p_one_detail_qty_stock, setp_one_detail_qty_stock] = useState(); + const [p_one_affect_poste, setp_one_affect_poste] = useState(); + const [p_one_affect_date_du, setp_one_affect_date_du] = useState(new Date().toLocaleDateString('fr-FR')); + const [p_one_affect_date_au, setp_one_affect_date_au] = useState(new Date().toLocaleDateString('fr-FR')); + const [p_one_affect_cible, setp_one_affect_cible] = useState(); + const [p_one_affect_cible_nom, setp_one_affect_cible_nom] = useState(); + const [p_one_affect_comment, setp_one_affect_comment] = useState(); + + + const [p_affect_poste, setp_affect_poste] = useState(); + const [p_affect_date_du, setp_affect_date_du] = useState(new Date().toLocaleDateString('fr-FR')); + const [p_affect_date_au, setp_affect_date_au] = useState(new Date().toLocaleDateString('fr-FR')); + const [p_affect_cible, setp_affect_cible] = useState(); + const [p_affect_cible_label, setp_affect_cible_label] = useState(); + + const [p_affect_cible_nom, setp_affect_cible_nom] = useState(); + const [p_affect_cible_nom_label, setp_affect_cible_nom_label] = useState(); + + + const [edite_affectation_form, setedite_affectation_form] = useState(); + const [p_affect_comment, setp_affect_comment] = useState(); + const [p_related_target_collection, setp_related_target_collection] = useState(); + const [p_related_target_collection_id, setp_related_target_collection_id] = useState(); + + + function add_one_affectation_block() { + + setdisplay_affectation(""); + + setAdd_new_affectation("1"); + + if (myRef_new_affectation.current) { + myRef_new_affectation.current.scrollIntoView({ behavior: "smooth" }); + } + + clean_affectation_fields(); + + } + + const [Update_One_Affectation_Data_api, setUpdate_One_Affectation_Data_api] = useState(); + const [Update_One_Affectation_Data_message, setUpdate_One_Affectation_Data_message] = useState(); + const [Update_One_Affectation_Data_result, setUpdate_One_Affectation_Data_result] = useState(); + function Update_One_Affectation_Data() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", selected_affectation_id); + form.append("rm_id", selected_id); + + if (p_affect_poste) + form.append("poste", p_affect_poste); + else { + alert(" Vous devez definir une poste pour cette affectation"); + return; + } + + if (p_affect_date_du) + form.append("date_du", p_affect_date_du); + else { + alert(" Vous devez definir une date de debut pour cette affectation"); + return; + } + + if (p_affect_date_au) + form.append("date_au", p_affect_date_au); + else + form.append("date_au", ""); + + + if (p_affect_comment) + form.append("comment", p_affect_comment); + else + form.append("comment", ""); + + + if (p_affect_cible) + form.append("related_target_collection", p_affect_cible); + else + form.append("related_target_collection", ""); + + if (p_affect_cible_nom) + form.append("related_target_collection_id", p_affect_cible_nom); + else + form.append("related_target_collection_id", ""); + + + + //console.log(" affectation form == ", form); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Affectation_Ressource_Materielle_Poste/"; + + axios.post(myurl, form).then(res => { + console.log(" In Update_One_Affectation_Data res.data.status = " + res.data.status); + console.log(" In Update_One_Affectation_Data res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setUpdate_One_Affectation_Data_api("true"); + setUpdate_One_Affectation_Data_result(res.data.message); + + Disable_Detail_Affectation_Fields(); + setAffectation_data_changed(""); + setedite_affectation_form(""); + Getall_Materiel_Affectation(selected_id); + setSelectionModel_affectations([]); + + alert(" La mise à jour été correctement faite."); + + if (myRef_affectation) + myRef_affectation.current.scrollIntoView({ behavior: "smooth" }); + + } + else { + setUpdate_One_Affectation_Data_api("false"); + setUpdate_One_Affectation_Data_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + + console.log('UpdateStagiaireData : Not good man :( Update_One_Affectation_Data = ' + error); + setUpdate_One_Affectation_Data_api("false"); + alert(" Impossible de mettre à jour l'affectation"); + + }) + } + + const [Affectation_data_changed, setAffectation_data_changed] = useState(); + const myRef_affectation = useRef(null); + const myRef_new_affectation = useRef(null); + + + function Disable_Detail_Affectation_Fields() { + setedite_affectation_form("0"); + + if (document.getElementsByName("affect_poste")[0]) { + document.getElementsByName("affect_poste")[0].disabled = true; + document.getElementsByName("affect_poste")[0].style.backgroundColor = "#ECEFF1"; + } + + + if (document.getElementsByName("affect_cible")[0]) { + document.getElementsByName("affect_cible")[0].disabled = true; + document.getElementsByName("affect_cible")[0].style.backgroundColor = "#ECEFF1"; + } + + + if (document.getElementsByName("affect_cible_nom")[0]) { + document.getElementsByName("affect_cible_nom")[0].disabled = true; + document.getElementsByName("affect_cible_nom")[0].style.backgroundColor = "#ECEFF1"; + } + + + if (document.getElementsByName("affect_date_du")[0]) { + document.getElementsByName("affect_date_du")[0].disabled = true; + document.getElementsByName("affect_date_du")[0].style.backgroundColor = "#ECEFF1"; + } + + + if (document.getElementsByName("affect_date_au")[0]) { + document.getElementsByName("affect_date_au")[0].disabled = true; + document.getElementsByName("affect_date_au")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("affect_comment")[0]) { + document.getElementsByName("affect_comment")[0].disabled = true; + document.getElementsByName("affect_comment")[0].style.backgroundColor = "#ECEFF1"; + } + + } + + + function Enable_Detail_Affectation_Fields() { + + setedite_affectation_form("1"); + + if (document.getElementsByName("affect_poste")[0]) { + document.getElementsByName("affect_poste")[0].disabled = false; + document.getElementsByName("affect_poste")[0].style.backgroundColor = "#FFFFFF"; + } + + + if (document.getElementsByName("affect_cible")[0]) { + document.getElementsByName("affect_cible")[0].disabled = false; + document.getElementsByName("affect_cible")[0].style.backgroundColor = "#FFFFFF"; + } + + + if (document.getElementsByName("affect_cible_nom")[0]) { + document.getElementsByName("affect_cible_nom")[0].disabled = false; + document.getElementsByName("affect_cible_nom")[0].style.backgroundColor = "#FFFFFF"; + } + + + if (document.getElementsByName("affect_date_du")[0]) { + document.getElementsByName("affect_date_du")[0].disabled = false; + document.getElementsByName("affect_date_du")[0].style.backgroundColor = "#FFFFFF"; + } + + + if (document.getElementsByName("affect_date_au")[0]) { + document.getElementsByName("affect_date_au")[0].disabled = false; + document.getElementsByName("affect_date_au")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("affect_comment")[0]) { + document.getElementsByName("affect_comment")[0].disabled = false; + document.getElementsByName("affect_comment")[0].style.backgroundColor = "#FFFFFF"; + } + } + + function Annule_Affectation_DetailFields() { + clean_affectation_fields(); + Get_Given_Materiel_Affectation(selected_affectation_id); + setAffectation_data_changed(""); + setedite_affectation_form(""); + + } + + + function Fermer_Affectation_Fields() { + clean_affectation_fields(); + setedite_affectation_form(); + setdisplay_affectation(); + setSelectionModel_affectations([]); + } + + function Fermer_nouvelle_Affectation_Fields() { + clean_nouvelle_affectation_fields(); + setedite_affectation_form(); + setdisplay_affectation(); + setAdd_new_affectation(); + setSelectionModel_affectations([]); + } + + const [Get_Given_Materiel_Affectation_api, setGet_Given_Materiel_Affectation_api] = useState(); + const [Get_Given_Materiel_Affectation_message, setGet_Given_Materiel_Affectation_message] = useState(); + const [Get_Given_Materiel_Affectation_result, setGet_Given_Materiel_Affectation_result] = useState(); + function Get_Given_Materiel_Affectation(local_affectation_id) { + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("affectation_id", local_affectation_id); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Affectation_Ressource_Materielle_Poste/"; + + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Get_Given_Materiel_Affectation res.data.status = " + res.data.status); + //console.log(" In Get_Given_Materiel_Affectation res.data.message r_class = " + res.data.message); + setGet_Given_Materiel_Affectation_api("true"); + + + + if (String(res.data.message).length > 0) { + setGet_Given_Materiel_Affectation_result(res.data.message); + var mylocal_affectation = JSON.parse(res.data.message); + + if (mylocal_affectation.poste) { + setp_affect_poste(mylocal_affectation.poste); + } + + if (mylocal_affectation.date_du) { + setp_affect_date_du(mylocal_affectation.date_du); + + } + + if (mylocal_affectation.date_au) { + setp_affect_date_au(mylocal_affectation.date_au); + } + + if (mylocal_affectation.related_target_collection) { + setp_affect_cible(mylocal_affectation.related_target_collection); + if (String(mylocal_affectation.related_target_collection) === "myclass") + setp_affect_cible_label("Formation"); + else if (String(mylocal_affectation.related_target_collection) === "session_formation") + setp_affect_cible_label("Session formation"); + else if (String(mylocal_affectation.related_target_collection) === "ressource_humaine") + setp_affect_cible_label("Employé"); + } + + + if (mylocal_affectation.related_target_collection_id) { + setp_affect_cible_nom(mylocal_affectation.related_target_collection_id); + setp_affect_cible_nom_label(mylocal_affectation.related_target_collection_id_nom); + } + + if (mylocal_affectation.comment) { + setp_affect_comment(mylocal_affectation.comment); + } + + + } else { + alert(" Aucune donnée recuperée"); + } + + Disable_Detail_Affectation_Fields(); + } + else { + setGet_Given_Materiel_Affectation_api("false"); + setGet_Given_Materiel_Affectation_message(res.data.message); + alert(res.data.message) + } + + }).catch((error) => { + console.warn('Not good man :( Get_Given_Materiel_Affectation = ', error); + setGet_Given_Materiel_Affectation_api("false"); + alert(" Impossible de recuperer l'affectation de l'employé"); + //setmyApimyApiMessage("") + }) + } + + const [Add_one_affectation_api, setAdd_one_affectation_api] = useState(); + const [Add_one_affectation_message, setAdd_one_affectation_message] = useState(); + const [Add_one_affectation_result, setAdd_one_affectation_result] = useState(); + function Add_one_affectation() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("rm_id", selected_id); + + if (p_one_affect_poste) + form.append("poste", p_one_affect_poste); + else { + alert(" Vous devez definir une poste pour cette affectation"); + return; + } + + if (p_one_affect_date_du) + form.append("date_du", p_one_affect_date_du); + else { + alert(" Vous devez definir une date de debut pour cette affectation"); + return; + } + + + if (p_one_affect_date_au) + form.append("date_au", p_one_affect_date_au); + else + form.append("date_au", ""); + + + if (p_one_affect_comment) + form.append("comment", p_one_affect_comment); + else + form.append("comment", ""); + + + if (p_one_affect_cible) + form.append("related_target_collection", p_one_affect_cible); + else + form.append("related_target_collection", ""); + + if (p_one_affect_cible_nom) + form.append("related_target_collection_id", p_one_affect_cible_nom); + else + form.append("related_target_collection_id", ""); + + + console.log(" Add_one_affectation affectation form == ", form); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Affectation_Ressource_Materielle_Poste/"; + + axios.post(myurl, form).then(res => { + console.log(" In Add_one_affectation res.data.status = " + res.data.status); + console.log(" In Add_one_affectation res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setAdd_one_affectation_api("true"); + setAdd_one_affectation_result(res.data.message); + + Disable_Detail_Affectation_Fields(); + setAffectation_data_changed(""); + setedite_affectation_form(""); + setAdd_new_affectation(""); + Getall_Materiel_Affectation(selected_id); + setSelectionModel_affectations([]); + alert(" L'affectation a été ajoutée."); + + if (myRef_affectation) + myRef_affectation.current.scrollIntoView({ behavior: "smooth" }); + + } + else { + setAdd_one_affectation_api("false"); + setAdd_one_affectation_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + + console.log('UpdateStagiaireData : Not good man :( Add_one_affectation = ' + error); + setAdd_one_affectation_api("false"); + alert(" Impossible d'ajouter l'affectation"); + + }) + } + + function handleClick_edit_affectation_From_Line(selected_row_id) { + setdisplay_affectation("1"); + setAdd_new_affectation(""); + clean_affectation_fields(); + clean_nouvelle_affectation_fields(); + //setsubmenu(""); + + var line = JSON.parse(rows_affectations[selected_row_id]); + + //console.log("### line = ", line); + var affectation_id = line._id; + set_selected_affectation_id(affectation_id); + + + if (myRef_affectation.current) { + myRef_affectation.current.scrollIntoView({ behavior: "smooth" }); + } + + Get_Given_Materiel_Affectation(affectation_id); + + } + + function handleClick_delete_affection(event, cellValues) { + + var local_affectation_id = cellValues.row._id; + + Delete_affection(selected_id, local_affectation_id); + } + + const [Delete_affection_api, setDelete_affection_api] = useState(); + const [Delete_affection_message, setDelete_affection_message] = useState(); + const [Delete_affection_result, setDelete_affection_result] = useState(); + function Delete_affection(local_rh_id, local_affectation_id) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("rm_id", local_rh_id); + form.append("_id", local_affectation_id); + + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Affectation_Ressource_Materielle_Poste/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Delete_affection res.data.status = " + res.data.status); + //console.log(" In Delete_affection res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setDelete_affection_api("true"); + setDelete_affection_result(res.data.message); + clean_affectation_fields(); + setAffectation_data_changed(); + setedite_affectation_form(); + setdisplay_affectation(); + Getall_Materiel_Affectation(local_rh_id); + alert(" La fonction a été correctement supprimée.") + } + else { + setDelete_affection_api("false"); + setDelete_affection_message(res.data.message); + alert(res.data.message); + + } + + }).catch((error) => { + + console.log('Delete_affection : Not good man :( Delete_affection = ' + error); + setDelete_affection_api("false"); + alert(" Impossible de supprimer la fonction"); + }) + } + + + const [Delete_Materiel_api, setDelete_Materiel_api] = useState(); + const [Delete_Materiel_message, setDelete_Materiel_message] = useState(); + const [Delete_Materiel_result, setDelete_Materiel_result] = useState(); + function Delete_Materiel(local_rh_id) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", local_rh_id); + + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Ressource_Materielle/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Delete_Materiel res.data.status = " + res.data.status); + //console.log(" In Delete_Materiel res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setDelete_Materiel_api("true"); + setDelete_Materiel_result(res.data.message); + clean_all_filters(); + alert(" Le materiel a été correctement supprimé.") + } + else { + setDelete_Materiel_api("false"); + setDelete_Materiel_message(res.data.message); + alert(res.data.message); + + } + + }).catch((error) => { + + console.log('Delete_Materiel : Not good man :( Delete_Materiel = ' + error); + setDelete_Materiel_api("false"); + alert(" Impossible de supprimer le materiel"); + }) + } + + function clean_all_filters() { + setp_filtre1(); + setp_filtre1_value(); + + setp_filtre2(); + setp_filtre2_value(); + + setp_filtre3(); + setp_filtre3_value(); + + setp_filtre4(); + setp_filtre4_value(); + + setdisplay_affectation(""); + setAdd_new_affectation(""); + clean_affectation_fields(); + clean_nouvelle_affectation_fields(); + setSelectionModel_affectations([]); + setSelectionModel([]); + setsubmenu(""); + + Getall_Training_Materiel_No_Filter(); + } + + + function handleClick_delete(event, cellValues) { + + var local_rm_id = cellValues.row._id; + + Delete_Materiel(local_rm_id); + } + return (
@@ -1265,10 +1948,11 @@ const Materiels = (props) => { }} > - Email   + Ref. Intenne   Nom   Lié a la Formation (code externe)   Lié a la Session (code session)   + Lié a l'employe (email)   @@ -1345,11 +2029,11 @@ const Materiels = (props) => { }} > - Email   + Ref. Intenne   Nom   Lié a la Formation (code externe)   Lié a la Session (code session)   - + Lié a l'employe (email)  
@@ -1425,11 +2109,11 @@ const Materiels = (props) => { setp_filtre3(e.target.value) }} > - Email   + Ref. Intenne   Nom   Lié a la Formation (code externe)   Lié a la Session (code session)   - + Lié a l'employe (email)  
@@ -1560,12 +2244,12 @@ const Materiels = (props) => {
-
-
@@ -2323,18 +3007,558 @@ const Materiels = (props) => {
} - - - {String(submenu) === "affectation" &&
+ +
+
-

Affectation d'un materiel

+
+   + + { + setSelectionModel_affectations(newSelectionModel); + if (newSelectionModel.length === 1) + handleClick_edit_affectation_From_Line(newSelectionModel); + + if (newSelectionModel.length !== 1) { + setedite_affectation_form(); + setdisplay_affectation(); + } + }} + selectionModel={selectionModel_affectations} + + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={rows_affectations.map((item, index) => ( + { + id: index, + _id: JSON.parse(item)._id, + poste: JSON.parse(item).poste, + date_du: JSON.parse(item).date_du, + date_au: JSON.parse(item).date_au, + target_related_collection: JSON.parse(item).target_related_collection, + target_related_collection_id: JSON.parse(item).target_related_collection_id, + related_target_collection_id_nom: JSON.parse(item).related_target_collection_id_nom, + related_target_collection_object: JSON.parse(item).related_target_collection_object, + + + } + ))} + + columns={columns_materielle_affectation} + pageSize={10} + className="datagridclass" + + rowsPerPageOptions={[10]} + //disableSelectionOnClick + components={{ + Toolbar: GridToolbar, + }} + /*//sx={datagridSx} + getCellClassName={(params) => { + //field === 'distantiel' + if (params.field === 'distantiel' && String(params.value) === "1") { + return 'cell--distantiel'; + } + if (params.field === "presentiel" && String(params.value) == "1") { + return 'cell--presentiel'; + } + + + //field === "statut" + if (params.field === "status" && String(params.value) == "0") { + return 'cell--statut--preinscrit'; + } + + if (params.field === "status" && String(params.value) == "1") { + return 'cell--statut--inscrit'; + } + + if (params.field === "status" && String(params.value) == "-1") { + return 'cell--statut--annule'; + } + + }} + getRowClassName={(params) => { + + if (String(params.row.status) === "-1") { + return 'line--statut--annule'; + } + if (String(params.row.status) === "0") { + return 'line--statut--preinscrit'; + } + if (String(params.row.status) === "1") { + return 'line--statut--inscrit'; + } + }}*/ + + + /> + +
+ +
+ +
+ +
+
+ +
+ + + +
+ +
+
+ + + {String(display_affectation) === "1" &&
+ + +
+
Poste Occupé
+ { + setp_affect_poste(e.target.value); + setAffectation_data_changed("1"); + }} + + /> + +
+ + + {String(edite_affectation_form) !== "1" &&
Cible
+ + +
} + + {String(edite_affectation_form) === "1" &&
Cible
+ { + setp_affect_cible(e.target.value); + setAffectation_data_changed("1"); + }} + + + > + Employe    + Formation    + Session de formation   + Aucun   + + + +
} + + + {String(edite_affectation_form) !== "1" &&
Cible Nom
+ + +
} + + {String(edite_affectation_form) === "1" &&
Cible Nom
+ { + setp_affect_cible_nom(e.target.value); + setAffectation_data_changed("1"); + }} + > + + {Get_Materiel_Related_Target_Collection_Data_result && + Get_Materiel_Related_Target_Collection_Data_result.filter((local_mymanager) => JSON.parse(local_mymanager).related_target_collection === p_affect_cible).map((mymanager) => ( + + {JSON.parse(mymanager).related_target_collection_id_nom}   + + + ))} + + + + +
} + + + + {String(edite_affectation_form) !== "1" &&
Date du
+ + +
} + + {String(edite_affectation_form) === "1" &&
Date du
+ + { + setp_affect_date_du(format(date, 'dd/MM/yyyy')); + setAffectation_data_changed("1"); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale='fr-FR' + /> + +
} + + + {String(edite_affectation_form) !== "1" &&
Date au
+ + +
} + + {String(edite_affectation_form) === "1" &&
Date au
+ { + setp_affect_date_au(format(date, 'dd/MM/yyyy')); + setAffectation_data_changed("1"); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale='fr-FR' + /> + +
} + +
Commentaire
+ { + setp_affect_comment(e.target.value); + + }} + + /> + +
+ +
+   +
+ {String(Affectation_data_changed) === "1" && String(edite_affectation_form) === "1" &&
+ /!\ Pensez à enregistrer les modifications +
} + + +
+ + {String(Affectation_data_changed) === "1" && String(edite_affectation_form) === "1" &&
+ + + +
} + + {String(edite_affectation_form) === "1" &&
+ +
} +
+
+ + {String(edite_affectation_form) !== "1" &&
+ + + +
} + + + {String(edite_affectation_form) !== "1" &&
+ + + +
} +
+
+   +
+ +
+
} + + + + {String(Add_new_affectation) === "1" &&
+ +
+
+
Poste Occupé
+ { + setp_one_affect_poste(e.target.value); + + }} + + /> + +
+ +
Cible
+ { + setp_one_affect_cible(e.target.value); + }} + + > + Employe    + Formation    + Session de formation   + Aucun   + + + +
+ +
Cible Nom
+ { + setp_one_affect_cible_nom(e.target.value); + }} + > + + {Get_Materiel_Related_Target_Collection_Data_result && + Get_Materiel_Related_Target_Collection_Data_result.filter((local_mymanager) => JSON.parse(local_mymanager).related_target_collection === p_one_affect_cible).map((mymanager) => ( + + {JSON.parse(mymanager).related_target_collection_id_nom}   + + + ))} + + + + +
+ + + +
Date du
+ { + setp_one_affect_date_du(format(date, 'dd/MM/yyyy')); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale='fr-FR' + /> + +
+ + +
Date au
+ { + setp_one_affect_date_au(format(date, 'dd/MM/yyyy')); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale='fr-FR' + /> + +
+ +
Commentaire
+ { + setp_one_affect_comment(e.target.value); + + }} + + /> + +
+ +
+
+   +
+ +
+ +
+ + + +
+ +
+ +
+
+ +
+   +
+
+ + +
}
} - -
); }