02/08/2024 - 17h
parent
1aa9027239
commit
3a9b3ec036
|
@ -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 (
|
||||
<div className="groupe_apprenant">
|
||||
{isLoading && <div className="loader-container">
|
||||
|
@ -1805,7 +1997,7 @@ const Groupe_Apprenant = (props) => {
|
|||
|
||||
<Dialog
|
||||
open={Dialog_GRP_AUTOMATIC_open}
|
||||
// onClose={Dialog_GRP_AUTOMATIC_handleClose}
|
||||
// onClose={Dialog_GRP_AUTOMATIC_handleClose}
|
||||
|
||||
className="displaypartnersession"
|
||||
static
|
||||
|
@ -1816,7 +2008,7 @@ const Groupe_Apprenant = (props) => {
|
|||
<DialogTitle> Création automatique des groupes </DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
|
||||
|
||||
</DialogContentText>
|
||||
|
||||
<div className="session_caract_Dialog" > <b> Nombre de Groupe </b>
|
||||
|
@ -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) => <TextField {...params} placeholder="Choisir une option " />
|
||||
|
@ -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) => {
|
|||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
|
||||
<Button onClick={"Add_One_Sequence_Session_Ressource_Mass"} className="bton_enreg_dialog">Créer en masse</Button>
|
||||
<Button onClick={Create_Automatic_Grp} className="bton_enreg_dialog">Créer en masse</Button>
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
|
@ -2413,7 +2608,98 @@ const Groupe_Apprenant = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="div_row">
|
||||
|
||||
{selectionModel_grp_apprenant && selectionModel_grp_apprenant.length >= 1 && <div className="block_en_mass">
|
||||
<nav >Traitement en masse </nav>
|
||||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
id="combo-box-demo"
|
||||
className="block_en_mass_select"
|
||||
fullWidth
|
||||
options={New_Option}
|
||||
onChange={(event, value) => {
|
||||
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) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>
|
||||
|
||||
|
||||
|
||||
{actionmass_ftion_val && <nav className='block_en_mass_bton_action'>
|
||||
<Popup
|
||||
trigger={<Button className="bton_enreg" style={{ "width": "90%" }}>
|
||||
|
||||
<FcAcceptDatabase /> Traiter
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
|
||||
>
|
||||
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information - {actionmass_ftion_val} </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
{String(actionmass_ftion_val) === "supprimer" &&
|
||||
<font color="red"> Confirmer la suppression de {selectionModel_grp_apprenant.length} groupe(s) .
|
||||
</font>}
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
actionmass_ftion_Traitemet();
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</nav>
|
||||
}
|
||||
|
||||
</div>}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Reference in New Issue