From 09894d290407a570083470cad5294e3da8f3326c Mon Sep 17 00:00:00 2001 From: Cherif Date: Sat, 13 Dec 2025 12:28:23 +0100 Subject: [PATCH] 13/12/25 - 14h --- src/components/DisplayPartnerPromotion.js | 26 +- src/components/DisplayPartnerSession.js | 44 +- .../Module_Ent_Internal_Email_Management.js | 6 +- .../Module_Internal_Email_Management.js | 10 +- src/components/Module_Session_Evaluation.js | 346 +- .../DisplayPartnerPromotion.js | 27847 +++++++++++++++ .../PROD_FRONT_CODE/DisplayPartnerSession.js | 1026 +- .../DisplayPartnerPromotion.js | 27843 +++++++++++++++ .../DisplayPartnerSession.js | 28548 ++++++++++++++++ .../Partner_Config_Technique.js | 6668 ++++ .../Partner_Facture.js | 4878 +++ src/components/Partner.js | 2 +- src/components/Partner_Config_Formulaires.js | 1 + src/components/Partner_Config_Technique.js | 6 +- src/components/Partner_Facture.js | 9 +- 15 files changed, 96761 insertions(+), 499 deletions(-) create mode 100644 src/components/PROD_FRONT_CODE/DisplayPartnerPromotion.js create mode 100644 src/components/PROD_FRONT_CODE_12122025/DisplayPartnerPromotion.js create mode 100644 src/components/PROD_FRONT_CODE_12122025/DisplayPartnerSession.js create mode 100644 src/components/PROD_FRONT_CODE_12122025/Partner_Config_Technique.js create mode 100644 src/components/PROD_FRONT_CODE_12122025/Partner_Facture.js diff --git a/src/components/DisplayPartnerPromotion.js b/src/components/DisplayPartnerPromotion.js index 3c488b1..7d4a652 100644 --- a/src/components/DisplayPartnerPromotion.js +++ b/src/components/DisplayPartnerPromotion.js @@ -6177,14 +6177,18 @@ const DisplayPartnerPromotion = (props) => { if (String(local_session_invoice_status) === "1") { - var message = " Vous avez commencé à facture cette session, la modification n'est plus autorisée"; - setDialog_1_message(message); - setDialog_1_open(true); - - return; + const response = window.confirm("Cette promotion est déjà en cours de facturation. Toute modification peut avoir un impact. Souhaitez-vous continuer ?"); + if (!response) { + return; + } + /* var message = " Vous avez commencé à facture cette session, la modification n'est plus autorisée"; + setDialog_1_message(message); + setDialog_1_open(true); + + return;*/ } else if (String(local_session_invoice_status) === "2") { - var message = " Vous avez déjà facturé cette session, la modification n'est plus autorisée"; + var message = " Vous avez déjà facturé cette promotion, la modification n'est plus autorisée"; setDialog_1_message(message); setDialog_1_open(true); @@ -15643,7 +15647,7 @@ const DisplayPartnerPromotion = (props) => { var node = { "_id": local_id, "id": localid, - "label": local_code+" - "+String(local_titre).substring(0, 20), + "label": local_code + " - " + String(local_titre).substring(0, 20), "code": local_code, "titre": local_titre, "credit": local_credit, @@ -27787,7 +27791,7 @@ const DisplayPartnerPromotion = (props) => {
- {String(selected_session_invoiced_statut) !== "1" && String(selected_session_invoiced_statut) !== "2" && + { String(selected_session_invoiced_statut) !== "2" &&
} diff --git a/src/components/DisplayPartnerSession.js b/src/components/DisplayPartnerSession.js index 43ccfa7..b8e0053 100644 --- a/src/components/DisplayPartnerSession.js +++ b/src/components/DisplayPartnerSession.js @@ -6191,18 +6191,28 @@ const DisplayPartnerSession = (props) => { if (String(local_session_invoice_status) === "1") { - var message = " Vous avez commencé à facture cette session, la modification n'est plus autorisée"; + + const response = window.confirm("Cette session est déjà en cours de facturation. Toute modification peut avoir un impact. Souhaitez-vous continuer ?"); + if (!response) { + return; + } + + /*var message = " Vous avez commencé à facture cette session, la modification n'est plus autorisée"; setDialog_1_message(message); setDialog_1_open(true); - return; + return;*/ } else if (String(local_session_invoice_status) === "2") { - var message = " Vous avez déjà facturé cette session, la modification n'est plus autorisée"; - setDialog_1_message(message); - setDialog_1_open(true); - - return; + const response = window.confirm("Cette session est déjà entièrement facturée. Toute modification peut avoir un impact. Souhaitez-vous continuer ?"); + if (!response) { + return; + } + /* var message = " Vous avez déjà facturé cette session, la modification n'est plus autorisée"; + setDialog_1_message(message); + setDialog_1_open(true); + + return;*/ } } @@ -12599,7 +12609,7 @@ const DisplayPartnerSession = (props) => { setGet_Class_Default_Document_id_api("false"); setGet_Class_Default_Document_id_message(res.data.message); // alert(res.data.message); - // setdisplay_alert_mysy("1"); + // setdisplay_alert_mysy("1"); //setalert_message(res.data.message); //setalert_type("error"); @@ -27604,11 +27614,25 @@ const DisplayPartnerSession = (props) => {
- {String(selected_session_invoiced_statut) !== "1" && String(selected_session_invoiced_statut) !== "2" && - } diff --git a/src/components/Module_Ent_Internal_Email_Management.js b/src/components/Module_Ent_Internal_Email_Management.js index 3aaeb77..eb36dc5 100644 --- a/src/components/Module_Ent_Internal_Email_Management.js +++ b/src/components/Module_Ent_Internal_Email_Management.js @@ -139,8 +139,8 @@ const Module_Ent_Internal_Email_Management = (props) => { const columns = [ { field: '_id', headerName: '_id', hide: true }, { field: 'id', headerName: 'id', hide: true }, - { field: 'from', headerName: 'De', flex: 1, hide: true, editable: false }, - { field: 'to', headerName: 'A', flex: 1, hide: false, editable: false, minwidth: 350, }, + { field: 'from', headerName: 'De', flex: 1, hide: false, editable: false }, + { field: 'to', headerName: 'A', flex: 1, hide: true, editable: false, minwidth: 350, }, { field: 'read', headerName: 'Lu', width: 100, hide: true, editable: false, renderCell: (cellValues) => { @@ -1675,7 +1675,7 @@ const Module_Ent_Internal_Email_Management = (props) => { setp_one_internal_email_subject("Re: " + String(p_internal_email_subject)); setp_one_internal_email_to(p_internal_email_from); - var reply_message = "


De : " + `${p_internal_email_from}` + "
Enovyé le : " + `${String(p_internal_email_sent).substring(0, 16)}` + "
À : " + `${p_internal_email_from}` + "
Sujet : " + `${p_internal_email_subject}` + "

"; + var reply_message = "


De : " + `${p_internal_email_from}` + "
Enovyé le : " + `${String(p_internal_email_sent).substring(0, 16)}` + "
À : " + `${p_internal_email_to}` + "
Sujet : " + `${p_internal_email_subject}` + "

"; reply_message = reply_message + String(p_internal_email_message); setp_one_internal_email_message(reply_message); diff --git a/src/components/Module_Internal_Email_Management.js b/src/components/Module_Internal_Email_Management.js index 72949c7..c00745e 100644 --- a/src/components/Module_Internal_Email_Management.js +++ b/src/components/Module_Internal_Email_Management.js @@ -139,8 +139,8 @@ const Module_Internal_Email_Management = (props) => { const columns = [ { field: '_id', headerName: '_id', hide: true }, { field: 'id', headerName: 'id', hide: true }, - { field: 'from', headerName: 'De', flex: 1, hide: true, editable: false }, - { field: 'to', headerName: 'A', flex: 1, hide: false, editable: false, minwidth: 350, }, + { field: 'from', headerName: 'De', flex: 1, hide: false, editable: false }, + { field: 'to', headerName: 'A', flex: 1, hide: true, editable: false, minwidth: 350, }, { field: 'read', headerName: 'Lu', width: 100, hide: true, editable: false, renderCell: (cellValues) => { @@ -715,8 +715,8 @@ const Module_Internal_Email_Management = (props) => { axios.post(myurl, form).then(res => { if (String(res.data.status) === "true") { - //console.log(" In Get_Given_Email_Data res.data.status = " + res.data.status); - // console.log(" In Get_Given_Email_Data res.data.message r_class = " + res.data.message); + console.log(" In Get_Given_Email_Data res.data.status = " + res.data.status); + console.log(" In Get_Given_Email_Data res.data.message r_class = " + res.data.message); //console.log(" In Get_Given_Email_Data res.data.message len = " + String(res.data.message).length); setLoading(false); @@ -1674,7 +1674,7 @@ const Module_Internal_Email_Management = (props) => { setp_one_internal_email_subject("Re: " + String(p_internal_email_subject)); setp_one_internal_email_to(p_internal_email_from); - var reply_message = "


De : " + `${p_internal_email_from}` + "
Enovyé le : " + `${String(p_internal_email_sent).substring(0, 16)}` + "
À : " + `${p_internal_email_from}` + "
Sujet : " + `${p_internal_email_subject}` + "

"; + var reply_message = "


De : " + `${p_internal_email_from}` + "
Enovyé le : " + `${String(p_internal_email_sent).substring(0, 16)}` + "
À : " + `${p_internal_email_to}` + "
Sujet : " + `${p_internal_email_subject}` + "

"; reply_message = reply_message + String(p_internal_email_message); setp_one_internal_email_message(reply_message); diff --git a/src/components/Module_Session_Evaluation.js b/src/components/Module_Session_Evaluation.js index 624880d..0193631 100644 --- a/src/components/Module_Session_Evaluation.js +++ b/src/components/Module_Session_Evaluation.js @@ -520,6 +520,87 @@ const Module_Session_Evaluation = (props) => { + const [New_Get_List_Partner_Clients_result, setNew_Get_List_Partner_Clients_result] = useState([]); + + const [Get_List_Partner_Clients_api, setGet_List_Partner_Clients_api] = useState(); + const [Get_List_Partner_Clients_message, setGet_List_Partner_Clients_message] = useState(); + const [Get_List_Partner_Clients_result, setGet_List_Partner_Clients_result] = useState(); + function Get_List_Partner_Clients(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_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); + + if (String(res.data.status) === String("true")) { + setGet_List_Partner_Clients_api("true"); + setGet_List_Partner_Clients_result(res.data.message); + + var new_data2 = []; + const new_data = res.data.message.map((x) => { + + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var local_nom = JSON.parse(x).nom; + var local_raison_sociale = JSON.parse(x).raison_sociale; + var local_cond_paiement_id = JSON.parse(x).invoice_condition_paiement_id; + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_nom + " - " + local_id, + "nom": local_nom, + "raison_sociale": local_raison_sociale, + "invoice_condition_paiement_id": local_cond_paiement_id, + + }; + new_data2.push(node); + }); + + var node = { + "_id": "", + "id": "", + "label": "", + "nom": "", + "raison_sociale": "", + "invoice_condition_paiement_id": "", + + }; + new_data2.push(node); + + if (new_data2.length > 0) + setNew_Get_List_Partner_Clients_result(new_data2); + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGet_List_Partner_Clients_api("false"); + setGet_List_Partner_Clients_message(res.data.message); + alert('Erreur: ' + res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( Get_List_Partner_Clients = ', error); + setGet_List_Partner_Clients_api("false"); + alert('Erreur: Impossible de recuperer la liste des clients'); + //setmyApimyApiMessage("") + }) + } + + + const [Delete_Specific_Survy_With_survey_internal_code_api, setDelete_Specific_Survy_With_survey_internal_code_api] = useState(); const [Delete_Specific_Survy_With_survey_internal_code_message, setDelete_Specific_Survy_With_survey_internal_code_message] = useState(); const [Delete_Specific_Survy_With_survey_internal_code_result, setDelete_Specific_Survy_With_survey_internal_code_result] = useState(); @@ -1408,6 +1489,70 @@ const Module_Session_Evaluation = (props) => { } + const [Reinit_List_Survey_Specific_eval_For_Session_For_Client_api, setReinit_List_Survey_Specific_eval_For_Session_For_Client_api] = useState(); + const [Reinit_List_Survey_Specific_eval_For_Session_For_Client_message, setReinit_List_Survey_Specific_eval_For_Session_For_Client_message] = useState(); + const [Reinit_List_Survey_Specific_eval_For_Session_For_Client_result, setReinit_List_Survey_Specific_eval_For_Session_For_Client_result] = useState(); + function Reinit_List_Survey_Specific_eval_For_Session_For_Client() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("survey_internal_code", selected_specific_survey); + form.append("session_id", selected_session_id); + form.append("formulaire_id", selected_formulaire_id); + form.append("survey_type", "specific_survey"); + form.append("sending_date", ""); + form.append("tab_client_ids", selected_client_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Init_Specific_Survey_Tab_For_All_Session_Client/"; + + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In UpdateStagiaireData res.data.status = " + res.data.status); + //console.log(" In UpdateStagiaireData res.data.message r_class = " + res.data.message); + setReinit_List_Survey_Specific_eval_For_Session_For_Client_api("true"); + setReinit_List_Survey_Specific_eval_For_Session_For_Client_result(res.data.message); + Getall_Survey_cold_evaluation_By_Session(); + + Getall_Survey_specific_evaluation_By_Session(); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setReinit_List_Survey_Specific_eval_For_Session_For_Client_api("false"); + setReinit_List_Survey_Specific_eval_For_Session_For_Client_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('Reinit_List_Survey_Specific_eval_For_Session_For_Client : Not good man :( mysearchtext = ' + error); + setReinit_List_Survey_Specific_eval_For_Session_For_Client_api("false"); + // alert(" Impossible d'initialiser la liste des enquête de positionnement "); + + setdisplay_alert_mysy("1"); + setalert_message("Impossible d'initialiser la liste des enquêtes"); + setalert_type("error"); + + }) + } + + + const [Create_List_Survey_eval_formateur_For_Session_For_Inscrit_api, setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_api] = useState(); const [Create_List_Survey_eval_formateur_For_Session_For_Inscrit_message, setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_message] = useState(); const [Create_List_Survey_eval_formateur_For_Session_For_Inscrit_result, setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_result] = useState(); @@ -1480,6 +1625,71 @@ const Module_Session_Evaluation = (props) => { } + const [Create_List_Survey_eval_Client_For_Session_api, setCreate_List_Survey_eval_Client_For_Session_api] = useState(); + const [Create_List_Survey_eval_Client_For_Session_message, setCreate_List_Survey_eval_Client_For_Session_message] = useState(); + const [Create_List_Survey_eval_Client_For_Session_result, setCreate_List_Survey_eval_Client_For_Session_result] = useState(); + function Create_List_Survey_eval_Client_For_Session() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("session_id", selected_session_id); + form.append("formulaire_id", selected_formulaire_id); + form.append("survey_type", "specific_survey"); + form.append("sending_date", ""); + form.append("tab_client_ids", selected_client_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Specific_Survey_Tab_For_All_Session_Client/"; + + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In UpdateStagiaireData res.data.status = " + res.data.status); + //console.log(" In UpdateStagiaireData res.data.message r_class = " + res.data.message); + setCreate_List_Survey_eval_Client_For_Session_api("true"); + setCreate_List_Survey_eval_Client_For_Session_result(res.data.message); + Getall_Survey_cold_evaluation_By_Session(); + + Getall_Survey_specific_evaluation_By_Session(); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setCreate_List_Survey_eval_Client_For_Session_api("false"); + setCreate_List_Survey_eval_Client_For_Session_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('Create_List_Survey_eval_Client_For_Session : Not good man :( mysearchtext = ' + error); + setCreate_List_Survey_eval_Client_For_Session_api("false"); + // alert(" Impossible d'initialiser la liste des enquête de positionnement "); + + setdisplay_alert_mysy("1"); + setalert_message("Impossible d'initialiser la liste des enquêtes"); + setalert_type("error"); + + }) + } + + + + + const [actionmass_eval_formateur, setactionmass_eval_formateur] = useState(); const [actionmass_eval_froid, setactionmass_eval_froid] = useState(); @@ -1546,7 +1756,7 @@ const Module_Session_Evaluation = (props) => { else if (String(actionmass_eval_formateur) === "export_evaluation") Export_Selected_Survey_PDF(tab_ids_survey, "Evaluation formateur", "formateur"); else if (String(actionmass_eval_formateur) === "cold_eval_qr_code") { - Export_QR_CODE_Formateur_Evaluation(tab_ids_survey); + Export_QR_CODE_Formateur_Evaluation(tab_ids_survey, ""); } @@ -1554,10 +1764,22 @@ const Module_Session_Evaluation = (props) => { async function actionmass_Specific_00_Traitemet() { + var is_client_eval = "0" var tab_ids_survey = [] for (var i = 0; i < selectionModel_evaluation_specific_00.length; i++) { var myid = parseInt(String(selectionModel_evaluation_specific_00[i])); var line = JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[0]).list_survey[myid]; + + if (line.hasOwnProperty('client_id')) { + if (JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[0]).list_survey[myid].client_id) { + var local_client_id = JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[0]).list_survey[myid].client_id + + if (String(local_client_id).length > 3) { + is_client_eval = "1" + } + } + } + var line_id = JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[0]).list_survey[myid]._id; tab_ids_survey.push(line_id); } @@ -1572,7 +1794,7 @@ const Module_Session_Evaluation = (props) => { Getall_Survey_specific_evaluation_By_Session(); } else if (String(actionmass_eval_specific_00) === "cold_eval_qr_code") { - Export_QR_CODE_Formateur_Evaluation(tab_ids_survey); + Export_QR_CODE_Formateur_Evaluation(tab_ids_survey, is_client_eval); Getall_Survey_specific_evaluation_By_Session(); } @@ -1586,14 +1808,27 @@ const Module_Session_Evaluation = (props) => { async function actionmass_Specific_01_Traitemet() { + var is_client_eval = "0" var tab_ids_survey = [] for (var i = 0; i < selectionModel_evaluation_specific_01.length; i++) { var myid = parseInt(String(selectionModel_evaluation_specific_01[i])); var line = JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[1]).list_survey[myid]; + if (line.hasOwnProperty('client_id')) { + if (JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[0]).list_survey[myid].client_id) { + var local_client_id = JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[0]).list_survey[myid].client_id + + if (String(local_client_id).length > 3) { + is_client_eval = "1" + } + } + } + + var line_id = JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[1]).list_survey[myid]._id; tab_ids_survey.push(line_id); } + //SendEvaluationEmail_Many_Ids(tab_ids_inscription); if (String(actionmass_eval_specific_01) === "demande evaluation") { Send_Survey_By_Email_For_Ids(tab_ids_survey); @@ -1604,7 +1839,7 @@ const Module_Session_Evaluation = (props) => { Getall_Survey_specific_evaluation_By_Session(); } else if (String(actionmass_eval_specific_01) === "cold_eval_qr_code") { - Export_QR_CODE_Formateur_Evaluation(tab_ids_survey); + Export_QR_CODE_Formateur_Evaluation(tab_ids_survey, is_client_eval); Getall_Survey_specific_evaluation_By_Session(); } @@ -1616,11 +1851,23 @@ const Module_Session_Evaluation = (props) => { async function actionmass_Specific_02_Traitemet() { + var is_client_eval = "0" var tab_ids_survey = [] for (var i = 0; i < selectionModel_evaluation_specific_02.length; i++) { var myid = parseInt(String(selectionModel_evaluation_specific_02[i])); var line = JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[2]).list_survey[myid]; + if (line.hasOwnProperty('client_id')) { + if (JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[0]).list_survey[myid].client_id) { + var local_client_id = JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[0]).list_survey[myid].client_id + + if (String(local_client_id).length > 3) { + is_client_eval = "1" + } + } + } + var line_id = JSON.parse(Getall_Survey_specific_evaluation_By_Session_result[2]).list_survey[myid]._id; + tab_ids_survey.push(line_id); } @@ -1634,7 +1881,7 @@ const Module_Session_Evaluation = (props) => { Getall_Survey_specific_evaluation_By_Session(); } else if (String(actionmass_eval_specific_02) === "cold_eval_qr_code") { - Export_QR_CODE_Formateur_Evaluation(tab_ids_survey); + Export_QR_CODE_Formateur_Evaluation(tab_ids_survey, is_client_eval); Getall_Survey_specific_evaluation_By_Session(); } @@ -1839,6 +2086,8 @@ const Module_Session_Evaluation = (props) => { setSessionendDate(props.SessionendDate); setSessionstartDate(props.SessionstartDate); + Get_List_Partner_Clients(); + }, []) @@ -2010,6 +2259,8 @@ const Module_Session_Evaluation = (props) => { setLoading(false); } + + function Export_QR_CODE_Hot_Evaluation(tab_ids_survey) { if (tab_ids_survey.length <= 0) { @@ -2092,8 +2343,7 @@ const Module_Session_Evaluation = (props) => { } - - function Export_QR_CODE_Formateur_Evaluation(tab_ids_survey) { + function Export_QR_CODE_Formateur_Evaluation(tab_ids_survey, local_is_client_eval) { if (tab_ids_survey.length <= 0) { // alert(" Aucune ligne selectionnée "); @@ -2103,11 +2353,16 @@ const Module_Session_Evaluation = (props) => { return; } + var type_eval = "human_eval"; + if (local_is_client_eval === "1") { + type_eval = "client_eval" + } + const stored_cookie = getCookie('tokenmysypart'); var nom_fichier_cmd = "Evaluation_Chaud_QR_Code.png"; - var url = process.env.REACT_APP_API_URL + "myclass/api/Create_Evaluation_QR_Code_From_Survey/" + stored_cookie + "/" + selected_session_id + "/" + tab_ids_survey + "/human_eval"; + var url = process.env.REACT_APP_API_URL + "myclass/api/Create_Evaluation_QR_Code_From_Survey/" + stored_cookie + "/" + selected_session_id + "/" + tab_ids_survey + "/" + type_eval; setLoading(true); @@ -2243,6 +2498,8 @@ const Module_Session_Evaluation = (props) => { const [selected_formateur_id, setselected_formateur_id] = useState(""); + const [selected_client_id, setselected_client_id] = useState(""); + const [Dialog_LIST_COLD_EVALUATION_QUESTION_open, setDialog_LIST_COLD_EVALUATION_QUESTION_open] = React.useState(false); const Dialog_LIST_COLD_EVALUATION_QUESTION_handleClose = () => { //alert(" Utiliser le bouton 'fermer' "); @@ -2297,6 +2554,9 @@ const Module_Session_Evaluation = (props) => { setDialog_Add_Specefic_Evaluation_open(false); setselected_formateur_id(""); setselected_formulaire_type(""); + setselected_specific_survey(""); + setselected_client_id(""); + }; @@ -2430,15 +2690,17 @@ const Module_Session_Evaluation = (props) => { setselected_formulaire_id(value._id); setselected_formulaire_type(value.type); + } else { setselected_formulaire_id(""); setselected_formulaire_type(""); } setselected_formateur_id(""); + setselected_client_id(""); }} - renderInput={(params) => @@ -2473,7 +2735,44 @@ const Module_Session_Evaluation = (props) => { } }} - renderInput={(params) => + } + /> + +
} + + + {New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 + && selected_formulaire_type === "client_eval" && +
Choisir client ou financeur + + selected_formulaire_type = {selected_formulaire_type} -- + selected_client_id = {selected_client_id} + (data)._id === String(selected_client_id))[0].label} + onChange={(event, value) => { + if (value && value._id) { + setselected_client_id(value._id); + + } else { + + // alert(" Vous devez choisir un formateur ") + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez choisir un client ou financeur "); + setalert_type("error"); + } + }} + + renderInput={(params) => @@ -2499,8 +2798,13 @@ const Module_Session_Evaluation = (props) => { tab_ids_inscription.push(line_id); } - Create_List_Survey_Specific_eval_For_Session_For_Inscrit(); - Dialog_Add_Specefic_Evaluation_handleClose_buton(); + if (selected_formulaire_type === "client_eval") { + Create_List_Survey_eval_Client_For_Session(); + Dialog_Add_Specefic_Evaluation_handleClose_buton(); + } else { + Create_List_Survey_Specific_eval_For_Session_For_Inscrit(); + Dialog_Add_Specefic_Evaluation_handleClose_buton(); + } }} className="bton_enreg_dialog">Ajouter l'évaluation} @@ -2514,9 +2818,13 @@ const Module_Session_Evaluation = (props) => { var line_id = JSON.parse(selectionModel_evaluation[myid])._id; tab_ids_inscription.push(line_id); } - - Reinit_List_Survey_Specific_eval_For_Session_For_Inscrit(); - Dialog_Add_Specefic_Evaluation_handleClose_buton(); + if (selected_formulaire_type === "client_eval") { + Reinit_List_Survey_Specific_eval_For_Session_For_Client(); + Dialog_Add_Specefic_Evaluation_handleClose_buton(); + } else { + Reinit_List_Survey_Specific_eval_For_Session_For_Inscrit(); + Dialog_Add_Specefic_Evaluation_handleClose_buton(); + } }} className="bton_enreg_dialog">Reinitialiser la liste } @@ -2657,7 +2965,7 @@ const Module_Session_Evaluation = (props) => { } }} - renderInput={(params) => @@ -2760,7 +3068,7 @@ const Module_Session_Evaluation = (props) => { } }} - renderInput={(params) => @@ -2795,7 +3103,7 @@ const Module_Session_Evaluation = (props) => { } }} - renderInput={(params) => @@ -4457,7 +4765,7 @@ const Module_Session_Evaluation = (props) => { } {actionmass_eval_specific_01 && String(actionmass_eval_specific_01) === "cold_eval_qr_code" && }
@@ -4810,7 +5118,7 @@ const Module_Session_Evaluation = (props) => { } {actionmass_eval_specific_02 && String(actionmass_eval_specific_02) === "cold_eval_qr_code" && } diff --git a/src/components/PROD_FRONT_CODE/DisplayPartnerPromotion.js b/src/components/PROD_FRONT_CODE/DisplayPartnerPromotion.js new file mode 100644 index 0000000..437f304 --- /dev/null +++ b/src/components/PROD_FRONT_CODE/DisplayPartnerPromotion.js @@ -0,0 +1,27847 @@ +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 { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; +import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; +import { Editor } from '@tinymce/tinymce-react'; +import { FcViewDetails, FcDisapprove, FcInfo, FcExpired, FcTimeline } from "react-icons/fc"; +import 'react-tooltip/dist/react-tooltip.css' +import { Tooltip } from 'react-tooltip' +import TextareaAutosize from '@mui/material/TextareaAutosize'; +import excel_icone from "../mysy_img/excel_icone.png"; +import participants from "../mysy_img/participants.png"; +import fileDownload from 'js-file-download'; +import Popup from 'reactjs-popup'; +import 'reactjs-popup/dist/index.css'; +import { FcSearch } from "react-icons/fc"; +import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow, FcComments } from "react-icons/fc"; +import fr from 'date-fns/locale/fr'; +import { registerLocale } from 'react-datepicker'; +import DatePicker from "react-datepicker"; +import "react-datepicker/dist/react-datepicker.css"; +import { format } from 'date-fns' +import moment from "moment"; +import 'moment/locale/fr'; +import { useCookies } from "react-cookie"; +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 img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; +import { Fab } from "@material-ui/core"; +import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io"; +import { AiTwotoneSave } from "react-icons/ai"; +import ToggleSwitch from "./ToggleSwitch"; +import Module_Historique_Action from "./Module_Historique_Action"; +import Module_Session_Notes_Classement from "./Module_Session_Notes_Classement"; +import Chip from "@mui/material/Chip"; +import Autocomplete from '@mui/material/Autocomplete'; +import { FcOpenedFolder } from "react-icons/fc"; +import { gridClasses } from '@mui/x-data-grid'; +import Link from '@mui/material/Link'; +import { PiDotsThree } from "react-icons/pi"; +import Module_Editique from "./Module_Editique"; +import Module_Attestation_Formation from "./Module_Attestation_Formation"; +import Module_Evaluation_Positionnement from "./Module_Evaluation_Positionnement"; +import { IoAddCircleOutline } from "react-icons/io5"; +import { FcApproval, FcAcceptDatabase, FcPrint, FcPlanner } from "react-icons/fc"; +import { CiBoxList } from "react-icons/ci"; +import FullCalendar from "@fullcalendar/react"; +import daygridPlugin from "@fullcalendar/daygrid"; +import interactionPlugin from "@fullcalendar/interaction"; +import timeGridPlugin from "@fullcalendar/timegrid"; + +import Radio from '@mui/material/Radio'; +import RadioGroup from '@mui/material/RadioGroup'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; +import FormLabel from '@mui/material/FormLabel'; +import { FaUserPen } from "react-icons/fa6"; +import allLocales from '@fullcalendar/core/locales-all'; + +import Module_Session_Planification from "./Module_Session_Planification"; +import Module_Session_Evaluation from "./Module_Session_Evaluation"; + +import AccountTreeIcon from '@mui/icons-material/AccountTree'; +import FormGroup from '@mui/material/FormGroup'; + +import Checkbox from '@mui/material/Checkbox'; + +import { + GridToolbarContainer, GridToolbarExport, GridToolbarColumnsButton, + GridToolbarFilterButton, GridToolbarDensitySelector, GridToolbarExportContainer, useGridApiContext, + gridFilteredSortedRowIdsSelector, + gridVisibleColumnFieldsSelector, + +} from '@mui/x-data-grid'; +import * as XLSX from 'xlsx'; + +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 CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; + +import { DataGridPro } from '@mui/x-data-grid-pro'; + +import { useCallback, } from "react"; +import { DndProvider, useDrag } from "react-dnd"; +import { useDrop } from 'react-dnd' + +import { HTML5Backend } from "react-dnd-html5-backend"; +import update from "immutability-helper"; +import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; +import MoreVertIcon from '@mui/icons-material/MoreVert'; +import Menu from '@mui/material/Menu'; +import 'moment/locale/fr'; +import Timeline, { + TimelineHeaders, + SidebarHeader, + DateHeader, + TimelineMarkers, + CustomMarker, + TodayMarker, + CursorMarker +} from 'react-calendar-timeline'; + +import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'; +import ArrowBackIosNewIcon from '@mui/icons-material/ArrowBackIosNew'; + + +import randomColor from "randomcolor"; + +function PaperComponent(props) { + return ( + + + + ); +} + + +const useStyles = makeStyles((theme) => ({ + + dialog: { + position: 'absolute', + // left: 10, + top: 400 + }, + + paper: { + overflowY: 'unset', + }, + customizedButton: { + position: 'absolute', + left: '98%', + top: '-3%', + backgroundColor: 'lightgray', + color: 'gray', + }, +})); + + +const DisplayPartnerPromotion = (props) => { + registerLocale('fr', fr); + const stored_cookie_session_display_view = getCookie('mysy_session_display_view'); + const stored_cookie_session_data_row_grouped_by = getCookie('mysy_session_data_row_grouped_by'); + + const classes = useStyles(); + + const history = useHistory(); + const [submenu, setsubmenu] = useState(""); + const [rowss, setRows] = useState([]); + + const [actionmass_preinsc_val, setactionmass_preinsc_val] = useState(); + const [one_SessionstartDateInscription, setone_SessionstartDateInscription] = useState(); + const [one_SessionendDateInscription, setone_SessionendDateInscription] = useState(); + const [one_SessionendDate, setone_SessionendDate] = useState(); + const [one_SessionstartDate, setone_SessionstartDate] = useState(); + const [one_urlpreview_certif, setone_urlpreview_certif] = useState(); + const [one_field_contenu_ftion, setone_field_contenu_ftion] = useState(""); + + const filters = [ + { value: 'code_session', label: 'Code Promotion' }, + { value: 'class_title', label: 'Titre Formation' }, + { value: 'certif', label: 'Certification' } + ] + + const [selectedfilt1, setselectedfilt1] = useState(""); + const [selectedfilt2, setselectedfilt2] = useState(""); + const [selectedfilt3, setselectedfilt3] = useState(""); + const [reftrainingtoupdate, setreftrainingtoupdate] = useState(); + const [externalcodetraining_toupdate, setexternalcodetraining_toupdate] = useState(); + + + const [is_recherche, setis_recherche] = useState("0"); + + + const [selectedtraining, setselectedtraining] = useState([]) + + const BorderLinearProgress = styled(LinearProgress)(() => ({ + height: "20px", + width: "60px", + borderRadius: "2px", + backgroundColor: " #ebf5fb", + "& .MuiLinearProgress-bar": { + backgroundColor: "#1bd900", + transition: "none", + transformOrigin: "left", + }, + })); + + function ExpandableCell_50({ value }) { + const [expanded, setExpanded] = React.useState(false); + + return ( + + ); + } + + + + function Display_Colunm_text({ value }) { + + return ( +
+ {value}  + +
+ ); + } + + + const [datagrid_columns_size_model1, setdatagrid_columns_size_model1] = useState(200); + const [datagrid_columns_size_model2, setdatagrid_columns_size_model2] = useState(100); + + + const ITEM_HEIGHT_PROMO = 48; + const ITEM_HEIGHT = 48; + + + const [anchorEl_promo, setanchorEl_promo] = React.useState(null); + const [anchorEl, setAnchorEl] = React.useState(null); + + const open_promo = Boolean(anchorEl_promo); + const open = Boolean(anchorEl); + + const options_menu_vertical_promotion = [ + 'Décaler', + 'Archiver/Désarch.', + 'Supprimer', + ]; + + const options_menu_vertical = [ + 'Renvoyer Conf.', + 'Annuler Insc.', + ]; + + + + const handleClick_option_button_vertical_promo = (event) => { + setanchorEl_promo(event.currentTarget); + }; + const handleClick_option_button_vertical = (event) => { + setAnchorEl(event.currentTarget); + }; + + + const handleClose_option_button_vertical_promo = (event, value) => { + setanchorEl_promo(null); + }; + const handleClose_option_button_vertical = (event, value) => { + setAnchorEl(null); + }; + + + + const columns = [ + { field: 'id', headerName: 'id', hide: true, disableExport: true, }, + { field: '_id', headerName: '_id', hide: true, disableExport: true, }, + { field: 'class_id', headerName: 'class_id', hide: true, disableExport: true, }, + { field: 'class_lms_class_code', headerName: 'class_lms_class_code', hide: true, disableExport: true, }, + { field: 'is_bpf', headerName: 'is_bpf', hide: true, }, + + { field: 'session_alert_message', headerName: 'session_alert_message', hide: true }, + { field: 'class_internal_url', headerName: 'class_internal_url', hide: true }, + + { + field: 'is_session_alert', headerName: '', hide: false, Width: 50, flex: 1, + renderCell: (cellValues) => { + return ( +
+ {cellValues.row.is_session_alert && String(cellValues.row.is_session_alert) === "1" && } + {cellValues.row.is_session_alert && String(cellValues.row.is_session_alert) !== "1" && ""} + +
+ + ); + } + + }, + + { field: 'entre_scolaire', headerName: 'Entrée Scol.', hide: false, minWidth: 150, flex: 1, renderCell: (params) => , }, + + { field: 'code_session', headerName: 'Code Promo', hide: false, minWidth: 200, flex: 1, renderCell: (params) => , }, + { field: 'session_title', headerName: 'Titre', hide: false, flex: 1, minWidth: 250, renderCell: (params) => , }, + + { + field: 'statut', headerName: 'Statut', hide: true, width: datagrid_columns_size_model2, + renderCell: (cellValues) => { + return ( + +
+ {String(cellValues.row.statut) === "1" && "Actif"}  + {String(cellValues.row.statut) !== "1" && "Inactif"}  +
+ + ); + }, + + }, + + { + field: 'etape', headerName: 'Etape', hide: false, width: datagrid_columns_size_model2, renderCell: (params) => , + + }, + + { + field: 'archive', headerName: 'Archivé', hide: true, Width: 50, editable: false, renderCell: (cellValues) => { + return ( +
+ {String(cellValues.row.archive) === "1" && "Oui"}  + {String(cellValues.row.archive) !== "1" && "Non"}  + +
+ + ); + }, + }, + + + + { field: 'class_external_code', headerName: 'Code Formation', align: "center", hideable: true, flex: 1, hide: true, minWidth: 150, renderCell: (params) => , }, + { field: 'date_debut', headerName: 'Debut', hide: false, minWidth: 150, renderCell: (params) => , }, + { field: 'date_fin', headerName: 'Fin', minWidth: 150, renderCell: (params) => , }, + + { + field: 'mode_animation', headerName: 'Mode', width: datagrid_columns_size_model2, + renderCell: (cellValues) => { + return ( + +
+ {String(cellValues.row.mode_animation) === "0" && "Prés."}  + {String(cellValues.row.mode_animation) === "1" && "Dist."}  + {String(cellValues.row.mode_animation) === "2" && "Hybr."}  + +
+ + ); + }, + }, + + + { field: 'formateur', headerName: 'Formateur', minWidth: datagrid_columns_size_model1, hide: true, hideable: true, renderCell: (params) => , }, + { field: 'nb_participant', headerName: 'Nb Parti.', minWidth: datagrid_columns_size_model2, align: "center", hide: false, renderCell: (params) => , }, + { + field: 'taux_remplissage', headerName: 'Remplissage', align: "center", flex: 1, minWidth: 100, maxWidth: 150, flex: 1, + align: "left", + renderCell: (params) => { + return ( + <> + + {`${(params?.row.taux_remplissage * 100).toFixed(0)}%`} + + ); + }, + }, + { field: 'nb_inscrit', headerName: 'Insc', minWidth: 20, align: "center", hide: true, hideable: true, renderCell: (params) => , }, + { field: 'nb_preinscrit', headerName: 'Preinsc.', minWidth: 20, align: "center", hide: false, hideable: true, renderCell: (params) => , }, + { + field: 'prix_session', headerName: 'Prix', minWidth: 20, align: "center", hide: false, + renderCell: (params) => , + }, + { field: 'title', headerName: 'Formation', minWidth: 250, flex: 1, align: "center", hide: true, hideable: true, renderCell: (params) => , }, + { field: 'domaine', headerName: 'Domaine', minWidth: datagrid_columns_size_model1, align: "center", hide: true, renderCell: (params) => , }, + { field: 'published', headerName: 'publié', minWidth: datagrid_columns_size_model1, align: "center", hide: true, renderCell: (params) => , }, + + { field: 'site_formation_id', headerName: 'site_formation_id', with: 0, align: "center", hide: true, disableExport: true, }, + + + { field: 'qty_in_quotation', headerName: 'Place Non validé ', with: 150, align: "center", hide: true, renderCell: (params) => , }, + { field: 'qty_in_quotation_list_quotation', headerName: 'List Devis ', with: 150, align: "center", hide: true, renderCell: (params) => , }, + + { field: 'site_formation_nom', headerName: 'Site Ftion', with: 150, align: "center", hide: true, renderCell: (params) => , }, + + { + field: 'invoiced_statut', headerName: 'Facturé', minWidth: 100, flex: 1, maxWidth: 150, hide: true, editable: false, + renderCell: (cellValues) => { + return ( +
+ {String(cellValues.row.invoiced_statut) === "2" && "Oui"} + {String(cellValues.row.invoiced_statut) === "1" && "Part."} + {String(cellValues.row.invoiced_statut) !== "1" && String(cellValues.row.invoiced_statut) !== "2" && "Non"} +
+ ); + }, + }, + + { field: 'duration', headerName: 'Durée', minWidth: datagrid_columns_size_model2, align: "center", hide: true, renderCell: (params) => , }, + + { + field: 'bton_vertif', headerName: 'Gestion', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center", + renderCell: (cellValues) => { + return ( +
+ + {String(props.check_user_acces_right("session", "write")) === "1" && } +
+ ); + }, + }, + ] + + const [session_debut_for_decalage, setsession_debut_for_decalage] = React.useState(''); + const [session_fin_for_decalage, setsession_fin_for_decalage] = React.useState(''); + + const [session_new_debut_for_decalage, setsession_new_debut_for_decalage] = React.useState(''); + const [session_id_for_decalage, setsession_id_for_decalage] = React.useState(''); + + const [promo_archive_status, setpromo_archive_status] = React.useState(''); + + const [working_cellValues_promo, setworking_cellValues_promo] = useState(false); + const [dialogOpen_supp_promo, setdialogOpen_supp_promo] = useState(false); + const Dialog_menuitem_close_supp_prmo = () => { + setdialogOpen_supp_promo(false) + }; + + + const [dialogOpen_archive, setdialogOpen_archive] = useState(false); + const Dialog_menuitem_close_archive = () => { + setdialogOpen_archive(false) + }; + + const options_menu_vertical_preinsc = [ + '', + 'Mise à jour', + 'Valider Insc.', + 'Refuser Insc.', + 'Supprimer', + + ]; + const [working_cellValues_preisnc, setworking_cellValues_preisnc] = useState(false); + const [anchorEl_preinsc, setAnchorEl_preinsc] = React.useState(null); + const open_preinsc = Boolean(anchorEl_preinsc); + const handleClick_option_button_vertical_preinsc = (event) => { + setAnchorEl_preinsc(event.currentTarget); + }; + const handleClose_option_button_vertical_preinsc = (event, value) => { + setAnchorEl_preinsc(null); + }; + + + const [dialogOpen_refus_inscription, setdialogOpen_refus_inscription] = useState(false); + const Dialog_menuitem_close_refus_inscription = () => { + setdialogOpen_refus_inscription(false) + }; + + + const [dialogOpen_suppr_preinscription, setdialogOpen_suppr_preinscription] = useState(false); + const Dialog_menuitem_suppr_preinscription = () => { + setdialogOpen_suppr_preinscription(false) + }; + + const columns_preinscrit = [ + { field: 'id', headerName: 'id', hide: true }, + { field: '_id', headerName: '_id', hide: true }, + + { + field: 'civilite', headerName: 'Civ.', minWidth: 90, flex: 1, maxWidth: 100, hide: false, editable: false, editable: false, + + renderCell: (cellValues) => { + return ( + +
+ {New_civilite && New_civilite.length > 0 && cellValues.row.civilite && + + } + +
+ + ); + }, + }, + + { field: 'nom', headerName: 'nom', minWidth: 200, flex: 1, hide: false, editable: true, renderCell: (params) => , }, + { field: 'prenom', headerName: 'prenom', minWidth: 200, flex: 1, hide: false, editable: true, renderCell: (params) => , }, + { field: 'email', headerName: 'email', minWidth: 200, flex: 1, flex: 1, renderCell: (params) => , }, + { field: 'client_rattachement_nom', headerName: 'Client', minWidth: 150, flex: 1, hide: false, editable: false, renderCell: (params) => , }, + { field: 'client_rattachement_id', headerName: 'Client_id', Width: 0, hide: true, editable: false, }, + + { + field: 'client_facture', headerName: 'Client Fact.', minWidth: 200, flex: 1, hide: false, editable: false, + + renderCell: (cellValues) => { + return ( +
+ {New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 && } +
+ + ); + } + }, + + { field: 'employeur', headerName: 'Employeur', minWidth: 150, flex: 1, maxWidth: 200, hide: true, editable: true, renderCell: (params) => , }, + { field: 'opco', headerName: 'Centre Opco', minWidth: 100, flex: 1, maxWidth: 150, hide: true, editable: false }, + { + field: 'modefinancement', headerName: 'Financement', minWidth: 100, flex: 1, maxWidth: 150, hide: true, editable: false, + renderCell: (cellValues) => { + return ( + +
+ {New_Financement && New_Financement.length > 0 && cellValues.row.modefinancement && + + } + +
+ + ); + }, + }, + { field: 'amount', headerName: 'Montant Formation', minWidth: 100, flex: 1, maxWidth: 150, type: 'number', flex: 1, editable: true, renderCell: (params) => , }, + { + field: "update", headerName: 'Mise à jour', + renderCell: (cellValues) => { + return ( + + <> + {String(props.check_user_acces_right("session", "write")) === "1" && { + handleClick_accept(event, cellValues); + }} + > + + + } + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + Confirmer la mise à jour des informations du stagiaire +
+
+
+ + +
+
+ +
+
+
+ )} +
} + + + + ); + } + }, + + + { + field: 'bton_vertif', headerName: 'Gestion', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center", + renderCell: (cellValues) => { + return ( +
+ + {String(props.check_user_acces_right("session", "write")) === "1" &&