02/08/2024 - 17h
parent
1aa9027239
commit
3a9b3ec036
|
@ -418,6 +418,7 @@ const Groupe_Apprenant = (props) => {
|
||||||
setgrp_apprenant_data_changed("");
|
setgrp_apprenant_data_changed("");
|
||||||
setgrp_apprenant_data_edit_mode("");
|
setgrp_apprenant_data_edit_mode("");
|
||||||
setgridline_id("");
|
setgridline_id("");
|
||||||
|
setSelectionModel([]);
|
||||||
alert(res.data.message);
|
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_session_id, setp_detail_session_id] = React.useState("");
|
||||||
const [p_detail_type_groupe_code, setp_detail_type_groupe_code] = 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() {
|
function clear_DetailFieds() {
|
||||||
setp_detail_code("");
|
setp_detail_code("");
|
||||||
setp_detail_nom("");
|
setp_detail_nom("");
|
||||||
|
@ -1787,14 +1795,198 @@ const Groupe_Apprenant = (props) => {
|
||||||
const Dialog_GRP_AUTOMATIC_handleClose_buton = () => {
|
const Dialog_GRP_AUTOMATIC_handleClose_buton = () => {
|
||||||
|
|
||||||
setDialog_GRP_AUTOMATIC_open(false);
|
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 = [
|
const New_Option_Groupe_By = [
|
||||||
{ "id": "0", "label": "Ordre Alphabétique (nom)", "value": "0" },
|
{ "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 (
|
return (
|
||||||
<div className="groupe_apprenant">
|
<div className="groupe_apprenant">
|
||||||
{isLoading && <div className="loader-container">
|
{isLoading && <div className="loader-container">
|
||||||
|
@ -1805,7 +1997,7 @@ const Groupe_Apprenant = (props) => {
|
||||||
|
|
||||||
<Dialog
|
<Dialog
|
||||||
open={Dialog_GRP_AUTOMATIC_open}
|
open={Dialog_GRP_AUTOMATIC_open}
|
||||||
// onClose={Dialog_GRP_AUTOMATIC_handleClose}
|
// onClose={Dialog_GRP_AUTOMATIC_handleClose}
|
||||||
|
|
||||||
className="displaypartnersession"
|
className="displaypartnersession"
|
||||||
static
|
static
|
||||||
|
@ -1816,7 +2008,7 @@ const Groupe_Apprenant = (props) => {
|
||||||
<DialogTitle> Création automatique des groupes </DialogTitle>
|
<DialogTitle> Création automatique des groupes </DialogTitle>
|
||||||
<DialogContent className="DialogContent_width">
|
<DialogContent className="DialogContent_width">
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
|
|
||||||
</DialogContentText>
|
</DialogContentText>
|
||||||
|
|
||||||
<div className="session_caract_Dialog" > <b> Nombre de Groupe </b>
|
<div className="session_caract_Dialog" > <b> Nombre de Groupe </b>
|
||||||
|
@ -1829,7 +2021,7 @@ const Groupe_Apprenant = (props) => {
|
||||||
fullWidth
|
fullWidth
|
||||||
inputProps={{ min: "1", max: "99", step: "1" }}
|
inputProps={{ min: "1", max: "99", step: "1" }}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
|
setp_detail_nb_grp_auto(e.target.value);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1847,7 +2039,10 @@ const Groupe_Apprenant = (props) => {
|
||||||
|
|
||||||
options={New_Option_Groupe_By}
|
options={New_Option_Groupe_By}
|
||||||
onChange={(event, value) => {
|
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 " />
|
renderInput={(params) => <TextField {...params} placeholder="Choisir une option " />
|
||||||
|
@ -1868,17 +2063,17 @@ const Groupe_Apprenant = (props) => {
|
||||||
fullWidth
|
fullWidth
|
||||||
//className="disabled_style enable_style"
|
//className="disabled_style enable_style"
|
||||||
options={New_Getall_Partner_Class_Reduice_Fields_result}
|
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) => {
|
onChange={(event, value) => {
|
||||||
if (value && value._id) {
|
if (value && value._id) {
|
||||||
setp_detail_class_id(value._id);
|
setp_detail_class_id_auto(value._id);
|
||||||
setp_detail_class_internal_url(value.internal_url);
|
setp_detail_class_internal_url_auto(value.internal_url);
|
||||||
setgrp_apprenant_data_changed("1");
|
setgrp_apprenant_data_changed("1");
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|
||||||
setp_detail_class_id("");
|
setp_detail_class_id_auto("");
|
||||||
setp_detail_class_internal_url("");
|
setp_detail_class_internal_url_auto("");
|
||||||
setgrp_apprenant_data_changed("1");
|
setgrp_apprenant_data_changed("1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1905,14 +2100,14 @@ const Groupe_Apprenant = (props) => {
|
||||||
name="detail_classe"
|
name="detail_classe"
|
||||||
id="detail_classe"
|
id="detail_classe"
|
||||||
fullWidth
|
fullWidth
|
||||||
options={New_Getall_Partner_Session_Reduice_Fields_result.filter((data) => (data).class_internal_url === String(p_detail_class_internal_url))}
|
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))[0].label}
|
value={New_Getall_Partner_Session_Reduice_Fields_result.filter((data) => (data)._id === String(p_detail_session_id_auto))[0].label}
|
||||||
onChange={(event, value) => {
|
onChange={(event, value) => {
|
||||||
if (value && value._id) {
|
if (value && value._id) {
|
||||||
setp_detail_session_id(value._id);
|
setp_detail_session_id_auto(value._id);
|
||||||
setgrp_apprenant_data_changed("1");
|
setgrp_apprenant_data_changed("1");
|
||||||
} else {
|
} else {
|
||||||
setp_detail_session_id("");
|
setp_detail_session_id_auto("");
|
||||||
setgrp_apprenant_data_changed("1");
|
setgrp_apprenant_data_changed("1");
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
@ -1937,16 +2132,16 @@ const Groupe_Apprenant = (props) => {
|
||||||
id="detail_type_grp"
|
id="detail_type_grp"
|
||||||
fullWidth
|
fullWidth
|
||||||
options={New_Getall_Groupe_Apprenant_Type_result}
|
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) => {
|
onChange={(event, value) => {
|
||||||
if (value && value.code) {
|
if (value && value.code) {
|
||||||
|
|
||||||
setp_detail_type_groupe_code(value.code);
|
setp_detail_type_groupe_code_auto(value.code);
|
||||||
setgrp_apprenant_data_changed("1");
|
setgrp_apprenant_data_changed("1");
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
setp_detail_type_groupe_code("");
|
setp_detail_type_groupe_code_auto("");
|
||||||
setgrp_apprenant_data_changed("1");
|
setgrp_apprenant_data_changed("1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1973,7 +2168,7 @@ const Groupe_Apprenant = (props) => {
|
||||||
<div className="div_row">
|
<div className="div_row">
|
||||||
<div className="div_row_gauche">
|
<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>
|
||||||
|
|
||||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||||
|
@ -2413,7 +2608,98 @@ const Groupe_Apprenant = (props) => {
|
||||||
|
|
||||||
</div>
|
</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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue