From 3a9b3ec0368aa5f693480f3118f85c5521e00e01 Mon Sep 17 00:00:00 2001 From: cherif Date: Fri, 2 Aug 2024 17:23:54 +0200 Subject: [PATCH] 02/08/2024 - 17h --- src/components/Groupe_Apprenant.js | 322 +++++++++++++++++++++++++++-- 1 file changed, 304 insertions(+), 18 deletions(-) diff --git a/src/components/Groupe_Apprenant.js b/src/components/Groupe_Apprenant.js index beb81c1..1674e37 100644 --- a/src/components/Groupe_Apprenant.js +++ b/src/components/Groupe_Apprenant.js @@ -418,6 +418,7 @@ const Groupe_Apprenant = (props) => { setgrp_apprenant_data_changed(""); setgrp_apprenant_data_edit_mode(""); setgridline_id(""); + setSelectionModel([]); alert(res.data.message); } @@ -1366,6 +1367,13 @@ const Groupe_Apprenant = (props) => { const [p_detail_session_id, setp_detail_session_id] = React.useState(""); const [p_detail_type_groupe_code, setp_detail_type_groupe_code] = React.useState(""); + const [p_detail_nb_grp_auto, setp_detail_nb_grp_auto] = React.useState(""); + const [p_detail_split_type_auto, setp_detail_split_type_auto] = React.useState(""); + const [p_detail_class_id_auto, setp_detail_class_id_auto] = React.useState(""); + const [p_detail_session_id_auto, setp_detail_session_id_auto] = React.useState(""); + const [p_detail_class_internal_url_auto, setp_detail_class_internal_url_auto] = React.useState(""); + const [p_detail_type_groupe_code_auto, setp_detail_type_groupe_code_auto] = React.useState(""); + function clear_DetailFieds() { setp_detail_code(""); setp_detail_nom(""); @@ -1787,14 +1795,198 @@ const Groupe_Apprenant = (props) => { const Dialog_GRP_AUTOMATIC_handleClose_buton = () => { setDialog_GRP_AUTOMATIC_open(false); + setp_detail_nb_grp_auto(""); + setp_detail_split_type_auto(""); + + setp_detail_class_id_auto(""); + setp_detail_session_id_auto(""); + setp_detail_class_internal_url_auto(""); + setp_detail_type_groupe_code_auto(""); }; const New_Option_Groupe_By = [ { "id": "0", "label": "Ordre Alphabétique (nom)", "value": "0" }, - { "id": "1", "label": "Aléatoire", "value": "2" }, + { "id": "1", "label": "Aléatoire", "value": "1" }, + { "id": "", "label": "", "value": "" }, ] + const [Create_Automatic_Grp_api, setCreate_Automatic_Grp_api] = useState(); + const [Create_Automatic_Grp_message, setCreate_Automatic_Grp_message] = useState(); + const [Create_Automatic_Grp_result, setCreate_Automatic_Grp_result] = useState(); + function Create_Automatic_Grp() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + + form.append("nb_groupe", p_detail_nb_grp_auto); + form.append("split_type", p_detail_split_type_auto); + + form.append("type_groupe_code", p_detail_type_groupe_code_auto); + form.append("class_id", p_detail_class_id_auto); + form.append("session_id", p_detail_session_id_auto); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Automatic_Creation_Groupe_Member_Inscrit/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Create_Automatic_Grp res.data.status = " + res.data.status); + //console.log(" In Create_Automatic_Grp res.data.message r_class = " + res.data.message); + + setLoading(false); + + if (String(res.data.status) === String("true")) { + setCreate_Automatic_Grp_api("true"); + setCreate_Automatic_Grp_result(res.data.message); + + Disable_Grp_Apprenant_DetailFields(); + setgrp_apprenant_data_changed(""); + setgrp_apprenant_data_edit_mode(""); + setSelectionModel([]); + clear_DetailFieds(); + Dialog_GRP_AUTOMATIC_handleClose_buton(); + + Getall_Partner_Groupe_Inscrit(); + + alert(res.data.message); + + if (document.getElementById('myRef')) { + // myRef.current.scrollIntoView({ behavior: "smooth" }); + var divh = document.getElementById('myRef').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + else { + setCreate_Automatic_Grp_api("false"); + setCreate_Automatic_Grp_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + setLoading(false); + + console.log('UpdateStagiaireData : Not good man :( Create_Automatic_Grp = ' + error); + setCreate_Automatic_Grp_api("false"); + alert(" Impossible de créer les groupes "); + + }) + } + + + const [actionmass_ftion_val, setactionmass_ftion_val] = useState(); + const actionmass_ftion = (event) => { + const value = event.target.value; + + + if (String(value) === "supprimer") { + setactionmass_ftion_val(value); + } + else { + setactionmass_ftion_val(); + } + } + + + const New_Option = [ + + { "id": "2", "label": "Supprimer", "value": "supprimer" }, + ] + + async function actionmass_ftion_Traitemet() { + + + var liste_grp_apprenant = GetSelectedRowsApprenantGrp(); + + if (String(actionmass_ftion_val) === String("supprimer")) { + + Delete_LIST_Grp(liste_grp_apprenant); + } + + } + + const [Delete_LIST_Grp_api, setDelete_LIST_Grp_api] = useState(); + const [Delete_LIST_Grp_message, setDelete_LIST_Grp_message] = useState(); + const [Delete_LIST_Grp_result, setDelete_LIST_Grp_result] = useState(); + function Delete_LIST_Grp(local_list_grp) { + + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + //console.log(" #### local_liste_session = ", local_liste_session) + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", local_list_grp); + + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Groupe_Inscrit/"; + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Delete_LIST_Grp res.data.status = " + res.data.status); + //console.log(" In Delete_LIST_Grp res.data.message r_class = " + res.data.message); + + setLoading(false); + + if (String(res.data.status) === String("true")) { + setDelete_LIST_Grp_api("true"); + setDelete_LIST_Grp_result(res.data.message); + + setselectionModel_grp_apprenant([]); + + + setgridline_id(''); + window.scrollTo({ + top: 0, + behavior: "smooth", + }); + + Getall_Partner_Groupe_Inscrit(); + + alert(res.data.message); + } + else { + setDelete_LIST_Grp_api("false"); + setDelete_LIST_Grp_message(res.data.message); + alert(res.data.message); + + } + + }).catch((error) => { + setLoading(false); + console.warn('Delete_LIST_Grp : Not good man :( mysearchtext = ' + error); + setDelete_LIST_Grp_api("false"); + alert(" Impossible de supprimer la liste des apprenants"); + }) + } + + + + function GetSelectedRowsApprenantGrp() { + ///alert(" les lignes slected sont : " + selectionModel + " nb item = " + selectionModel.length); zzzzz + //const selectedRowsData = selectionModel.map((id) => rowss.find((row) => row.id === id)); + //console.log(rowss[0]); + var tab_tmp = [] + for (var i = 0; i < selectionModel_grp_apprenant.length; i++) { + var myid = parseInt(String(selectionModel_grp_apprenant[i])); + var line = JSON.parse(Getall_Partner_Groupe_Inscrit_result[myid]); + tab_tmp.push(line._id); + //console.log(rowss[myid]['external_code']); + } + + return tab_tmp; + + } + + return (
{isLoading &&
@@ -1805,7 +1997,7 @@ const Groupe_Apprenant = (props) => { { Création automatique des groupes - +
Nombre de Groupe @@ -1829,7 +2021,7 @@ const Groupe_Apprenant = (props) => { fullWidth inputProps={{ min: "1", max: "99", step: "1" }} onChange={(e) => { - + setp_detail_nb_grp_auto(e.target.value); } } @@ -1847,7 +2039,10 @@ const Groupe_Apprenant = (props) => { options={New_Option_Groupe_By} onChange={(event, value) => { - + if (value.value) + setp_detail_split_type_auto(value.value); + else + setp_detail_split_type_auto(""); }} renderInput={(params) => @@ -1868,17 +2063,17 @@ const Groupe_Apprenant = (props) => { fullWidth //className="disabled_style enable_style" options={New_Getall_Partner_Class_Reduice_Fields_result} - value={New_Getall_Partner_Class_Reduice_Fields_result.filter((data) => (data)._id === String(p_detail_class_id))[0].label} + value={New_Getall_Partner_Class_Reduice_Fields_result.filter((data) => (data)._id === String(p_detail_class_id_auto))[0].label} onChange={(event, value) => { if (value && value._id) { - setp_detail_class_id(value._id); - setp_detail_class_internal_url(value.internal_url); + setp_detail_class_id_auto(value._id); + setp_detail_class_internal_url_auto(value.internal_url); setgrp_apprenant_data_changed("1"); } else { - setp_detail_class_id(""); - setp_detail_class_internal_url(""); + setp_detail_class_id_auto(""); + setp_detail_class_internal_url_auto(""); setgrp_apprenant_data_changed("1"); } @@ -1905,14 +2100,14 @@ const Groupe_Apprenant = (props) => { name="detail_classe" id="detail_classe" fullWidth - options={New_Getall_Partner_Session_Reduice_Fields_result.filter((data) => (data).class_internal_url === String(p_detail_class_internal_url))} - value={New_Getall_Partner_Session_Reduice_Fields_result.filter((data) => (data)._id === String(p_detail_session_id))[0].label} + options={New_Getall_Partner_Session_Reduice_Fields_result.filter((data) => (data).class_internal_url === String(p_detail_class_internal_url_auto))} + value={New_Getall_Partner_Session_Reduice_Fields_result.filter((data) => (data)._id === String(p_detail_session_id_auto))[0].label} onChange={(event, value) => { if (value && value._id) { - setp_detail_session_id(value._id); + setp_detail_session_id_auto(value._id); setgrp_apprenant_data_changed("1"); } else { - setp_detail_session_id(""); + setp_detail_session_id_auto(""); setgrp_apprenant_data_changed("1"); } }} @@ -1937,16 +2132,16 @@ const Groupe_Apprenant = (props) => { id="detail_type_grp" fullWidth options={New_Getall_Groupe_Apprenant_Type_result} - value={New_Getall_Groupe_Apprenant_Type_result.filter((data) => (data).code === String(p_detail_type_groupe_code))[0].label} + value={New_Getall_Groupe_Apprenant_Type_result.filter((data) => (data).code === String(p_detail_type_groupe_code_auto))[0].label} onChange={(event, value) => { if (value && value.code) { - setp_detail_type_groupe_code(value.code); + setp_detail_type_groupe_code_auto(value.code); setgrp_apprenant_data_changed("1"); } else { - setp_detail_type_groupe_code(""); + setp_detail_type_groupe_code_auto(""); setgrp_apprenant_data_changed("1"); } @@ -1973,7 +2168,7 @@ const Groupe_Apprenant = (props) => {
- +
@@ -2413,7 +2608,98 @@ const Groupe_Apprenant = (props) => {
+
+ {selectionModel_grp_apprenant && selectionModel_grp_apprenant.length >= 1 &&
+ +   + { + if (value && value.value) { + if (String(value.value) === "supprimer" + || String(value.value) === "dupliquer" || String(value.value) === "exporter" + || String(value.value) === "inscrire") { + setactionmass_ftion_val(value.value); + } + else { + setactionmass_ftion_val(); + } + + } + + }} + + renderInput={(params) => + } + /> + + + + {actionmass_ftion_val && + } + +
} +