From 63d3491031f851118c18b8ab3afc602dd38f7198 Mon Sep 17 00:00:00 2001 From: Cherif Date: Sun, 20 Jul 2025 20:53:26 +0200 Subject: [PATCH] qsdsq --- src/App.js | 2 +- src/components/AddPartnerClient.js | 13 + src/components/Apprenant.js | 2 +- src/components/Config_Document_Super_Admin.js | 2 +- src/components/DisplayPartnerPromotion.js | 4 +- src/components/DisplayPartnerSession.js | 3 +- src/components/DisplayPartnerStagiaires.js | 521 ++++++++++++++---- ...play_Partner_Catalog_DetailClass_new_v2.js | 2 +- src/components/Emarge_QR_Code.js | 91 +-- .../Jmjformation_Catalogue_Public.js | 50 +- src/components/Jmj_Theme/jmj_formation.css | 49 +- src/components/Module_Editique.js | 3 +- .../Module_Session_Planification.js | 66 ++- src/components/Mon_Catalogue_Public.js | 2 +- src/components/Partner_Client.js | 419 +++++++++++++- src/components/Partner_Config_Formulaires.js | 10 +- src/components/SurveyDocument.js | 1 - src/mysy_img/jmj_bannier_mobile.png | Bin 0 -> 101596 bytes src/pages/jmjformation_catalogue_public.js | 5 +- src/styles/components/_addpartnerclient.scss | 17 + src/styles/components/_apprenant.scss | 2 +- .../components/_displaypartnerstagiaire.scss | 17 + .../components/_mon_catalogue_public.scss | 202 ++++++- src/styles/components/_partnerclient.scss | 49 +- 24 files changed, 1267 insertions(+), 265 deletions(-) create mode 100644 src/mysy_img/jmj_bannier_mobile.png diff --git a/src/App.js b/src/App.js index 6dc5961..3c6a335 100644 --- a/src/App.js +++ b/src/App.js @@ -362,7 +362,7 @@ function App() { - / + diff --git a/src/components/AddPartnerClient.js b/src/components/AddPartnerClient.js index 60f6bf0..25808a1 100644 --- a/src/components/AddPartnerClient.js +++ b/src/components/AddPartnerClient.js @@ -126,6 +126,8 @@ const AddParnerClient = (props) => { const [p_client_raison_sociale, setclient_raison_sociale] = useState(""); const [p_client_is_company, setp_client_is_company] = useState(""); + const [p_detail_archive, setp_detail_archive] = useState(""); + const [p_client_siret, setclient_siret] = useState(""); @@ -803,6 +805,13 @@ const AddParnerClient = (props) => { } + setp_detail_archive("0"); + if (mylocalclient.archive) { + setp_detail_archive(mylocalclient.archive); + } + + + if (String(mylocalclient.is_financeur) === "1") setp_client_is_financeur(true); else @@ -4157,9 +4166,13 @@ const AddParnerClient = (props) => { {String(submenu).trim() === "submenu_donnee_client" &&
+ {p_detail_archive && String(p_detail_archive) === "1" && +
Document Archivé
}
 
+ +
} {String(partner_document_data_edit_mode) === "1" &&
Version par defaut
diff --git a/src/components/DisplayPartnerPromotion.js b/src/components/DisplayPartnerPromotion.js index eb1f65b..b789523 100644 --- a/src/components/DisplayPartnerPromotion.js +++ b/src/components/DisplayPartnerPromotion.js @@ -969,9 +969,6 @@ const DisplayPartnerPromotion = (props) => {
- - - } {/*** FIN GESTION Dialog menu item mise à jour*/} @@ -26642,6 +26639,7 @@ const DisplayPartnerPromotion = (props) => { submenu_evaluation={submenu_evaluation_session} submenu_attestation={submenu_attestation} submenu_q_positionnement={submenu_q_positionnement} + Get_List_Partner_Clients={Get_List_Partner_Clients} nb_valide_inscription_entreprise={nb_valide_inscription_entreprise} nb_valide_inscription_individuelle={nb_valide_inscription_individuelle} selected_session_invoiced_statut={selected_session_invoiced_statut} diff --git a/src/components/DisplayPartnerSession.js b/src/components/DisplayPartnerSession.js index 7cc69e1..05b65c8 100644 --- a/src/components/DisplayPartnerSession.js +++ b/src/components/DisplayPartnerSession.js @@ -19256,7 +19256,6 @@ const DisplayPartnerSession = (props) => {
- {String(p_filtre1) !== "archive" &&
{p_filtre1 && { submenu_evaluation={submenu_evaluation_session} submenu_attestation={submenu_attestation} submenu_q_positionnement={submenu_q_positionnement} + Get_List_Partner_Clients={Get_List_Partner_Clients} nb_valide_inscription_entreprise={nb_valide_inscription_entreprise} nb_valide_inscription_individuelle={nb_valide_inscription_individuelle} selected_session_invoiced_statut={selected_session_invoiced_statut} Session_automatic_traitement_data={GetCurrentSession_automatic_traitement_data} + />
} diff --git a/src/components/DisplayPartnerStagiaires.js b/src/components/DisplayPartnerStagiaires.js index 886e25f..615909f 100644 --- a/src/components/DisplayPartnerStagiaires.js +++ b/src/components/DisplayPartnerStagiaires.js @@ -153,6 +153,7 @@ const DisplayPartnerStagiaires = (props) => { const columns = [ { field: '_id', headerName: '_id', hide: true, editable: false, Width: 0, disableExport: true, }, { field: 'session_id', headerName: 'session_id', hide: true, editable: false, Width: 0, disableExport: true, }, + { field: 'archive', headerName: 'archive', hide: true, editable: false, Width: 0, disableExport: true, }, { field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, }, { field: 'class_id', headerName: 'class_id', hide: true, Width: 0, disableExport: true, }, { field: 'class_internal_url', headerName: 'class_internal_url', hide: true, editable: false, Width: 0, disableExport: true, }, @@ -221,7 +222,7 @@ const DisplayPartnerStagiaires = (props) => { renderCell: (cellValues) => { return (
- {New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 &&
@@ -940,7 +941,10 @@ const DisplayPartnerStagiaires = (props) => { setselected_code_session(''); setsubmenu(''); - alert(" La mise à jour a été correctement faite.") + // alert(" La mise à jour a été correctement faite."); + setdisplay_alert_mysy("1"); + setalert_message(" La mise à jour a été correctement faite."); + setalert_type("success"); } else { setDeleteStagiaireData_api("false"); @@ -1044,6 +1048,7 @@ const DisplayPartnerStagiaires = (props) => { const [Getall_TrainingParticipant_result, setGetall_TrainingParticipant_result] = useState([]); function Getall_TrainingParticipant(event) { + setloading_datagrid(true); setSelectionModel([]); var form = new FormData(); @@ -1094,6 +1099,7 @@ const DisplayPartnerStagiaires = (props) => { setLoading(false); if (String(res.data.status) === String("true")) { + setloading_datagrid(false); //console.log(" In Getall_TrainingParticipant res.data.status = " + res.data.status); //console.log(" In Getall_TrainingParticipant res.data.message r_class = " + res.data.message); setGetall_TrainingParticipant_api("true"); @@ -1103,6 +1109,7 @@ const DisplayPartnerStagiaires = (props) => { } else { + setloading_datagrid(false); setGetall_TrainingParticipant_api("false"); setGetall_TrainingParticipant_message(res.data.message); // alert(res.data.message); @@ -1112,6 +1119,7 @@ const DisplayPartnerStagiaires = (props) => { } }).catch((error) => { + setloading_datagrid(false); setLoading(false); console.warn('Not good man :( Getall_TrainingParticipant = ', error); setGetall_TrainingParticipant_api("false"); @@ -1123,7 +1131,7 @@ const DisplayPartnerStagiaires = (props) => { function Getall_TrainingParticpant_no_filter(event) { - + setloading_datagrid(true); var form = new FormData(); @@ -1137,6 +1145,7 @@ const DisplayPartnerStagiaires = (props) => { axios.post(myurl, form).then(res => { setLoading(false); if (String(res.data.status) === String("true")) { + setloading_datagrid(false); //console.log(" In Getall_TrainingParticipant res.data.status = " + res.data.status); //console.log(" In Getall_TrainingParticipant res.data.message r_class = " + res.data.message); setGetall_TrainingParticipant_api("true"); @@ -1144,11 +1153,13 @@ const DisplayPartnerStagiaires = (props) => { setRows(res.data.message); } else { + setloading_datagrid(false); setGetall_TrainingParticipant_api("false"); setGetall_TrainingParticipant_message(res.data.message); } }).catch((error) => { + setloading_datagrid(false); setLoading(false); console.warn('Not good man :( Getall_TrainingParticipant = ', error); setGetall_TrainingParticipant_api("false"); @@ -1610,7 +1621,10 @@ const DisplayPartnerStagiaires = (props) => { var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; if (!local_mail.trim().match(validRegex)) { - alert("L'adresse email est invalide. Impossible de renvoyer les identifiants"); + // alert("L'adresse email est invalide. Impossible de renvoyer les identifiants"); + setdisplay_alert_mysy("1"); + setalert_message("L'adresse email est invalide. Impossible de renvoyer les identifiants"); + setalert_type("error"); return; } formData.append("email", local_mail); @@ -1695,7 +1709,10 @@ const DisplayPartnerStagiaires = (props) => { //alert("file_size = "+file_size+" file_type = "+file_type+" a = "+a); if (file_size > 1000000) { - alert("L'image ne doit pas dépasser un 1 Méga octets"); + // alert("L'image ne doit pas dépasser un 1 Méga octets"); + setdisplay_alert_mysy("1"); + setalert_message("L'image ne doit pas dépasser un 1 Méga octets"); + setalert_type("error"); return; } setisimgclassSelected(event.target.files[0]); @@ -1796,12 +1813,18 @@ const DisplayPartnerStagiaires = (props) => { trainer = document.getElementsByName("formateur")[0].value; if (trainer == "") { - alert(" Aucun formateur pour cette session "); + //alert(" Aucun formateur pour cette session "); + setdisplay_alert_mysy("1"); + setalert_message(" Aucun formateur pour cette session "); + setalert_type("error"); return; } if (addendeeEmail == "") { - alert(" Aucun utilisateur choisi "); + // alert(" Aucun utilisateur choisi "); + setdisplay_alert_mysy("1"); + setalert_message(" Aucun utilisateur choisi "); + setalert_type("error"); return; } @@ -2261,6 +2284,7 @@ const DisplayPartnerStagiaires = (props) => { desableSessionFields(); } + const [loading_datagrid, setloading_datagrid] = useState(true); const [SendEvaluationEmail_api, setSendEvaluationEmail_api] = useState(); const [SendEvaluationEmail_message, setSendEvaluationEmail_message] = useState(); @@ -2320,7 +2344,10 @@ const DisplayPartnerStagiaires = (props) => { //console.log(" In SendEvaluationEmail res.data.message r_class = " + res.data.message); setSendEvaluationEmail_api("true"); setSendEvaluationEmail_result(res.data.message); - alert(" La demande a été correctement envoyée"); + // alert(" La demande a été correctement envoyée"); + setdisplay_alert_mysy("1"); + setalert_message(" La demande a été correctement envoyée"); + setalert_type("success"); } else if (String(res.data.status) === String("Err_Connexion")) { alert('Erreur: ' + res.data.message); @@ -2329,7 +2356,10 @@ const DisplayPartnerStagiaires = (props) => { else { setSendEvaluationEmail_api("false"); setSendEvaluationEmail_message(res.data.message); - alert(" Erreur : " + res.data.message); + // alert(" Erreur : " + res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); } }).catch((error) => { @@ -2373,14 +2403,20 @@ const DisplayPartnerStagiaires = (props) => { if (String(result['status']) === String("true")) { setrecord_Stagiaire_Image_api("true"); setuserimgclassprofilchanged(""); - alert(" L'image a été enregistrée "); + // alert(" L'image a été enregistrée "); + setdisplay_alert_mysy("1"); + setalert_message(" L'image a été enregistrée "); + setalert_type("success"); } else if (String(result['status']) === String("Err_Connexion")) { alert('Erreur: ' + result['message']); history.push("/Connexion"); } else { setrecord_Stagiaire_Image_api("false"); - alert(" Erreur : " + result['message']); + // alert(" Erreur : " + result['message']); + setdisplay_alert_mysy("1"); + setalert_message(result['message']); + setalert_type("error"); } }) @@ -2397,7 +2433,11 @@ const DisplayPartnerStagiaires = (props) => { function removeRecodedLogoImage() { if (!isimgclassSelected_recid || String(isimgclassSelected_recid).length < 3) { - alert(" Image incorrecte. Impossible de la supprimer "); + //alert(" Image incorrecte. Impossible de la supprimer "); + + setdisplay_alert_mysy("1"); + setalert_message(" Image incorrecte. Impossible de la supprimer "); + setalert_type("error"); return; } @@ -2463,7 +2503,11 @@ const DisplayPartnerStagiaires = (props) => { //console.log("file_size = ",file_size," file_type = ",file_type); if (file_size > 1000000) { - alert("Le fichier ne doit pas dépasser un 1 Méga octets"); + // alert("Le fichier ne doit pas dépasser un 1 Méga octets"); + + setdisplay_alert_mysy("1"); + setalert_message("Le fichier ne doit pas dépasser un 1 Méga octets"); + setalert_type("error"); return; } @@ -2505,7 +2549,10 @@ const DisplayPartnerStagiaires = (props) => { setliste_sessions_file_change_api("true"); Getall_TrainingParticipant(); - alert(" Les stagiaires ont été correctement importés"); + // alert(" Les stagiaires ont été correctement importés"); + setdisplay_alert_mysy("1"); + setalert_message(" Les stagiaires ont été correctement importés"); + setalert_type("success"); } @@ -3282,6 +3329,8 @@ const DisplayPartnerStagiaires = (props) => { const [p_detail_tuteur1_civilite, setp_detail_tuteur1_civilite] = useState(""); + const [p_detail_archive, setp_detail_archive] = useState(""); + const [p_detail_tuteur1_prenom, setp_detail_tuteur1_prenom] = useState(""); const [p_detail_tuteur1_email, setp_detail_tuteur1_email] = useState(""); @@ -3394,7 +3443,7 @@ const DisplayPartnerStagiaires = (props) => { 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 GetAttendee res.data.message r_class = " + res.data.message); setGetAttendee_api("true"); setGetAttendee_result(res.data.message); @@ -3555,6 +3604,13 @@ const DisplayPartnerStagiaires = (props) => { } + if (mylocalattendee.archive) { + setp_detail_archive(mylocalattendee.archive); + } else { + setp_detail_archive("0"); + } + + if (mylocalattendee.employeur) { setp_detail_employeur(mylocalattendee.employeur); @@ -3862,28 +3918,43 @@ const DisplayPartnerStagiaires = (props) => { if (!p_one_civilite_part || p_one_civilite_part.trim() == "") { - alert(" Vous devez saisir la civilité du participant"); + // alert(" Vous devez saisir la civilité du participant"); + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez saisir la civilité du participant"); + setalert_type("error"); return; } if (!p_one_nom_part || p_one_nom_part.trim() == "") { - alert(" Vous devez saisir le nom du participant"); + // alert(" Vous devez saisir le nom du participant"); + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez saisir le nom du participant"); + setalert_type("error"); return; } if (!p_one_prenom_part || p_one_prenom_part.trim() == "") { - alert(" Vous devez saisir le prenom du participant"); + // alert(" Vous devez saisir le prenom du participant"); + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez saisir le prenom du participant"); + setalert_type("error"); return; } if (!p_one_naissance_part || p_one_naissance_part.trim() == "") { - alert(" Vous devez saisir la date de naissance du participant"); + // alert(" Vous devez saisir la date de naissance du participant"); + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez saisir la date de naissance du participant"); + setalert_type("error"); return; } if (!p_one_email_part || p_one_email_part.trim() == "") { - alert(" Vous devez saisir l'email du participant"); + // alert(" Vous devez saisir l'email du participant"); + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez saisir l'email du participant"); + setalert_type("error"); return; } @@ -3892,19 +3963,28 @@ const DisplayPartnerStagiaires = (props) => { var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; if (!p_one_email_part.trim().match(validRegex)) { - alert("L'adresse email est invalide 1."); + // alert("L'adresse email est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("L'adresse email est invalide."); + setalert_type("error"); return; } if (!p_one_phone_part || p_one_phone_part.trim() == "") { - alert(" Vous devez saisir le téléphone du participant"); + // alert(" Vous devez saisir le téléphone du participant"); + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez saisir le téléphone du participant"); + setalert_type("error"); return; } if (!p_one_detail_session_class || p_one_detail_session_class.trim() == "") { - alert(" La session est invalide"); + // alert(" La session est invalide"); + setdisplay_alert_mysy("1"); + setalert_message(" La session est invalide"); + setalert_type("error"); return; } @@ -3922,22 +4002,34 @@ const DisplayPartnerStagiaires = (props) => { form.append("telephone", p_one_phone_part.trim()); if (String(p_one_civilite_part).trim().length == 0) { - alert("La civilité est invalide."); + // alert("La civilité est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("La civilité est invalide."); + setalert_type("error"); return; } if (String(p_one_nom_part).trim().length < 2) { - alert("Le nom est invalide."); + // alert("Le nom est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("Le nom est invalide."); + setalert_type("error"); return; } if (String(p_one_prenom_part).trim().length < 2) { - alert("Le prenom est invalide."); + // alert("Le prenom est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("Le prenom est invalide."); + setalert_type("error"); return; } if (String(p_one_phone_part).trim().length < 2) { - alert("Le Téléphone est invalide."); + // alert("Le Téléphone est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("Le Téléphone est invalide."); + setalert_type("error"); return; } @@ -4004,7 +4096,10 @@ const DisplayPartnerStagiaires = (props) => { local_value = local_value.replaceAll(",", "."); if (isNaN(local_value)) { - alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.") + var txt = "Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique." + setdisplay_alert_mysy("1"); + setalert_message(txt); + setalert_type("error"); return; } } @@ -4013,7 +4108,10 @@ const DisplayPartnerStagiaires = (props) => { } if (String(spec_field_updated_values_hooks[i].is_mandatory) === "1") { if (String(local_value).trim().length <= 0) { - alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.") + var txt = "Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire."; + setdisplay_alert_mysy("1"); + setalert_message(txt); + setalert_type("error"); return; } @@ -4090,7 +4188,10 @@ const DisplayPartnerStagiaires = (props) => { if (p_detail_session_class.length <= 0) { - alert(" Vous devez choisir une session"); + // alert(" Vous devez choisir une session"); + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez choisir une session"); + setalert_type("error"); return; } @@ -4106,29 +4207,44 @@ const DisplayPartnerStagiaires = (props) => { form.append("date_naissance", p_detail_naissance); if (!p_detail_nom || String(p_detail_nom).trim().length < 2) { - alert("Le nom est invalide."); + // alert("Le nom est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("Le nom est invalide."); + setalert_type("error"); return; } if (!p_detail_prenom || String(p_detail_prenom).trim().length < 2) { - alert("Le prenom est invalide."); + // alert("Le prenom est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("Le prenom est invalide."); + setalert_type("error"); return; } if (!p_detail_civilite || String(p_detail_civilite).trim() === "") { - alert("La civilité est invalide."); + // alert("La civilité est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("La civilité est invalide."); + setalert_type("error"); return; } if (!p_detail_tel || String(p_detail_tel).trim().length < 2) { - alert("Le numéro de téléphone est invalide."); + // alert("Le numéro de téléphone est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("Le numéro de téléphone est invalide."); + setalert_type("error"); return; } var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; if (!p_detail_mail.trim().match(validRegex)) { - alert("L'adresse email est invalide."); + // alert("L'adresse email est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("L'adresse email est invalide."); + setalert_type("error"); return; } @@ -4221,7 +4337,10 @@ const DisplayPartnerStagiaires = (props) => { local_value = local_value.replaceAll(",", "."); if (isNaN(local_value)) { - alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.") + var txt = "Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique."; + setdisplay_alert_mysy("1"); + setalert_message(txt); + setalert_type("error"); return; } @@ -4231,7 +4350,10 @@ const DisplayPartnerStagiaires = (props) => { } if (String(spec_field_updated_values_hooks[i].is_mandatory) === "1") { if (String(local_value).trim().length <= 0) { - alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.") + var txt = "Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire."; + setdisplay_alert_mysy("1"); + setalert_message(txt); + setalert_type("error"); return; } @@ -4258,7 +4380,10 @@ const DisplayPartnerStagiaires = (props) => { setparticipant_data_changed(); setparticipant_data_edit_mode(); GetAttendee_Data(p_detail_mail, p_detail_session_class_id, selected_internal_url); - alert(" La mise à jour a été correctement faite."); + + setdisplay_alert_mysy("1"); + setalert_message(" La mise à jour a été correctement faite."); + setalert_type("error"); //myRef_head.current.scrollIntoView({ behavior: "smooth" }); @@ -4285,7 +4410,10 @@ const DisplayPartnerStagiaires = (props) => { setLoading(false); console.warn('UpdateStagiaireData : Not good man :( mysearchtext = ' + error); setUpdateStagiaireData_api("false"); - alert(" Impossible de mettre à jour le participant"); + + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de mettre à jour le participant"); + setalert_type("error"); }) } @@ -4301,7 +4429,10 @@ const DisplayPartnerStagiaires = (props) => { if (p_detail_session_class.length <= 0) { - alert(" Vous devez choisir une session"); + // alert(" Vous devez choisir une session"); + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez choisir une session"); + setalert_type("error"); return; } @@ -4332,7 +4463,10 @@ const DisplayPartnerStagiaires = (props) => { setparticipant_data_changed(); setparticipant_data_edit_mode(); GetAttendee_Data(p_detail_mail, p_detail_session_class_id, selected_internal_url); - alert(" La mise à jour a été correctement faite."); + // alert(" La mise à jour a été correctement faite."); + setdisplay_alert_mysy("1"); + setalert_message(" La mise à jour a été correctement faite."); + setalert_type("error"); //myRef_head.current.scrollIntoView({ behavior: "smooth" }); @@ -4399,8 +4533,8 @@ const DisplayPartnerStagiaires = (props) => { var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Partner_List_Partner_Client/"; axios.post(myurl, form).then(res => { - //console.log(" In Get_List_Partner_Clients res.data.status = " + res.data.status); - //console.log(" In Get_List_Partner_Clients res.data.message r_class = " + res.data.message); + // console.log(" In Get_List_Partner_Clients res.data.status = " + res.data.status); + // console.log(" In Get_List_Partner_Clients res.data.message r_class = " + res.data.message); if (String(res.data.status) === String("true")) { setGet_List_Partner_Clients_api("true"); @@ -4440,6 +4574,10 @@ const DisplayPartnerStagiaires = (props) => { if (new_data2.length > 0) setNew_Get_List_Partner_Clients_result(new_data2); + else + setNew_Get_List_Partner_Clients_result([]); + + //console.log(" ### setNew_Get_List_Partner_Clients_result new_data2 = ", new_data2) } else if (String(res.data.status) === String("Err_Connexion")) { alert('Erreur: ' + res.data.message); @@ -5525,7 +5663,6 @@ const DisplayPartnerStagiaires = (props) => { if (String(actionmass_ftion_val) === String("valide_inscr")) { Accept_List_Inscritpion(liste_session); - } @@ -5559,9 +5696,95 @@ const DisplayPartnerStagiaires = (props) => { setDialog_PUSH_DOCUMENT_TO_ENT_open(true); setent_push_doc_message_notif(""); } + + if (String(actionmass_ftion_val) === String("archive_desarchive")) { + Archive_Given_Stagiaire(); + } } + const [Archive_Given_Stagiaire_api, setArchive_Given_Stagiaire_api] = useState(); + const [Archive_Given_Stagiaire_message, setArchive_Given_Stagiaire_message] = useState(); + const [Archive_Given_Stagiaire_result, setArchive_Given_Stagiaire_result] = useState(); + + function Archive_Given_Stagiaire() { + + var archive_statut = "1" + + var tab_tmp = [] + + for (var i = 0; i < selectionModel.length; i++) { + var myid = parseInt(String(selectionModel[i])); + var line = JSON.parse(rowss[myid]); + tab_tmp.push(line._id); + //console.log(rowss[myid]['external_code']); + + // Si une seule ligne est a le statut "non archivé", alors on archive + if (line.archive && String(line.archive) === "0") + archive_statut = String(line.archive) + } + + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("tab_stagiaire_ids", tab_tmp); + + + var myurl = ""; + if (archive_statut !== "1") + myurl = process.env.REACT_APP_API_URL + "myclass/api/archive_stagiaire/"; + else + myurl = process.env.REACT_APP_API_URL + "myclass/api/unarchive_stagiaire/"; + + + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Archive_Given_Stagiaire res.data.status = " + res.data.status); + //console.log(" In Archive_Given_Stagiaire res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setArchive_Given_Stagiaire_api("true"); + setArchive_Given_Stagiaire_result(res.data.message); + + setSelectionModel([]); + setactionmass_ftion_val(""); + + Getall_TrainingParticipant(); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + } + else { + setArchive_Given_Stagiaire_api("false"); + setArchive_Given_Stagiaire_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + }).catch((error) => { + + + setLoading(false); + console.warn('UpdateStagiaireData : Not good man :( Archive_Given_Stagiaire = ' + error); + setArchive_Given_Stagiaire_api("false"); + + alert(" Impossible d'archiver/deséarchiver les stagiaires "); + + + + }) + } + function Export_Inscriptions(tab_class) { const stored_cookie = getCookie('tokenmysypart'); @@ -5650,7 +5873,7 @@ const DisplayPartnerStagiaires = (props) => { tab_tmp.push(line.email); tab_tmp_inscription_id.push(line._id); tab_tmp_session_id.push(line.session_id); - console.log(" ### line = ", line); // zzzz + } setselectedtraining_emails(tab_tmp); @@ -5912,7 +6135,10 @@ const DisplayPartnerStagiaires = (props) => { //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); if (p_detail_session_class.length <= 0) { - alert(" Vous devez choisir une session"); + // alert(" Vous devez choisir une session"); + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez choisir une session"); + setalert_type("error"); return; } const stored_cookie = getCookie('tokenmysypart'); @@ -5940,7 +6166,10 @@ const DisplayPartnerStagiaires = (props) => { if (p_detail_tuteur1_email && String(p_detail_tuteur1_email).trim() !== "") { var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; if (!p_detail_tuteur1_email.trim().match(validRegex)) { - alert("L'adresse email du tuteur est invalide."); + // alert("L'adresse email du tuteur est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("L'adresse email du tuteur est invalide."); + setalert_type("error"); return; } @@ -6005,7 +6234,10 @@ const DisplayPartnerStagiaires = (props) => { if (p_detail_tuteur2_email && String(p_detail_tuteur2_email).trim() !== "") { var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; if (!p_detail_tuteur2_email.trim().match(validRegex)) { - alert("L'adresse email du tuteur est invalide."); + // alert("L'adresse email du tuteur est invalide."); + setdisplay_alert_mysy("1"); + setalert_message("L'adresse email du tuteur est invalide."); + setalert_type("error"); return; } form.append("tuteur2_email", p_detail_tuteur2_email.trim()); @@ -6583,6 +6815,7 @@ const DisplayPartnerStagiaires = (props) => { { "id": "3", "label": "Desactiver Recyclage", "value": "recyclage_disable" }, { "id": "4", "label": "Contacter par Email", "value": "sendemail" }, { "id": "5", "label": "Partager Document", "value": "pushdocument" }, + { "id": "6", "label": "Archiver/Désarch.", "value": "archive_desarchive" }, ] @@ -6617,6 +6850,7 @@ const DisplayPartnerStagiaires = (props) => { { "id": "code_session", "label": "Code Promo", "value": "code_session" }, { "id": "class_title", "label": "Titre Formation", "value": "class_title" }, { "id": "client_nom", "label": "Lié au Client (nom client) ", "value": "client_nom" }, + { "id": "archive", "label": "Archive", "value": "archive" }, { "id": "", "label": "", "value": "" }, { "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres. ] @@ -7145,6 +7379,15 @@ const DisplayPartnerStagiaires = (props) => { const [ent_push_doc_message_notif, setent_push_doc_message_notif] = useState(false); + const New_Option_Is_archive = [ + { "id": "1", "label": "Oui", "value": "1" }, + { "id": "0", "label": "Non", "value": "0" }, + { "id": "2", "label": "Tout", "value": "2" }, + { "id": "", "label": "", "value": "" }, + ] + + const [is_recherche, setis_recherche] = useState("0"); + return (
{isLoading &&
@@ -7304,8 +7547,8 @@ const DisplayPartnerStagiaires = (props) => {
-
-
@@ -8986,6 +9257,7 @@ const DisplayPartnerStagiaires = (props) => { }} > { nb_jour_avant_recyclage: JSON.parse(item).nb_jour_avant_recyclage, warning_recyclage: JSON.parse(item).warning_recyclage, warning_recyclage_alert: JSON.parse(item).warning_recyclage, + + archive: JSON.parse(item).archive, } ))} @@ -9393,11 +9667,13 @@ const DisplayPartnerStagiaires = (props) => { onChange={(event, value) => { if (value && value.value) { if (String(value.value) === "supprimer" - || String(value.value) === "convention" || String(value.value) === "exporter" + || String(value.value) === "convention" + || String(value.value) === "exporter" || String(value.value) === "valide_inscr" || String(value.value) === "recyclage_disable" || String(value.value) === "sendemail" - || String(value.value) === "pushdocument") { + || String(value.value) === "pushdocument" + || String(value.value) === "archive_desarchive") { setactionmass_ftion_val(value.value); } else { @@ -9462,6 +9738,10 @@ const DisplayPartnerStagiaires = (props) => { Confirmer la rédaction d'un email en masse pour {selectionModel.length} lignes. } + {String(actionmass_ftion_val) === "archive_desarchive" && + Confirmer la l'archivage / désarchivage en masse pour {selectionModel.length} lignes. + } +
@@ -9516,7 +9796,7 @@ const DisplayPartnerStagiaires = (props) => { {String(props.check_user_acces_right("stagiaire", "write")) === "1" &&
@@ -10152,7 +10432,11 @@ const DisplayPartnerStagiaires = (props) => { {String(display_detail_stagiaire) === "1" && selected_code_session &&
- + {p_detail_archive && String(p_detail_archive) === "1" && +
Document Archivé
} + + + {String(GetAttendee_api) === "true" &&
{String(Resend_LMS_Credentials_api) === "true" &&
@@ -11808,7 +12092,7 @@ const DisplayPartnerStagiaires = (props) => { {Get_List_Of_All_PJ_result && Get_List_Of_All_PJ_result.map((val) => (

- {String(props.check_user_acces_right("stagiaire", "write")) === "1" && Supprimer @@ -11929,7 +12213,6 @@ const DisplayPartnerStagiaires = (props) => { /> } /> - }
diff --git a/src/components/Display_Partner_Catalog_DetailClass_new_v2.js b/src/components/Display_Partner_Catalog_DetailClass_new_v2.js index 1adb699..87fe460 100644 --- a/src/components/Display_Partner_Catalog_DetailClass_new_v2.js +++ b/src/components/Display_Partner_Catalog_DetailClass_new_v2.js @@ -1385,7 +1385,7 @@ const Display_Partner_Catalog_DetailClass_new_v2 = (props) => { else { setGet_Subdomain_Partner_Data_api("false"); setGet_Subdomain_Partner_Data_message(res.data.message); - alert(res.data.message); + //alert(res.data.message); } }).catch((error) => { diff --git a/src/components/Emarge_QR_Code.js b/src/components/Emarge_QR_Code.js index 601150a..d6bd407 100644 --- a/src/components/Emarge_QR_Code.js +++ b/src/components/Emarge_QR_Code.js @@ -1,60 +1,37 @@ import React, { useRef, useState, useEffect } from "react"; import TextField from '@mui/material/TextField'; -import MenuItem from '@mui/material/MenuItem'; + import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css import Button from '@mui/material/Button'; import axios from "axios"; import { getCookie, setCookie } from 'react-use-cookie'; import { useHistory } from "react-router-dom"; -import CheckOut from "./CheckOut"; + import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; -import { Editor } from '@tinymce/tinymce-react'; -import parse from 'html-react-parser'; -import { FcViewDetails, FcDisapprove } from "react-icons/fc"; import 'react-tooltip/dist/react-tooltip.css' -import { Tooltip } from 'react-tooltip' - +import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; import Popup from 'reactjs-popup'; import 'reactjs-popup/dist/index.css'; import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; -import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc"; -import DatePicker from "react-datepicker"; import "react-datepicker/dist/react-datepicker.css"; -import { format } from 'date-fns' -import moment from "moment"; -import InputAdornment from '@mui/material/InputAdornment'; -import { AiFillCloseCircle } from "react-icons/ai"; import Box from '@mui/material/Box'; -import { Typography, LinearProgress } from '@mui/material'; -import styled from 'styled-components'; -import { CiTrash } from "react-icons/ci"; -import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md"; import Dialog from '@mui/material/Dialog'; import DialogActions from '@mui/material/DialogActions'; import DialogContent from '@mui/material/DialogContent'; import DialogContentText from '@mui/material/DialogContentText'; import DialogTitle from '@mui/material/DialogTitle'; -import { TransitionProps } from '@mui/material/transitions'; -import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5"; import { useParams } from 'react-router-dom' -import Header from "./Header"; -import Footer from "./Fotter"; -import { FcInfo } from "react-icons/fc"; -import { Document, Page } from 'react-pdf' - import { gridClasses } from '@mui/x-data-grid'; import Link from '@mui/material/Link'; import { PiDotsThree } from "react-icons/pi"; import SignatureCanvas from 'react-signature-canvas'; -import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; - import { makeStyles } from "@material-ui/core/styles"; import Paper from '@material-ui/core/Paper'; import Draggable from 'react-draggable'; import { IconButton } from '@material-ui/core'; -import AutoFixHighOutlinedIcon from '@mui/icons-material/AutoFixHighOutlined'; + import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; function PaperComponent(props) { @@ -279,6 +256,12 @@ function Emarge_QR_Code() { var liste_formation = GetSelectedRows_Emarg_Ids(); var tab_emargement = []; + if (liste_formation.length <= 0) { + setdisplay_alert_mysy("1"); + setalert_message("Vous devez sélectionner une ligne d'émargement"); + setalert_type("error"); + } + for (var i = 0; i < liste_formation.length; i++) { var line = JSON.parse(get_E_Document_result[liste_formation[i]]); tab_emargement.push(line._id) @@ -507,17 +490,41 @@ function Emarge_QR_Code() { const [pad_signature_img, setpad_signature_img] = React.useState(""); + const [display_alert_mysy, setdisplay_alert_mysy] = useState(""); + const [alert_message, setalert_message] = useState(""); + const [alert_type, setalert_type] = useState(""); + + function clear_alert_message() { + setalert_message(""); + } + function clear_alert_type() { + setalert_type(""); + } + function clear_display_alert_mysy() { + setdisplay_alert_mysy(""); + } return (
+ {/*** Affichage des messages d'alerte*/} + {display_alert_mysy && String(display_alert_mysy) === "1" && + + } + {/*** FIN Affichage des messages d'alerte*/} + {/* POUR SIGNATURE MANUSCRITE */} null} @@ -544,7 +551,7 @@ function Emarge_QR_Code() { > - Signature Manuscrite + Signature Manuscrite
@@ -556,9 +563,9 @@ function Emarge_QR_Code() { }} />
-
- -