From 080a339c680552ac415a2807ec98c76fba74e432 Mon Sep 17 00:00:00 2001 From: cherif Date: Wed, 23 Aug 2023 20:37:36 +0200 Subject: [PATCH] 23/08/23 - 20h --- src/components/Employes.js | 1716 +++++++++++++++++++++++++++++++++++- 1 file changed, 1686 insertions(+), 30 deletions(-) diff --git a/src/components/Employes.js b/src/components/Employes.js index 5e88a48..bd7e63c 100644 --- a/src/components/Employes.js +++ b/src/components/Employes.js @@ -64,8 +64,32 @@ const Employes = (props) => { { field: 'email', headerName: 'email', width: 150, hideable: false, }, { field: 'nom', headerName: 'nom', width: 150, hide: false, editable: true }, { field: 'prenom', headerName: 'prenom', width: 150, hide: false, editable: true }, + { + field: 'ismanager', headerName: 'Manager', width: 150, hide: false, editable: true, + valueFormatter: (params) => { + if (String(params.value) === "0") + return "Non"; + else if (String(params.value) === "1") + return "Oui"; + + else + return "?"; + }, + }, { field: 'telephone_mobile', headerName: 'Mobile', width: 150, hide: false, editable: true }, - { field: 'civilite', headerName: 'Civilité', width: 150, hide: false, editable: true }, + { + field: 'civilite', headerName: 'Civilité', width: 150, hide: false, editable: true, + valueFormatter: (params) => { + if (String(params.value) === "0") + return "Mme"; + else if (String(params.value) === "1") + return "M"; + else if (String(params.value) === "-1") + return " "; + else + return "?"; + }, + }, { field: 'profil', headerName: 'profil', width: 150, hide: false, editable: true }, { field: 'fonction', headerName: 'Fonction', width: 150, hide: false, editable: true }, @@ -187,8 +211,8 @@ const Employes = (props) => { useEffect(() => { Getall_Training_Employee(); - - + Get_List_Managers(); + Get_List_RH_Profils(); }, []) @@ -201,14 +225,14 @@ const Employes = (props) => { var line = JSON.parse(rowss[selected_row_id]); - console.log("### line = ", line); + //console.log("### line = ", line); var employe_id = line._id; setselected_id(employe_id); var employe_email = line.email; setselected_employe_email(employe_email); - console.log(" ### employe_id = ", employe_id); + //console.log(" ### employe_id = ", employe_id); Display_Detail_Employe(employe_id); if (myRef.current) { @@ -220,10 +244,11 @@ const Employes = (props) => { function Display_Detail_Employe(employee_id) { //clearDetailAttendeFields(); + setadd_One_Employee(); setdisplay_detail_employe("1"); Get_Employee_Data(employee_id); - //getStagiaireImages(employee_id); + get_Employee_Images(employee_id); } @@ -237,18 +262,56 @@ const Employes = (props) => { const [p_detail_code_postal, setp_detail_code_postal] = useState(); const [p_detail_ville, setp_detail_ville] = useState(); const [p_detail_resp_hierarchie_id, setp_detail_resp_hierarchie_id] = useState(); + const [p_detail_civilite, setp_detail_civilite] = useState(); + const [p_detail_civilite_label, setp_detail_civilite_label] = useState(); + const [p_detail_fonction, setp_detail_fonction] = useState(); + const [p_detail_profil, setp_detail_profil] = useState(); + const [p_detail_pays, setp_detail_pays] = useState(); + const [p_detail_tel_mobile, setp_detail_tel_mobile] = useState(); + const [p_detail_linkedIn, setp_detail_linkedIn] = useState(); + const [p_detail_facebook, setp_detail_facebook] = useState(); + const [p_detail_twitter, setp_detail_twitter] = useState(); + const [p_detail_ismanager, setp_detail_ismanager] = useState(); + const [p_detail_ismanager_label, setp_detail_ismanager_label] = useState(); + const [p_detail_resp_hierarchie_nom, setp_detail_resp_hierarchie_nom] = useState(); + const [p_detail_resp_hierarchie_prenom, setp_detail_resp_hierarchie_prenom] = useState(); + const [p_one_detail_nom, setp_one_detail_nom] = useState(); + const [p_one_detail_prenom, setp_one_detail_prenom] = useState(); + const [p_one_detail_mail, setp_one_detail_mail] = useState(); + const [p_one_detail_tel, setp_one_detail_tel] = useState(); + const [p_one_detail_adresse, setp_one_detail_adresse] = useState(); + const [p_one_detail_code_postal, setp_one_detail_code_postal] = useState(); + const [p_one_detail_ville, setp_one_detail_ville] = useState(); + const [p_one_detail_resp_hierarchie_id, setp_one_detail_resp_hierarchie_id] = useState(); + const [p_one_detail_civilite, setp_one_detail_civilite] = useState(); + const [p_one_detail_fonction, setp_one_detail_fonction] = useState(); + const [p_one_detail_profil, setp_one_detail_profil] = useState(); + const [p_one_detail_profil_label, setp_one_detail_profil_label] = useState(); + const [p_one_detail_pays, setp_one_detail_pays] = useState(); + const [p_one_detail_tel_mobile, setp_one_detail_tel_mobile] = useState(); + const [p_one_detail_linkedIn, setp_one_detail_linkedIn] = useState(); + const [p_one_detail_facebook, setp_one_detail_facebook] = useState(); + const [p_one_detail_twitter, setp_one_detail_twitter] = useState(); + const [p_one_detail_ismanager, setp_one_detail_ismanager] = useState(); + const [p_one_detail_ismanager_label, setp_one_detail_ismanager_label] = useState(); + const [p_one_detail_resp_hierarchie_nom, setp_one_detail_resp_hierarchie_nom] = useState(); + const [p_one_detail_resp_hierarchie_prenom, setp_one_detail_resp_hierarchie_prenom] = useState(); - let [employee_data_changed, setemployee_data_changed] = useState(); - let [employee_data_edit_mode, setemployee_data_edit_mode] = useState(); + + const [employee_data_changed, setemployee_data_changed] = useState(""); + const [employee_data_edit_mode, setemployee_data_edit_mode] = useState(""); const [GetAttendee_api, setGetAttendee_api] = useState(); const [GetAttendee_message, setGetAttendee_message] = useState(); const [GetAttendee_result, setGetAttendee_result] = useState(); function Get_Employee_Data(employe_id) { - setemployee_data_changed(); - setemployee_data_edit_mode(); + setemployee_data_changed(""); + setemployee_data_edit_mode(""); + setisimgclassSelected(); + setuserimgclassprofil(); + setisimgclassSelected_recid(); var form = new FormData(); @@ -262,8 +325,8 @@ const Employes = (props) => { axios.post(myurl, form).then(res => { if (String(res.data.status) === "true") { - console.log(" In GetAttendee res.data.status = " + res.data.status); - console.log(" In GetAttendee res.data.message r_class = " + res.data.message); + console.log(" In Get_Employee_Data res.data.status = " + res.data.status); + console.log(" In Get_Employee_Data res.data.message r_class = " + res.data.message); setGetAttendee_api("true"); setGetAttendee_result(res.data.message); @@ -285,6 +348,27 @@ const Employes = (props) => { setp_detail_mail(mylocal_employe.email); } + document.getElementsByName("detail_tel_mobile")[0].value = ""; + if (mylocal_employe.telephone_mobile) { + setp_detail_tel_mobile(mylocal_employe.telephone_mobile); + } + + document.getElementsByName("detail_civilite")[0].value = ""; + if (mylocal_employe.civilite) { + setp_detail_civilite(mylocal_employe.civilite); + + if (String(mylocal_employe.civilite) === "1") + setp_detail_civilite_label("M."); + else if (String(mylocal_employe.civilite) === "0") + setp_detail_civilite_label("Mme."); + else if (String(mylocal_employe.civilite) === "-1") + setp_detail_civilite_label("Neutre"); + else + setp_detail_civilite_label("?"); + + + } + document.getElementsByName("detail_tel")[0].value = ""; if (mylocal_employe.telephone) { @@ -292,22 +376,72 @@ const Employes = (props) => { } document.getElementsByName("detail_adresse")[0].value = ""; - if (mylocal_employe.adresse) { - setp_detail_adresse(mylocal_employe.adresse); + if (mylocal_employe.adr_adresse) { + setp_detail_adresse(mylocal_employe.adr_adresse); } document.getElementsByName("detail_code_postal")[0].value = ""; - if (mylocal_employe.code_postal) { - setp_detail_code_postal(mylocal_employe.code_postal); + if (mylocal_employe.adr_code_postal) { + setp_detail_code_postal(mylocal_employe.adr_code_postal); } document.getElementsByName("detail_ville")[0].value = ""; - if (mylocal_employe.ville) { - setp_detail_ville(mylocal_employe.ville); + if (mylocal_employe.adr_ville) { + setp_detail_ville(mylocal_employe.adr_ville); } - //disableAttendeeDetailFields(); + document.getElementsByName("detail_pays")[0].value = ""; + if (mylocal_employe.adr_pays) { + setp_detail_pays(mylocal_employe.adr_pays); + } + + document.getElementsByName("detail_linkedin")[0].value = ""; + if (mylocal_employe.linkedin) { + setp_detail_linkedIn(mylocal_employe.linkedin); + } + + document.getElementsByName("detail_facebook")[0].value = ""; + if (mylocal_employe.facebook) { + setp_detail_facebook(mylocal_employe.facebook); + } + + document.getElementsByName("detail_twitter")[0].value = ""; + if (mylocal_employe.twitter) { + setp_detail_twitter(mylocal_employe.twitter); + } + + document.getElementsByName("detail_profil")[0].value = ""; + if (mylocal_employe.ville) { + setp_detail_profil(mylocal_employe.profil); + } + + document.getElementsByName("detail_fonction")[0].value = ""; + if (mylocal_employe.fonction) { + setp_detail_fonction(mylocal_employe.fonction); + } + + + document.getElementsByName("detail_ismanager")[0].value = ""; + if (mylocal_employe.ismanager) { + setp_detail_ismanager(mylocal_employe.ismanager); + if (String(mylocal_employe.ismanager) === "1") + setp_detail_ismanager_label("Oui"); + else + setp_detail_ismanager_label("Non"); + } + + document.getElementsByName("detail_resp_hierarchie_id")[0].value = ""; + if (mylocal_employe.superieur_hierarchie_id) { + setp_detail_resp_hierarchie_id(mylocal_employe.superieur_hierarchie_id); + setp_detail_resp_hierarchie_nom(mylocal_employe.superieur_hierarchie_nom); + setp_detail_resp_hierarchie_prenom(mylocal_employe.superieur_hierarchie_prenom); + } + + + + + disable_Employee_DetailFields(); } else { alert(" Aucun employé recuperé"); } @@ -325,7 +459,7 @@ const Employes = (props) => { } }).catch((error) => { - console.warn('Not good man :( GetAttendee = ', error); + console.warn('Not good man :( Get_Employee_Data = ', error); setGetAttendee_api("false"); alert(" Impossible de recuperer les données de l'employé"); //setmyApimyApiMessage("") @@ -474,10 +608,737 @@ const Employes = (props) => { }); } + + + function disable_Employee_DetailFields() { + setemployee_data_edit_mode("0"); + + document.getElementsByName("detail_nom")[0].disabled = true; + document.getElementsByName("detail_nom")[0].style.backgroundColor = "#ECEFF1"; + + + + document.getElementsByName("detail_prenom")[0].disabled = true; + document.getElementsByName("detail_prenom")[0].style.backgroundColor = "#ECEFF1"; + + + document.getElementsByName("detail_mail")[0].disabled = true; + document.getElementsByName("detail_mail")[0].style.backgroundColor = "#ECEFF1"; + + + document.getElementsByName("detail_tel")[0].disabled = true; + document.getElementsByName("detail_tel")[0].style.backgroundColor = "#ECEFF1"; + + + document.getElementsByName("detail_adresse")[0].disabled = true; + document.getElementsByName("detail_adresse")[0].style.backgroundColor = "#ECEFF1"; + + document.getElementsByName("detail_code_postal")[0].disabled = true; + document.getElementsByName("detail_code_postal")[0].style.backgroundColor = "#ECEFF1"; + + document.getElementsByName("detail_ville")[0].disabled = true; + document.getElementsByName("detail_ville")[0].style.backgroundColor = "#ECEFF1"; + + + document.getElementsByName("detail_civilite")[0].disabled = true; + document.getElementsByName("detail_civilite")[0].style.backgroundColor = "#ECEFF1"; + + document.getElementsByName("detail_tel_mobile")[0].disabled = true; + document.getElementsByName("detail_tel_mobile")[0].style.backgroundColor = "#ECEFF1"; + + document.getElementsByName("detail_pays")[0].disabled = true; + document.getElementsByName("detail_pays")[0].style.backgroundColor = "#ECEFF1"; + + document.getElementsByName("detail_linkedin")[0].disabled = true; + document.getElementsByName("detail_linkedin")[0].style.backgroundColor = "#ECEFF1"; + + document.getElementsByName("detail_facebook")[0].disabled = true; + document.getElementsByName("detail_facebook")[0].style.backgroundColor = "#ECEFF1"; + + document.getElementsByName("detail_twitter")[0].disabled = true; + document.getElementsByName("detail_twitter")[0].style.backgroundColor = "#ECEFF1"; + + document.getElementsByName("detail_profil")[0].disabled = true; + document.getElementsByName("detail_profil")[0].style.backgroundColor = "#ECEFF1"; + + document.getElementsByName("detail_fonction")[0].disabled = true; + document.getElementsByName("detail_fonction")[0].style.backgroundColor = "#ECEFF1"; + + document.getElementsByName("detail_ismanager")[0].disabled = true; + document.getElementsByName("detail_ismanager")[0].style.backgroundColor = "#ECEFF1"; + + document.getElementsByName("detail_resp_hierarchie_id")[0].disabled = true; + document.getElementsByName("detail_resp_hierarchie_id")[0].style.backgroundColor = "#ECEFF1"; + + + } + + function Enable_Employee_DetailFields() { + setemployee_data_edit_mode("1"); + + + document.getElementsByName("detail_nom")[0].disabled = false; + document.getElementsByName("detail_nom")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_prenom")[0].disabled = false; + document.getElementsByName("detail_prenom")[0].style.backgroundColor = "#FFFFFF"; + + + document.getElementsByName("detail_mail")[0].disabled = false; + document.getElementsByName("detail_mail")[0].style.backgroundColor = "#FFFFFF"; + + + document.getElementsByName("detail_tel")[0].disabled = false; + document.getElementsByName("detail_tel")[0].style.backgroundColor = "#FFFFFF"; + + + document.getElementsByName("detail_adresse")[0].disabled = false; + document.getElementsByName("detail_adresse")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_code_postal")[0].disabled = false; + document.getElementsByName("detail_code_postal")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_ville")[0].disabled = false; + document.getElementsByName("detail_ville")[0].style.backgroundColor = "#FFFFFF"; + + + document.getElementsByName("detail_civilite")[0].disabled = false; + document.getElementsByName("detail_civilite")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_tel_mobile")[0].disabled = false; + document.getElementsByName("detail_tel_mobile")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_pays")[0].disabled = false; + document.getElementsByName("detail_pays")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_linkedin")[0].disabled = false; + document.getElementsByName("detail_linkedin")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_facebook")[0].disabled = false; + document.getElementsByName("detail_facebook")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_twitter")[0].disabled = false; + document.getElementsByName("detail_twitter")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_profil")[0].disabled = false; + document.getElementsByName("detail_profil")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_fonction")[0].disabled = false; + document.getElementsByName("detail_fonction")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_ismanager")[0].disabled = false; + document.getElementsByName("detail_ismanager")[0].style.backgroundColor = "#FFFFFF"; + + document.getElementsByName("detail_resp_hierarchie_id")[0].disabled = false; + document.getElementsByName("detail_resp_hierarchie_id")[0].style.backgroundColor = "#FFFFFF"; + + + + } + + + function Annule_Employee_DetailFields() { + + setisimgclassSelected(); + setuserimgclassprofil(); + setisimgclassSelected_recid(); + + Get_Employee_Data(selected_id); + get_Employee_Images(selected_id); + + setemployee_data_changed(""); + setemployee_data_edit_mode(""); + + } + + + const [Update_One_Employee_Data_api, setUpdate_One_Employee_Data_api] = useState(); + const [Update_One_Employee_Data_message, setUpdate_One_Employee_Data_message] = useState(); + const [Update_One_Employee_Data_result, setUpdate_One_Employee_Data_result] = useState(); + function Update_One_Employee_Data() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("nom", p_detail_nom); + form.append("email", p_detail_mail); + + if (p_detail_prenom) + form.append("prenom", p_detail_prenom); + else + form.append("prenom", ""); + + + if (p_detail_tel) + form.append("telephone", p_detail_tel); + else + form.append("telephone", ""); + + + if (p_detail_tel_mobile) + form.append("telephone_mobile", p_detail_tel_mobile); + else + form.append("telephone_mobile", ""); + + if (p_detail_adresse) + form.append("adr_adresse", p_detail_adresse); + else + form.append("adr_adresse", ""); + + + if (p_detail_code_postal) + form.append("adr_code_postal", p_detail_code_postal); + else + form.append("adr_code_postal", ""); + + if (p_detail_ville) + form.append("adr_ville", p_detail_ville); + else + form.append("adr_ville", ""); + + if (p_detail_pays) + form.append("adr_pays", p_detail_pays); + else + form.append("adr_pays", ""); + + if (p_detail_profil) + form.append("profil", p_detail_profil); + else + form.append("profil", ""); + + + if (p_detail_fonction) + form.append("fonction", p_detail_fonction); + else + form.append("fonction", ""); + + + if (p_detail_civilite) + form.append("civilite", p_detail_civilite); + else + form.append("civilite", ""); + + + if (p_detail_resp_hierarchie_id) + form.append("superieur_hierarchie_id", p_detail_resp_hierarchie_id); + else + form.append("superieur_hierarchie_id", ""); + + + if (p_detail_linkedIn) + form.append("linkedin", p_detail_linkedIn); + else + form.append("linkedin", ""); + + if (p_detail_facebook) + form.append("facebook", p_detail_facebook); + else + form.append("facebook", ""); + + + if (p_detail_twitter) + form.append("twitter", p_detail_twitter); + else + form.append("twitter", ""); + + if (p_detail_ismanager) + form.append("ismanager", p_detail_ismanager); + else + form.append("ismanager", "0"); + + form.append("_id", selected_id); + + //console.log(" form == ", form); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Ressource_Humaine/"; + + axios.post(myurl, form).then(res => { + console.log(" In Update_One_Employee_Data res.data.status = " + res.data.status); + console.log(" In Update_One_Employee_Data res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setUpdate_One_Employee_Data_api("true"); + setUpdate_One_Employee_Data_result(res.data.message); + + Getall_Training_Employee(); + + disable_Employee_DetailFields(); + setemployee_data_changed(""); + setemployee_data_edit_mode(""); + Get_Employee_Data(selected_id); + alert(" La mise à jour été correctement faite."); + + myRef_head.current.scrollIntoView({ behavior: "smooth" }); + + } + else { + setUpdate_One_Employee_Data_api("false"); + setUpdate_One_Employee_Data_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + + console.warn('UpdateStagiaireData : Not good man :( Update_One_Employee_Data = ' + error); + setUpdate_One_Employee_Data_api("false"); + alert(" Impossible de mettre à jour l'employé"); + + }) + } + + + const [record_employee_Image_api, setrecord_employee_Image_api] = useState(); + const [record_employee_Image_message, setrecord_employee_Image_message] = useState(); + const [record_employee_Image_result, setrecord_employee_Image_result] = useState(); + function record_employee_Image(l) { + + const formData = new FormData(); + const url = process.env.REACT_APP_API_URL + "myclass/api/Update_Ressource_Humaine_Image/"; + + const stored_cookie = getCookie('tokenmysypart'); + formData.append("token", stored_cookie); + formData.append("rh_id", selected_id); + + formData.append('file_img', isimgclassSelected); + formData.append('file_img_recid', isimgclassSelected_recid); + + + //console.log(" ### formData = ", formData); + fetch( + url, + { + method: 'POST', + body: formData, + } + ) + .then((response) => response.json()) + .then((result) => { + console.log('Success:', result['message'], "result['status'] = ", result['status']); + + if (String(result['status']) === String("true")) { + setrecord_employee_Image_api("true"); + setuserimgclassprofilchanged(""); + alert(" L'image à jour a été mise enregistrée "); + + } else if (String(result['status']) === String("Err_Connexion")) { + alert('Erreur: ' + result['message']); + history.push("/Connexion"); + } else { + setrecord_employee_Image_api("false"); + alert(" Erreur : " + result['message']); + } + + }) + .catch((error) => { + console.error('Error:', error); + setrecord_employee_Image_api("false"); + alert(" Erreur : Impossible d'enregistrer l'image "); + + }); + + + }; + + + const [get_Employee_Images_api, setget_Employee_Images_api] = useState(); + const [get_Employee_Images_message, setget_Employee_Images_message] = useState(); + const [get_Employee_Images_result, setget_Employee_Images_result] = useState(); + function get_Employee_Images(employee_id) { + + setisimgclassSelected(); + setuserimgclassprofil(); + setisimgclassSelected_recid(); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecoded_Employee_Image_from_front/"; + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("rh_id", employee_id); + + + axios.post(myurl, form).then(res => { + + //console.log(" get_Employee_Images : In test res.data.status = " + res.data.status); + // console.log(" get_Employee_Images: res.data.message.img = " + res.data.message); + + if (String(res.data.status) === "true") { + setget_Employee_Images_api("true"); + + if (JSON.parse(res.data.message).logo_img) { + var partner_logo_img = "data:image/png;base64," + JSON.parse(res.data.message).logo_img; + setisimgclassSelected(partner_logo_img); + setuserimgclassprofil(partner_logo_img); + setisimgclassSelected_recid(JSON.parse(res.data.message).logo_img_recid); + } + + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + return; + } + else { + setget_Employee_Images_api("false"); + get_Employee_Images_message(res.data.message) + alert(res.data.message); + + } + }).catch((error) => { + console.warn('get_Employee_Images ee: Not good man :( = ', error); + setget_Employee_Images_api("false"); + get_Employee_Images_message(" Impossible de recuperer l'image de l'employé") + }) + + } + + + function removeRecodedLogoImage() { + if (!isimgclassSelected_recid || String(isimgclassSelected_recid).length < 3) { + alert(" Image incorrecte. Impossible de la supprimer "); + return; + } + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("image_recid", isimgclassSelected_recid); + + fetch( + process.env.REACT_APP_API_URL + "myclass/api/DeleteImage_Stagiaire_v2/", + { + method: 'POST', + body: form, + } + ).then((response) => response.json()) + .then((result) => { + + console.log(' removeRecodedClassImage : status:', result['status']); + console.log('removeRecodedClassImage : Success:', result['message']); + + + if (String(result['status']) === String("true")) { + setisimgclassSelected(""); + setisimgclassSelected_recid(""); + setisimgclassSelectedfile(""); + setuserimgclassprofil(""); + get_Employee_Images(); + + } + else if (String(result['status']) === String("Err_Connexion")) { + alert('Erreur: ' + result['message']); + history.push("/Connexion"); + return; + } + + else { + alert(result['message']); + } + + }) + .catch((error) => { + console.error('Error:', error); + alert(" Impossible de supprimer l'image "); + }); + + } + + + const imglogoclasschangeHandler = (event) => { + + + let file_size = event.target.files[0].size; + + //or if you like to have name and type + //console.log(event.target.files); + + let file_name = event.target.files[0].name; + let file_type = event.target.files[0].type; + + + + //alert("file_size = "+file_size+" file_type = "+file_type+" a = "+a); + if (file_size > 1000000) { + alert("L'image ne doit pas depasser un 1 Méga octets"); + return; + } + setisimgclassSelected(event.target.files[0]); + setisimgclassSelectedfile(true); + + setuserimgclassprofil(URL.createObjectURL(event.target.files[0])); + setuserimgclassprofilchanged("1"); + + }; + + + const [Get_List_Managers_api, setGet_List_Managers_api] = useState(); + const [Get_List_Managers_message, setGet_List_Managers_message] = useState(); + const [Get_List_Managers_result, setGet_List_Managers_result] = useState(); + function Get_List_Managers(event) { + + 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_Manager_Ressource_Humaine/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Get_List_Managers res.data.status = " + res.data.status); + //console.log(" In Get_List_Managers res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setGet_List_Managers_api("true"); + setGet_List_Managers_result(res.data.message); + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGet_List_Managers_api("false"); + setGet_List_Managers_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( Get_List_Managers = ', error); + setGet_List_Managers_api("false"); + //setmyApimyApiMessage("") + }) + } + + const [isimgclassSelected, setisimgclassSelected] = useState(false); + const [isimgclassSelected_recid, setisimgclassSelected_recid] = useState(""); + const [isimgclassSelectedfile, setisimgclassSelectedfile] = useState(false); + + + const [Get_List_RH_Profils_api, setGet_List_RH_Profils_api] = useState(); + const [Get_List_RH_Profils_message, setGet_List_RH_Profils_message] = useState(); + const [Get_List_RH_Profils_result, setGet_List_RH_Profils_result] = useState(); + function Get_List_RH_Profils(event) { + + 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_Profil_Ressource_Humaine/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Get_List_RH_Profils res.data.status = " + res.data.status); + //console.log(" In Get_List_RH_Profils res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setGet_List_RH_Profils_api("true"); + setGet_List_RH_Profils_result(res.data.message); + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGet_List_RH_Profils_api("false"); + setGet_List_RH_Profils_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( Get_List_RH_Profils = ', error); + setGet_List_RH_Profils_api("false"); + //setmyApimyApiMessage("") + }) + } + + + const [isimgclassdeleted, setisimgclassdeleted] = useState(""); + const [isimgclassdeleted_message, setisimgclassdeleted_message] = useState(""); + const [isimgclassSaved, setisimgclassSaved] = useState(""); + const [isimgclassSaved_message, setisimgclassSaved_message] = useState(""); + + const [userimgclassprofil, setuserimgclassprofil] = useState(); + const [userimgclassprofilchanged, setuserimgclassprofilchanged] = useState(""); + const myRef_head = useRef(null) const hiddenFileInput_session = React.useRef(null); const [Employee_data_changed, setEmployee_data_changed] = useState(); + const [add_One_Employee, setadd_One_Employee] = useState(); + function submenu_add_one_employee() { + + setdisplay_detail_employe(); + setadd_One_Employee("1"); + + } + + function Annule_add_one_Employee() { + setdisplay_detail_employe(); + setadd_One_Employee(); + } + const [Add_One_Employee_Data_api, setAdd_One_Employee_Data_api] = useState(); + const [Add_One_Employee_Data_message, setAdd_One_Employee_Data_message] = useState(); + const [Add_One_Employee_Data_result, setAdd_One_Employee_Data_result] = useState(); + function Add_One_Employee_Data() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + // Controle sur les champs + + if (p_one_detail_nom.trim() == "") { + alert(" Vous devez saisir le nom de l'employé"); + return; + } + + + if (p_one_detail_prenom.trim() == "") { + alert(" Vous devez saisir le prenom de l'employé"); + return; + } + + + if (p_one_detail_mail.trim() == "") { + alert(" Vous devez saisir l'email de l'employé"); + return; + } + + + var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; + if (!p_one_detail_mail.match(validRegex)) { + alert("L'adresse email est invalide."); + return; + } + + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("nom", p_one_detail_nom); + form.append("email", p_one_detail_mail); + form.append("prenom", p_one_detail_prenom); + + + + if (p_one_detail_tel) + form.append("telephone", p_one_detail_tel); + else + form.append("telephone", ""); + + + if (p_one_detail_tel_mobile) + form.append("telephone_mobile", p_one_detail_tel_mobile); + else + form.append("telephone_mobile", ""); + + if (p_one_detail_adresse) + form.append("adr_adresse", p_one_detail_adresse); + else + form.append("adr_adresse", ""); + + + if (p_one_detail_code_postal) + form.append("adr_code_postal", p_one_detail_code_postal); + else + form.append("adr_code_postal", ""); + + if (p_one_detail_ville) + form.append("adr_ville", p_one_detail_ville); + else + form.append("adr_ville", ""); + + if (p_one_detail_pays) + form.append("adr_pays", p_one_detail_pays); + else + form.append("adr_pays", ""); + + if (p_one_detail_profil) + form.append("profil", p_one_detail_profil); + else + form.append("profil", ""); + + + if (p_one_detail_fonction) + form.append("fonction", p_one_detail_fonction); + else + form.append("fonction", ""); + + + if (p_one_detail_civilite) + form.append("civilite", p_one_detail_civilite); + else + form.append("civilite", ""); + + + if (p_one_detail_resp_hierarchie_id) + form.append("superieur_hierarchie_id", p_one_detail_resp_hierarchie_id); + else + form.append("superieur_hierarchie_id", ""); + + + if (p_one_detail_linkedIn) + form.append("linkedin", p_one_detail_linkedIn); + else + form.append("linkedin", ""); + + if (p_one_detail_facebook) + form.append("facebook", p_one_detail_facebook); + else + form.append("facebook", ""); + + + if (p_one_detail_twitter) + form.append("twitter", p_one_detail_twitter); + else + form.append("twitter", ""); + + if (p_one_detail_ismanager) + form.append("ismanager", p_one_detail_ismanager); + else + form.append("ismanager", "0"); + + + console.log(" form == ", form); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Ressource_Humaine/"; + + axios.post(myurl, form).then(res => { + console.log(" In Add_One_Employee_Data res.data.status = " + res.data.status); + console.log(" In Add_One_Employee_Data res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setAdd_One_Employee_Data_api("true"); + setAdd_One_Employee_Data_result(res.data.message); + + Getall_Training_Employee(); + + + setemployee_data_changed(""); + setemployee_data_edit_mode(""); + + alert(res.data.message); + + myRef_head.current.scrollIntoView({ behavior: "smooth" }); + + } + else { + setAdd_One_Employee_Data_api("false"); + setAdd_One_Employee_Data_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + + console.warn('UpdateStagiaireData : Not good man :( Add_One_Employee_Data = ' + error); + setAdd_One_Employee_Data_api("false"); + alert(" Impossible d'ajouter l'employé"); + + }) + } + + return (
{
-
+
  { setSelectionModel(newSelectionModel); if (newSelectionModel.length === 1) handleClick_edit_session_From_Line(newSelectionModel); + if (newSelectionModel.length === 0) { + setdisplay_detail_employe(); + setadd_One_Employee(); + } }} selectionModel={selectionModel} @@ -897,7 +1762,7 @@ const Employes = (props) => { civilite: JSON.parse(item).civilite, profil: JSON.parse(item).profil, fonction: JSON.parse(item).fonction, - + ismanager: JSON.parse(item).ismanager, } ))} @@ -970,7 +1835,7 @@ const Employes = (props) => { -
- {String(display_detail_employe) === "1" &&
- -
+ + {String(display_detail_employe) === "1" && String(add_One_Employee) !== "1" &&
+ +
+
+ +
+
+
+ +
+
+
+ {} + + {/*isimgclassSelected && */} + {isimgclassdeleted && String(isimgclassdeleted) === "1" && } + {isimgclassdeleted && String(isimgclassdeleted) === "0" && } + {isimgclassSelected && String(isimgclassSaved) === "0" && } +
+ +
+
+
  • + L'image doit etre carrée. +
  • +
  • + Les formats autorisés sont : ['jpg', 'jpeg', 'png', 'jpe', 'webp'] +
  • +
  • + Les dimensions recommandées: 128pixels X 128pixels -- 144pixels X 144pixels -- 168pixels X 168pixels
    + Les dimensions maximales sont de 256pixels X 256pixels +
  • +
  • + La taille de l'image ne doit pas depasser 1 mega octet +
  • +
    + +
    +
    + +
    + employee_data_changed = {Employee_data_changed} / employee_data_edit_mode = {employee_data_edit_mode}
    Nom
    { />
    + {String(employee_data_edit_mode) !== "1" &&
    Civilité
    + +
    } + {String(employee_data_edit_mode) === "1" &&
    Civilité
    + { + setp_detail_civilite(e.target.value); + setEmployee_data_changed("1"); + }} + > + M.    + Mme.   + Neutre   + + +
    } +
    Email
    { />
    +
    Téléphone Mobile
    + { + setp_detail_tel_mobile(e.target.value); + setEmployee_data_changed("1"); + } + } + /> +
    +
    Téléphone
    { />
    -
    Adresse
    { }} />
    + +
    Pays
    + { + setp_detail_pays(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + +
    Linkedin
    + { + setp_detail_linkedIn(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + +
    Facebook
    + { + setp_detail_facebook(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + +
    Twitter
    + { + setp_detail_twitter(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + + {String(employee_data_edit_mode) !== "1" &&
    Profil
    + +
    } + + {String(employee_data_edit_mode) === "1" &&
    Profil
    + { + setp_detail_profil(e.target.value); + setEmployee_data_changed("1"); + }} + > + {Get_List_RH_Profils_result && + Get_List_RH_Profils_result.map((myprofil) => ( + + {JSON.parse(myprofil).profil_nom}   + + + ))} + +
    } + +
    Fonction
    + { + setp_detail_fonction(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + + + {String(employee_data_edit_mode) !== "1" &&
    Manager
    + +
    } + + {String(employee_data_edit_mode) === "1" &&
    Manager
    + { + setp_detail_ismanager(e.target.value); + setEmployee_data_changed("1"); + }} + > + Oui    + Non   + + +
    } + + {String(employee_data_edit_mode) !== "1" &&
    Responsable (n+1)
    + +
    } + {String(employee_data_edit_mode) === "1" &&
    Responsable (n+1)
    + { + setp_detail_resp_hierarchie_id(e.target.value); + setEmployee_data_changed("1"); + }} + > + {Get_List_Managers_result && + Get_List_Managers_result.filter((local_mymanager) => JSON.parse(local_mymanager)._id !== selected_id).map((mymanager) => ( + + {JSON.parse(mymanager).nom}  {JSON.parse(mymanager).prenom} + + + ))} + + +
    } + + +
    +   +
    + {String(Employee_data_changed) === "1" && String(employee_data_edit_mode) === "1" &&
    + /!\ Pensez à enregistrer les modifications +
    } + + +
    + + {String(Employee_data_changed) === "1" && String(employee_data_edit_mode) === "1" &&
    + + + +
    } + + {String(employee_data_edit_mode) === "1" &&
    + +
    } +
    + + + {String(employee_data_edit_mode) !== "1" &&
    + + + +
    } +
    +   +
    +
    +
    } + + + + {String(display_detail_employe) !== "1" && String(add_One_Employee) === "1" &&
    + + +
    + employee_data_changed = {Employee_data_changed} / employee_data_edit_mode = {employee_data_edit_mode}
    +
    Nom
    + { + setp_one_detail_nom(e.target.value); + setEmployee_data_changed("1"); + } + } + + /> +
    + +
    Prenom
    + { + setp_one_detail_prenom(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + +
    Civilité
    + { + setp_one_detail_civilite(e.target.value); + setEmployee_data_changed("1"); + }} + > + M.    + Mme.   + Neutre   + + +
    + +
    Email
    + { + setp_one_detail_mail(e.target.value); + setEmployee_data_changed("1"); + } + } + + /> +
    + +
    Téléphone Mobile
    + { + setp_one_detail_tel_mobile(e.target.value); + setEmployee_data_changed("1"); + } + } + /> +
    + +
    Téléphone
    + { + setp_one_detail_tel(e.target.value); + setEmployee_data_changed("1"); + } + } + /> +
    + +
    Adresse
    + { + setp_one_detail_adresse(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    +
    Code postal
    + { + setp_one_detail_code_postal(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    +
    Ville
    + { + setp_one_detail_ville(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + +
    Pays
    + { + setp_one_detail_pays(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + +
    Linkedin
    + { + setp_one_detail_linkedIn(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + +
    Facebook
    + { + setp_one_detail_facebook(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + +
    Twitter
    + { + setp_one_detail_twitter(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + +
    Profil
    + { + setp_one_detail_profil(e.target.value); + setEmployee_data_changed("1"); + }} + > + {Get_List_RH_Profils_result && + Get_List_RH_Profils_result.map((myprofil) => ( + + {JSON.parse(myprofil).profil_nom}   + + + ))} + +
    + +
    Fonction
    + { + setp_one_detail_fonction(e.target.value); + setEmployee_data_changed("1"); + }} + /> +
    + + +
    Manager
    + { + setp_one_detail_ismanager(e.target.value); + setEmployee_data_changed("1"); + }} + > + Oui    + Non   + + +
    + +
    Responsable (n+1)
    + { + setp_one_detail_resp_hierarchie_id(e.target.value); + setEmployee_data_changed("1"); + }} + > + {Get_List_Managers_result && + Get_List_Managers_result.filter((local_mymanager) => JSON.parse(local_mymanager)._id !== selected_id).map((mymanager) => ( + + {JSON.parse(mymanager).nom}  {JSON.parse(mymanager).prenom} + + + ))} + + +
    + + +
    +   +
    + +
    +
    + + {
    + + + +
    } + + {
    + +
    } +
    + + + +
    +  
    } -
    - -