01/03/26 - 13h30
parent
d9c2b6d856
commit
072516011f
|
|
@ -99,6 +99,9 @@ const AddClassManual = (props) => {
|
|||
const url = process.env.REACT_APP_API_URL + "/myclass/api/add_partner_account/";
|
||||
const [inputs, setInputs] = useState({});
|
||||
|
||||
|
||||
const [is_ftion_initiale, setis_ftion_initiale] = useState("0");
|
||||
|
||||
const [mypublished, setmypublished] = useState("0");
|
||||
const [mypublished_label, setmypublished_label] = useState("-");
|
||||
|
||||
|
|
@ -193,10 +196,10 @@ const AddClassManual = (props) => {
|
|||
{ field: '_id', headerName: '_id', hide: true },
|
||||
{ field: 'code', headerName: 'Code', maxWidth: 250, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'titre', headerName: 'Titre', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'credit', headerName: 'Credit', maxWidth: 100, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'credit', headerName: 'Credit', maxWidth: 100, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'coefficient', headerName: 'Coef.', maxWidth: 100, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{
|
||||
field: 'pres_dist_hyp', headerName: 'Animation', maxWidth: 180,
|
||||
field: 'pres_dist_hyp', headerName: 'Animation', maxWidth: 180,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
|
|
@ -209,7 +212,7 @@ const AddClassManual = (props) => {
|
|||
}
|
||||
},
|
||||
{
|
||||
field: 'is_noted', headerName: 'Evalué', maxWidth: 100, renderCell: (params) => <ExpandableCell_50 {...params} />,
|
||||
field: 'is_noted', headerName: 'Evalué', maxWidth: 100, renderCell: (params) => <ExpandableCell_50 {...params} />,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
|
|
@ -221,11 +224,11 @@ const AddClassManual = (props) => {
|
|||
);
|
||||
}
|
||||
},
|
||||
{ field: 'seuil_validation', headerName: 'Seuil val.', maxWidth: 100, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'seuil_validation', headerName: 'Seuil val.', maxWidth: 100, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
||||
{ field: 'duration_concat', headerName: 'Durée', maxidth: 100, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'duration', headerName: 'Durée', maxWidth: 150, hide: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'duration_concat', headerName: 'Durée', maxidth: 100, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'duration', headerName: 'Durée', maxWidth: 150, hide: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'duration_unite', headerName: 'Unit.', maxWidth: 150, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{
|
||||
|
|
@ -2008,6 +2011,14 @@ const AddClassManual = (props) => {
|
|||
setmytraining_ref_peda_id("");
|
||||
|
||||
|
||||
if (mylocaltraining.is_ftion_initiale) {
|
||||
setis_ftion_initiale(mylocaltraining.is_ftion_initiale);
|
||||
}
|
||||
else
|
||||
setis_ftion_initiale("");
|
||||
|
||||
|
||||
|
||||
if (mylocaltraining.domaine) {
|
||||
setmytrainingdomaine(mylocaltraining.domaine);
|
||||
//console.log(" ### mylocaltraining.domaine = ", mylocaltraining.domaine);
|
||||
|
|
@ -2530,7 +2541,7 @@ const AddClassManual = (props) => {
|
|||
formData.append('categorie', mycategorie);
|
||||
formData.append('version', version);
|
||||
formData.append('referentiel_padagogique_id', mytraining_ref_peda_id);
|
||||
|
||||
formData.append('is_ftion_initiale', is_ftion_initiale);
|
||||
|
||||
|
||||
formData.append('recyclage_delai', p_detail_recyclage_delai);
|
||||
|
|
@ -3467,6 +3478,12 @@ const AddClassManual = (props) => {
|
|||
|
||||
];
|
||||
|
||||
const New_Option_is_Ftion_Initiale = [
|
||||
{ "id": "1", "label": "Oui", "value": "1" },
|
||||
{ "id": "0", "label": "Non", "value": "0" },
|
||||
{ "id": "", "label": "", "value": "" },
|
||||
]
|
||||
|
||||
function retourList() {
|
||||
props.GetAllClass_new();
|
||||
props.closeTrainingForm();
|
||||
|
|
@ -7992,7 +8009,7 @@ const AddClassManual = (props) => {
|
|||
disablePortal
|
||||
name="formateur_id"
|
||||
id="formateur_id"
|
||||
|
||||
|
||||
className="disabled_style"
|
||||
options={New_Getall_Training_Employee_No_Filter_result}
|
||||
value={p_formateur_label}
|
||||
|
|
@ -8410,6 +8427,34 @@ const AddClassManual = (props) => {
|
|||
|
||||
</div>}
|
||||
|
||||
|
||||
{New_Option_is_Ftion_Initiale && New_Option_is_Ftion_Initiale.length > 0 &&
|
||||
<div className="training_caract"> <Autocomplete
|
||||
disablePortal
|
||||
name="is_ftion_initiale"
|
||||
id="is_ftion_initiale"
|
||||
className="disabled_style"
|
||||
options={New_Option_is_Ftion_Initiale}
|
||||
value= {New_Option_is_Ftion_Initiale.filter((data) => (data).value === String(is_ftion_initiale))[0].label}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setis_ftion_initiale(value.value);
|
||||
setdatamodification("1");
|
||||
|
||||
} else {
|
||||
setis_ftion_initiale("");
|
||||
setdatamodification("1");
|
||||
}
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="Ftion. Initiale ?" />
|
||||
}
|
||||
/>
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
{ field: 'telephone', headerName: 'Téléphone', hide: true, editable: false, Width: 0 },
|
||||
{ field: 'date_naissance', headerName: 'date_naissance', hide: true, editable: false, Width: 0 },
|
||||
|
||||
|
||||
{
|
||||
field: 'warning_recyclage_alert', headerName: 'Alert', hide: false, Width: 150,
|
||||
|
||||
|
|
@ -302,7 +302,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
},
|
||||
|
||||
},
|
||||
{ field: 'date_debut', headerName: 'Du', minWidth: 90, maxWidth: 100, flex: 1, hideable: true, editable: false, hide: true },
|
||||
{ field: 'date_debut', headerName: 'Du', minWidth: 90, maxWidth: 100, flex: 1, hideable: true, editable: false, hide: true },
|
||||
{ field: 'date_fin', headerName: 'Au', minWidth: 90, maxWidth: 100, flex: 1, hideable: true, editable: false, hide: true },
|
||||
{ field: 'class_internal_url', headerName: 'class_internal_url', hide: true, editable: false },
|
||||
|
||||
|
|
@ -6236,6 +6236,13 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
}
|
||||
|
||||
else if (String(actionmass_ftion_val) === String("pushdocument")) {
|
||||
|
||||
var myid = parseInt(String(selectionModel[0]));
|
||||
var first_line_selected = JSON.parse(rowss[myid]);
|
||||
|
||||
console.log(" first_line_selected == ", first_line_selected);
|
||||
|
||||
Get_List_UE_From_Session_Id(first_line_selected.session_id);
|
||||
// console.log(" #### selectedtraining_emails_liste = ", selectedtraining_emails_liste);
|
||||
settab_email_pieces_jointes_result([]);
|
||||
setDialog_PUSH_DOCUMENT_TO_ENT_open(true);
|
||||
|
|
@ -7774,6 +7781,11 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setDialog_PUSH_DOCUMENT_TO_ENT_open(false);
|
||||
settab_email_pieces_jointes_result([]);
|
||||
setent_push_doc_message_notif("");
|
||||
settab_selected_list_ue([]);
|
||||
|
||||
setNew_Get_List_UE_From_Session_Id_result([]);
|
||||
setGet_List_UE_From_Session_Id_result([])
|
||||
|
||||
}
|
||||
|
||||
const [tab_email_pieces_jointes_result, settab_email_pieces_jointes_result] = useState([]);
|
||||
|
|
@ -7906,6 +7918,21 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
form.append("related_collection", "inscription");
|
||||
form.append("list_email_dest", selectedtraining_emails_liste);
|
||||
|
||||
var tab_eu_ids = [];
|
||||
|
||||
|
||||
for (var i = 0; i < tab_selected_list_ue.length; i++) {
|
||||
var local_eu_id = tab_selected_list_ue[i]._id;
|
||||
tab_eu_ids.push(local_eu_id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (tab_eu_ids.length > 0)
|
||||
form.append("tab_ue_ids", tab_eu_ids);
|
||||
else
|
||||
form.append("tab_ue_ids", "");
|
||||
|
||||
|
||||
if (ent_push_doc_message_notif)
|
||||
form.append("ent_push_doc_message_notif", ent_push_doc_message_notif);
|
||||
|
|
@ -7921,7 +7948,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
// Important, on ne peut pousser des documents que pour une et unique session, pas de melance de session_id
|
||||
console.log(" ### selected_list_session_id = ", selected_list_session_id);
|
||||
// console.log(" ### selected_list_session_id = ", selected_list_session_id);
|
||||
var local_session_id = "";
|
||||
var nb_different_session = 0;
|
||||
const tab_session_id = selected_list_session_id.split(',');
|
||||
|
|
@ -7931,7 +7958,11 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
local_session_id = tab_session_id[i]
|
||||
}
|
||||
console.log(" ### nb_different_session = ", nb_different_session);
|
||||
|
||||
|
||||
|
||||
|
||||
// console.log(" ### nb_different_session = ", nb_different_session);
|
||||
|
||||
if (nb_different_session > 1) {
|
||||
setdisplay_alert_mysy("1");
|
||||
|
|
@ -7972,7 +8003,12 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setShare_Document_To_Ent_result(res.data.message);
|
||||
Dialog_PUSH_DOCUMENT_TO_ENT_handleClose();
|
||||
|
||||
//alert(res.data.message);
|
||||
setSelectionModel([]);
|
||||
setactionmass_ftion_val("");
|
||||
setselected_id("");
|
||||
setaddOneParticipant("");
|
||||
setdisplay_detail_stagiaire("");
|
||||
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
|
|
@ -8475,6 +8511,105 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
})
|
||||
}
|
||||
|
||||
|
||||
const fixedVal_list_ue = [];
|
||||
const [tab_selected_list_ue, settab_selected_list_ue] = useState([...fixedVal_list_ue]);
|
||||
|
||||
const [New_Get_List_UE_From_Session_Id_result, setNew_Get_List_UE_From_Session_Id_result] = useState([]);
|
||||
|
||||
const [Get_List_UE_From_Session_Id_api, setGet_List_UE_From_Session_Id_api] = useState();
|
||||
const [Get_List_UE_From_Session_Id_message, setGet_List_UE_From_Session_Id_message] = useState();
|
||||
const [Get_List_UE_From_Session_Id_result, setGet_List_UE_From_Session_Id_result] = useState([]);
|
||||
function Get_List_UE_From_Session_Id(local_session_id) {
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("session_id", local_session_id);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Unite_Enseignement_Of_Given_Class_From_Session_Id/";
|
||||
|
||||
setLoading(true);
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
//console.log(" In Get_List_UE_From_Session_Id res.data.status = " + res.data.status);
|
||||
//console.log(" In Get_List_UE_From_Session_Id res.data.message r_class = " + res.data.message);
|
||||
setGet_List_UE_From_Session_Id_api("true");
|
||||
setGet_List_UE_From_Session_Id_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_code = JSON.parse(x).code;
|
||||
var local_titre = JSON.parse(x).titre;
|
||||
|
||||
var local_class_id = JSON.parse(x).class_id;
|
||||
var local_internal_url = JSON.parse(x).internal_url;
|
||||
|
||||
|
||||
|
||||
|
||||
//---
|
||||
var node = {
|
||||
"_id": local_id,
|
||||
"id": localid,
|
||||
"label": local_code + " - " + String(local_titre).substring(0, 20),
|
||||
"code": local_code,
|
||||
"titre": local_titre,
|
||||
"class_id": local_class_id,
|
||||
"internal_url": local_internal_url,
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
});
|
||||
|
||||
//---
|
||||
var node = {
|
||||
"_id": "",
|
||||
"id": "",
|
||||
"label": "",
|
||||
"code": "",
|
||||
"titre": "",
|
||||
"class_id": "",
|
||||
"internal_url": "",
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
||||
if (new_data2.length > 0)
|
||||
setNew_Get_List_UE_From_Session_Id_result(new_data2);
|
||||
}
|
||||
else {
|
||||
setGet_List_UE_From_Session_Id_api("false");
|
||||
setGet_List_UE_From_Session_Id_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('Not good man :( Get_List_UE_From_Session_Id = ', error);
|
||||
setGet_List_UE_From_Session_Id_api("false");
|
||||
// alert(" Impossible de recuperer la liste des UE de la formation");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de recuperer la liste des UE de la formation");
|
||||
setalert_type("error");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="displaypartnerstagiaire">
|
||||
{isLoading && <div className="loader-container">
|
||||
|
|
@ -8876,7 +9011,37 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog">
|
||||
Matière / UE
|
||||
{New_Get_List_UE_From_Session_Id_result.length > 0 &&
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
name="eu_data"
|
||||
id="eu_data"
|
||||
className="session_caract_Dialog"
|
||||
// value={New_Getall_Class_List_UE_result.filter((data) => (data)._id === String(p_filtre1_value))[0].label}
|
||||
options={New_Get_List_UE_From_Session_Id_result}
|
||||
value={tab_selected_list_ue}
|
||||
multiple
|
||||
|
||||
onChange={(event, value) => {
|
||||
settab_selected_list_ue([
|
||||
...fixedVal_list_ue,
|
||||
...value.filter((i) => fixedVal_list_ue.indexOf(i) === -1),
|
||||
]);
|
||||
|
||||
console.log("tab_selected_list_ue = ", tab_selected_list_ue)
|
||||
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une UE"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>
|
||||
}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div className="div_row" style={{ "padding": "5px" }}>
|
||||
|
|
@ -9028,7 +9193,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setalert_message("Aucun fichier à publier");
|
||||
setalert_type("error");
|
||||
return;
|
||||
} else if (tab_email_pieces_jointes_result.length > 5) {
|
||||
} else if (tab_email_pieces_jointes_result.length > 50) {
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous ne pouvez pas envoyer plus de 50 emails (destinataires) à la fois.");
|
||||
setalert_type("error");
|
||||
|
|
@ -10711,7 +10876,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
title: JSON.parse(item).title,
|
||||
distantiel: JSON.parse(item).distantiel,
|
||||
presentiel: JSON.parse(item).presentiel,
|
||||
|
||||
|
||||
date_debut: JSON.parse(item).date_du,
|
||||
date_fin: JSON.parse(item).date_au,
|
||||
class_internal_url: JSON.parse(item).class_internal_url,
|
||||
|
|
@ -10719,7 +10884,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
telephone: JSON.parse(item).telephone,
|
||||
date_naissance: JSON.parse(item).date_naissance,
|
||||
|
||||
|
||||
invoiced: JSON.parse(item).invoiced,
|
||||
invoiced_ref: JSON.parse(item).invoiced_ref,
|
||||
invoiced_date: JSON.parse(item).invoiced_date,
|
||||
|
|
@ -11186,6 +11351,9 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
<Button className="bton_enreg" style={{ "width": "90%" }}
|
||||
|
||||
onClick={(event) => {
|
||||
settab_selected_list_ue([]);
|
||||
setNew_Get_List_UE_From_Session_Id_result([]);
|
||||
setGet_List_UE_From_Session_Id_result([])
|
||||
actionmass_ftion_Traitemet();
|
||||
}}
|
||||
>
|
||||
|
|
@ -11245,7 +11413,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
{((selected_id && String(selected_id).length > 2) || (String(addOneParticipant) === "1")) && <div className="div_row">
|
||||
<Button variant="outlined" ref={myRef} onClick={submenu_detail_stagaire} className="detail_class_submenu" id='detail_session' name='detail_session'>Détail Participant</Button>
|
||||
<Button variant="outlined" ref={myRef} onClick={submenu_detail_stagaire} className="detail_class_submenu" id='detail_session' name='detail_session'>Détail Inscrit</Button>
|
||||
|
||||
|
||||
{/* <Button variant="outlined" onClick={submenu_sessions} className="detail_class_submenu" id='preinscrit' name='preinscrit'>Détail Session </Button>
|
||||
|
|
|
|||
|
|
@ -720,13 +720,15 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
return (
|
||||
|
||||
<nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
{String(cellValues.row.nb_session_formation).length > 0 && parseInt(String(cellValues.row.nb_session_formation)) <= 0 && <div>
|
||||
{String(cellValues.row.nb_session_formation).length > 0 && parseInt(String(cellValues.row.nb_session_formation)) <= 0 &&
|
||||
<div>
|
||||
|
||||
{cellValues.row.nb_session_formation}
|
||||
{cellValues.row.nb_session_formation}
|
||||
|
||||
</div>}
|
||||
</div>}
|
||||
|
||||
{String(cellValues.row.nb_session_formation).length > 0 && parseInt(String(cellValues.row.nb_session_formation)) > 0 &&
|
||||
cellValues.row.is_ftion_initiale !== "1" &&
|
||||
|
||||
<nav>
|
||||
|
||||
|
|
@ -745,6 +747,27 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
|
||||
</Button>
|
||||
</nav>}
|
||||
|
||||
{String(cellValues.row.nb_session_formation).length > 0 && parseInt(String(cellValues.row.nb_session_formation)) > 0 &&
|
||||
cellValues.row.is_ftion_initiale === "1" &&
|
||||
|
||||
<nav>
|
||||
|
||||
<Button
|
||||
|
||||
onClick={(event) => {
|
||||
window.open(
|
||||
process.env.REACT_APP_FRONT_URL + "Partner/mes_promotions/class/" + String(cellValues.row.internal_url),
|
||||
'_blank'
|
||||
);
|
||||
}}
|
||||
|
||||
variant="outlined"
|
||||
>
|
||||
{cellValues.row.nb_session_formation}
|
||||
|
||||
</Button>
|
||||
</nav>}
|
||||
</nav>
|
||||
|
||||
);
|
||||
|
|
@ -752,6 +775,19 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
},
|
||||
|
||||
|
||||
{
|
||||
field: 'is_ftion_initiale', headerName: 'Ftion. Init.', hide: false, Width: 50, editable: false, renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all" }}>
|
||||
{String(cellValues.row.is_ftion_initiale) === "1" && "Oui"}
|
||||
{String(cellValues.row.is_ftion_initiale) !== "1" && "Non"}
|
||||
|
||||
</div>
|
||||
|
||||
);
|
||||
},
|
||||
},
|
||||
|
||||
{ field: 'url', headerName: 'lien', minWidth: 20, hideable: true, hide: true, editable: false, },
|
||||
|
||||
|
||||
|
|
@ -3420,29 +3456,29 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
height: "700px",
|
||||
width: '100%',
|
||||
paddingRight: '2px',
|
||||
fontFamily:'DM Sans',
|
||||
fontFamily: 'DM Sans',
|
||||
|
||||
'& .cell--published': {
|
||||
backgroundColor: '#a2cf6e',
|
||||
color: '#1a3e72',
|
||||
fontWeight: 'bold',
|
||||
fontFamily:'DM Sans',
|
||||
fontFamily: 'DM Sans',
|
||||
},
|
||||
'& .cell--unpublished': {
|
||||
backgroundColor: '#ffac33',
|
||||
color: '#1a3e72',
|
||||
fontWeight: 'light',
|
||||
fontFamily:'DM Sans',
|
||||
fontFamily: 'DM Sans',
|
||||
},
|
||||
'& .line--published': {
|
||||
backgroundColor: '#E6F7C8',
|
||||
color: '#0a2a4d',
|
||||
fontFamily:'DM Sans',
|
||||
color: '#0a2a4d',
|
||||
fontFamily: 'DM Sans',
|
||||
},
|
||||
'& .line--unpublished': {
|
||||
backgroundColor: '#FAD7A0',
|
||||
color: '#0a2a4d',
|
||||
fontFamily:'DM Sans',
|
||||
fontFamily: 'DM Sans',
|
||||
},
|
||||
|
||||
"& .MuiDataGrid-columnHeaders": {
|
||||
|
|
@ -3532,6 +3568,8 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
|
||||
version: JSON.parse(item).version,
|
||||
|
||||
is_ftion_initiale: JSON.parse(item).is_ftion_initiale,
|
||||
|
||||
nb_session_formation: JSON.parse(item).nb_session_formation,
|
||||
|
||||
}
|
||||
|
|
@ -3576,7 +3614,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
}}
|
||||
getRowClassName={(params) => {
|
||||
|
||||
|
||||
|
||||
|
||||
if (String(params.row.published) === "1") {
|
||||
return 'line--published';
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ const useStyles = makeStyles((theme) => ({
|
|||
color: 'gray',
|
||||
},
|
||||
}));
|
||||
|
||||
|
||||
|
||||
|
||||
const Document_Affichage_Grid = (props) => {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,282 @@
|
|||
import React, { useRef, useState, useEffect } from "react";
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import axios from "axios";
|
||||
import { useParams } from 'react-router-dom';
|
||||
import { getCookie, setCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
import fileDownload from 'js-file-download'
|
||||
import TextField from '@mui/material/TextField';
|
||||
import MenuItem from '@mui/material/MenuItem';
|
||||
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 Button from '@mui/material/Button';
|
||||
import VisibilityIcon from '@mui/icons-material/Visibility';
|
||||
import ArrowCircleDownIcon from '@mui/icons-material/ArrowCircleDown';
|
||||
|
||||
import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
|
||||
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 FilePresentIcon from '@mui/icons-material/FilePresent';
|
||||
import PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf';
|
||||
import { BsFiletypePdf } from "react-icons/bs";
|
||||
import { GoFile } from "react-icons/go";
|
||||
|
||||
function PaperComponent(props) {
|
||||
return (
|
||||
<Draggable
|
||||
handle="#draggable-dialog-title"
|
||||
cancel={'[class*="MuiDialogContent-root"]'}
|
||||
>
|
||||
<Paper {...props} />
|
||||
</Draggable>
|
||||
);
|
||||
}
|
||||
|
||||
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 Document_ENT_Affichage_Grid = (props) => {
|
||||
|
||||
const classes = useStyles();
|
||||
|
||||
const [isLoading, setLoading] = 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("");
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
}, [props.apprenant_id])
|
||||
|
||||
function print_document_pdf(doc_id, file_extention, file_business_object) {
|
||||
|
||||
var part_cookie = getCookie('tokenmysypart');
|
||||
|
||||
|
||||
var nom_fichier_cmd = String(file_business_object) + "." + String(file_extention);
|
||||
// console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- doc_id = ", doc_id);
|
||||
|
||||
var url = process.env.REACT_APP_API_URL + "myclass/api/Get_Stored_Downloaded_File_From_Id/" + part_cookie + "/" + doc_id;
|
||||
|
||||
//console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- selected_id = ", selected_id, " --- url =", url);
|
||||
|
||||
axios.get(url, { responseType: 'blob', },)
|
||||
.then((res) => {
|
||||
fileDownload(res.data, nom_fichier_cmd)
|
||||
}).catch((error) => {
|
||||
console.error('Error:', error);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function preview_document_pdf(doc_id, file_extention, file_business_object) {
|
||||
|
||||
var part_cookie = getCookie('tokenmysypart');
|
||||
|
||||
|
||||
var nom_fichier_cmd = String(file_business_object) + "." + String(file_extention);
|
||||
// console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- doc_id = ", doc_id);
|
||||
|
||||
var url = process.env.REACT_APP_API_URL + "myclass/api/Get_Stored_Downloaded_File_From_Id/" + part_cookie + "/" + doc_id;
|
||||
|
||||
//console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- selected_id = ", selected_id, " --- url =", url);
|
||||
|
||||
axios.get(url, { responseType: 'blob', },)
|
||||
.then((res) => {
|
||||
|
||||
const blob = new Blob([res.data], { type: 'application/pdf' });
|
||||
const url = URL.createObjectURL(blob);
|
||||
setselected_doc_img(url);
|
||||
|
||||
// fileDownload(res.data, nom_fichier_cmd)
|
||||
}).catch((error) => {
|
||||
console.error('Error:', error);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
const [Dialog_Preview_Doc_message, setDialog_Preview_Doc_message] = React.useState(false);
|
||||
const [Dialog_Preview_Doc_open, setDialog_Preview_Doc_open] = React.useState(false);
|
||||
function Dialog_Preview_Doc_handle_change_participant_session(message) {
|
||||
setDialog_Preview_Doc_message(message);
|
||||
setDialog_Preview_Doc_open(true);
|
||||
}
|
||||
|
||||
const Dialog_Preview_Doc_handleClose = () => {
|
||||
|
||||
};
|
||||
|
||||
const Dialog_Preview_Doc_handleClose_buton = () => {
|
||||
setDialog_Preview_Doc_open(false);
|
||||
};
|
||||
|
||||
|
||||
const [selected_doc_img, setselected_doc_img] = React.useState("");
|
||||
const [selected_doc_name, setselected_doc_name] = React.useState("");
|
||||
|
||||
|
||||
return (
|
||||
|
||||
<div className="modules_mes_documents">
|
||||
{isLoading && <div className="loader-container">
|
||||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
{/*** Affichage des messages d'alerte*/}
|
||||
{display_alert_mysy && String(display_alert_mysy) === "1" &&
|
||||
<Module_Alert_Confirmation alert_message={alert_message}
|
||||
alert_type={alert_type}
|
||||
clear_alert_message={clear_alert_message}
|
||||
clear_alert_type={clear_alert_type}
|
||||
clear_display_alert_mysy={clear_display_alert_mysy}
|
||||
/>
|
||||
}
|
||||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
|
||||
|
||||
|
||||
{/***** Dialog Preview Image */}
|
||||
<Dialog
|
||||
open={Dialog_Preview_Doc_open}
|
||||
// onClose={Dialog_Preview_Doc_handleClose}
|
||||
static
|
||||
onClose={() => null}
|
||||
|
||||
PaperProps={{
|
||||
|
||||
|
||||
className: classes.paper, // Apply the paper style
|
||||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
top: '7rem',
|
||||
margin: "2px",
|
||||
width: '50rem',
|
||||
maxWidth:'unset',
|
||||
background:'#efefef',
|
||||
borderRadius:'20px!important'
|
||||
},
|
||||
}}
|
||||
hideBackdrop={true}
|
||||
disableScrollLock
|
||||
classes={{
|
||||
paper: classes.dialog
|
||||
}}
|
||||
|
||||
PaperComponent={PaperComponent}
|
||||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans", paddingBottom:'5px' }} id="draggable-dialog-title" >{selected_doc_name}</DialogTitle>
|
||||
<DialogContent>
|
||||
<DialogContentText>
|
||||
{Dialog_Preview_Doc_message}
|
||||
</DialogContentText>
|
||||
|
||||
<div style={{ width: '100%', height: '45rem' }}> <br />
|
||||
|
||||
{selected_doc_img &&
|
||||
<iframe src={selected_doc_img} style={{ height: '43rem', width: '96%' }}></iframe>}
|
||||
|
||||
</div>
|
||||
|
||||
</DialogContent>
|
||||
|
||||
<DialogActions>
|
||||
<IconButton
|
||||
// autoFocus
|
||||
onClick={Dialog_Preview_Doc_handleClose_buton}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
|
||||
{/***** FIN Dialog Preview Image */}
|
||||
|
||||
|
||||
|
||||
<div style={{ width: '100%', float: 'left', }}>
|
||||
<div style={{ display: 'flex', flexDirection: 'row', gap: '20px', width: '100%', flexWrap: 'wrap',
|
||||
justifyContent: 'center', padding:'15px', color:"#e0e0e0", overflow:'hidden' }}>
|
||||
|
||||
{props.list_document &&
|
||||
props.list_document.map((document) => (
|
||||
|
||||
|
||||
<div className="file-card">
|
||||
<div className="file-icon"><GoFile style={{ fontSize: '30px', color: '#81bc3a' }} /> </div>
|
||||
<div className="file-name" style={{minHeight:'3rem'}}>{JSON.parse(document).file_business_object}</div>
|
||||
<div className="file-date">Créé le {String(JSON.parse(document).creation_date).substring(0, 16)}</div>
|
||||
<div className="file-date" style={{ width: '40%', float: 'left', cursor: 'pointer' }} onClick={(e) => {
|
||||
preview_document_pdf(JSON.parse(document)._id, JSON.parse(document).file_extention, JSON.parse(document).file_business_object);
|
||||
setselected_doc_name(JSON.parse(document).file_business_object);
|
||||
setDialog_Preview_Doc_open(true);
|
||||
}}>
|
||||
<VisibilityIcon style={{ color: 'white' }} />
|
||||
</div>
|
||||
<div className="file-date" style={{ width: '40%', float: 'right', cursor: 'pointer' }} onClick={(e) => {
|
||||
print_document_pdf(JSON.parse(document)._id, JSON.parse(document).file_extention, JSON.parse(document).file_business_object);
|
||||
setselected_doc_name(JSON.parse(document).file_business_object);
|
||||
|
||||
}}>
|
||||
<ArrowCircleDownIcon style={{ color: 'white' }} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
))}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
export default Document_ENT_Affichage_Grid;
|
||||
|
|
@ -327,6 +327,9 @@ const Ent_Student_Affichage_Ftion_Grid = (props) => {
|
|||
},
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
return (
|
||||
|
||||
<div className="new_formation_2025">
|
||||
|
|
@ -445,7 +448,13 @@ const Ent_Student_Affichage_Ftion_Grid = (props) => {
|
|||
<font className='discount_block' style={{ fontSize: '14px' }}> ({props.formation.business_prices[0].discount} %) </font></p>
|
||||
</p>}
|
||||
|
||||
<p className="formation_description"> {String(parse(String(props.formation.description).replace(/(<([^>]+)>)/ig, ''))).substring(0, 80)}...</p>
|
||||
{props.session_code_session && <p className="formation_titre" style={{ textAlign: 'center' }}>
|
||||
<nav style={{ marginBottom: '10px' }}> {String(parse(String(props.session_code_session).replace(/(<([^>]+)>)/ig, ''))).substring(0, 100)} </nav>
|
||||
{props.session_date_debut && props.session_date_fin && <nav style={{ fontStyle: 'italic' }}> {props.session_date_debut} - {props.session_date_fin}</nav>}
|
||||
|
||||
</p>}
|
||||
|
||||
{/*<p className="formation_description"> {String(parse(String(props.formation.description).replace(/(<([^>]+)>)/ig, ''))).substring(0, 80)}...</p>*/}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
@ -453,6 +462,10 @@ const Ent_Student_Affichage_Ftion_Grid = (props) => {
|
|||
<button className="block_cats_bton_detail">
|
||||
<nav className="block_cats_bton_detail_text"
|
||||
onClick={(e) => {
|
||||
props.selected_sessionid(props.session_id);
|
||||
props.setselected_class_titre(props.formation_title);
|
||||
props.setselected_session_date_debut(props.session_date_debut);
|
||||
props.setselected_session_date_fin(props.session_date_fin);
|
||||
e.preventDefault();
|
||||
props.display_detail_from_grid(props.formationid, props.formation_id, props.session_id,
|
||||
props.inscription_id, props.class_id)
|
||||
|
|
@ -468,4 +481,5 @@ const Ent_Student_Affichage_Ftion_Grid = (props) => {
|
|||
}
|
||||
|
||||
|
||||
export default Ent_Student_Affichage_Ftion_Grid;
|
||||
export default Ent_Student_Affichage_Ftion_Grid;
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ import InputAdornment from '@mui/material/InputAdornment';
|
|||
import { AiFillCloseCircle, AiOutlineConsoleSql } from "react-icons/ai";
|
||||
import Box from '@mui/material/Box';
|
||||
|
||||
import Modules_ENT_Mes_Documents from "./Modules_ENT_Mes_Documents";
|
||||
|
||||
import { CiTrash } from "react-icons/ci";
|
||||
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
|
|
@ -138,7 +140,7 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
|
||||
return (
|
||||
<nav>
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop:'5px' }}>
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop: '5px' }}>
|
||||
|
||||
{expanded ? value : value.slice(0, 50)}
|
||||
{value.length > 50 && (
|
||||
|
|
@ -154,7 +156,7 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
)}
|
||||
</div>}
|
||||
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop:'5px' }}>
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop: '5px' }}>
|
||||
|
||||
</div>
|
||||
}
|
||||
|
|
@ -486,9 +488,14 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
const [selected_session_id, setselected_session_id] = useState("");
|
||||
const [selected_inscription_id, setselected_inscription_id] = useState("");
|
||||
|
||||
const [selected_class_titre, setselected_class_titre] = useState("");
|
||||
|
||||
const [selected_class_external_code, setselected_class_external_code] = useState("");
|
||||
const [selected_code_session, setselected_code_session] = useState("");
|
||||
|
||||
const [selected_session_date_debut, setselected_session_date_debut] = useState("");
|
||||
const [selected_session_date_fin, setselected_session_date_fin] = useState("");
|
||||
|
||||
|
||||
const [Get_Given_Class_Data_api, setGet_Given_Class_Data_api] = useState();
|
||||
const [Get_Given_Class_Data_message, setGet_Given_Class_Data_message] = useState();
|
||||
|
|
@ -512,7 +519,7 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
setGet_Given_Class_Data_result(res.data.message);
|
||||
|
||||
if (document.getElementById('myRef_detail')) {
|
||||
var divh = document.getElementById('myRef_detail').offsetTop;
|
||||
var divh = document.getElementById('myRef_detail').offsetTop - 300;
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
|
|
@ -1615,6 +1622,17 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [is_selected, setis_selected] = useState(false);
|
||||
const [selecte_session_id, setselecte_session_id] = useState("");
|
||||
|
||||
function hilight_class() {
|
||||
setis_selected(true);
|
||||
}
|
||||
|
||||
function selected_sessionid(val) {
|
||||
setselecte_session_id(val);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="module_ent_mes_formations" >
|
||||
|
||||
|
|
@ -1912,14 +1930,14 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
}
|
||||
},*/
|
||||
"& .MuiDataGrid-columnHeaders": {
|
||||
backgroundColor: "#dfe8f2",
|
||||
color: "#0a2a4d",
|
||||
fontSize: '14px',
|
||||
fontFamily:'DM Sans',
|
||||
backgroundColor: "#dfe8f2",
|
||||
color: "#0a2a4d",
|
||||
fontSize: '14px',
|
||||
fontFamily: 'DM Sans',
|
||||
},
|
||||
|
||||
'& .line--statut--selected': {
|
||||
backgroundColor: '#e9f7f1',
|
||||
backgroundColor: '#e9f7f1',
|
||||
color: '#0a2a4d',
|
||||
},
|
||||
'& .line--statut--pair': {
|
||||
|
|
@ -1938,7 +1956,7 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
}}
|
||||
>
|
||||
<DataGrid
|
||||
// checkboxSelection
|
||||
// checkboxSelection
|
||||
onSelectionModelChange={(newSelectionModel) => {
|
||||
setSelectionModel(newSelectionModel);
|
||||
/*if (newSelectionModel.length === 1)
|
||||
|
|
@ -1980,9 +1998,15 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
setselected_session_id(newSelectionModel.row.associated_session_id);
|
||||
setselected_inscription_id(newSelectionModel.row.associated_inscription_id);
|
||||
|
||||
setselected_class_titre(newSelectionModel.row.titre);
|
||||
|
||||
setselected_class_external_code(newSelectionModel.row.external_code);
|
||||
setselected_code_session(newSelectionModel.row.session_code_session);
|
||||
|
||||
setselected_session_date_debut(newSelectionModel.row.session_date_debut);
|
||||
setselected_session_date_fin(newSelectionModel.row.session_date_fin);
|
||||
|
||||
|
||||
|
||||
submenu_detail();
|
||||
|
||||
|
|
@ -2072,15 +2096,25 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
<div className="block_display_flex_formation">
|
||||
|
||||
{New_Get_List_Ent_Formation_result && New_Get_List_Ent_Formation_result.map((formation) => (
|
||||
<div className="block_formation" >
|
||||
<div className={`block_formation ${formation.associated_session_id === selecte_session_id ? 'grid_selected' : ''}`} >
|
||||
<Ent_Student_Affichage_Ftion_Grid formation={(formation)} key={(formation).title}
|
||||
session_id={formation.associated_session_id}
|
||||
inscription_id={formation.associated_inscription_id}
|
||||
formation_id={formation._id}
|
||||
formationid={formation.id}
|
||||
formation_title={formation.title}
|
||||
class_id={formation.class_id}
|
||||
display_detail_from_grid={display_detail_from_grid}
|
||||
|
||||
session_code_session={formation.session_code_session}
|
||||
session_date_debut={formation.session_date_debut}
|
||||
session_date_fin={formation.session_date_fin}
|
||||
hilight_class={hilight_class}
|
||||
selected_sessionid={selected_sessionid}
|
||||
setselected_class_titre={setselected_class_titre}
|
||||
setselected_session_date_debut={setselected_session_date_debut}
|
||||
setselected_session_date_fin={setselected_session_date_fin}
|
||||
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
|
|
@ -2097,25 +2131,27 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
<Button variant="outlined" onClick={submenu_detail} className="detail_class_submenu" id='detail' name='detail'>Détail</Button>
|
||||
<Button variant="outlined" onClick={submenu_planning} className="detail_class_submenu" id='planning' name='planning'>Planning </Button>
|
||||
<Button variant="outlined" onClick={submenu_notes} className="detail_class_submenu" id='notes' name='notes'>Notes </Button>
|
||||
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='contrat'>Pièces Jointes </Button>
|
||||
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='contrat'>Documents </Button>
|
||||
</div>
|
||||
}
|
||||
{selected_id && String(selected_id).length > 0 && <div className="div_row">
|
||||
<nav style={{ textAlign: 'center', padding: '10px', fontFamily: 'DM Sans' }}> Formation : <b>{selected_class_external_code} - {selected_code_session} </b> </nav>
|
||||
<nav style={{ textAlign: 'center', padding: '10px', fontFamily: 'DM Sans', color: "#16274F" }}> <b>{selected_class_titre} <br />
|
||||
<font style={{ fontWeight: '500' }}>
|
||||
{selected_code_session} : {selected_session_date_debut} au {selected_session_date_fin} </font> </b> </nav>
|
||||
</div>}
|
||||
|
||||
|
||||
{
|
||||
String(submenu) === "detail" && Get_Given_Class_Data_result && Get_Given_Class_Data_result.length > 0 && <div className="div_row" >
|
||||
<div className="block_central" >
|
||||
<div className="block_central_gauche" style={{backgroundColor:'white', fontFamily:'DM Sans'}}>
|
||||
<div className="block_central_gauche" style={{ backgroundColor: 'white', fontFamily: 'DM Sans' }}>
|
||||
|
||||
<br />
|
||||
<div className="block_info_page_pave_title_desc" style={{backgroundColor:'#f2f3f3', fontFamily:'DM Sans'}}>
|
||||
<div className="block_info_page_pave_title_desc_title" style={{backgroundColor:'#f2f3f3', fontFamily:'DM Sans'}}> Description
|
||||
<div className="block_info_page_pave_title_desc" style={{ backgroundColor: '#f2f3f3', fontFamily: 'DM Sans' }}>
|
||||
<div className="block_info_page_pave_title_desc_title" style={{ backgroundColor: '#f2f3f3', fontFamily: 'DM Sans' }}> Description
|
||||
|
||||
</div>
|
||||
{JSON.parse(Get_Given_Class_Data_result).description && <div className="block_info_page_pave_title_desc description_block" style={{backgroundColor:'#f2f3f3', fontFamily:'DM Sans'}}>
|
||||
{JSON.parse(Get_Given_Class_Data_result).description && <div className="block_info_page_pave_title_desc description_block" style={{ backgroundColor: '#f2f3f3', fontFamily: 'DM Sans' }}>
|
||||
{parse(String(JSON.parse(Get_Given_Class_Data_result).description))}
|
||||
|
||||
</div>
|
||||
|
|
@ -2124,10 +2160,10 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
<br />
|
||||
|
||||
<br />
|
||||
<div className="block_info_page_pave_title_desc" style={{backgroundColor:'#f2f3f3', fontFamily:'DM Sans'}}>
|
||||
<div className="block_info_page_pave_title_desc_title" style={{backgroundColor:'#f2f3f3', fontFamily:'DM Sans'}}> Objectif
|
||||
<div className="block_info_page_pave_title_desc" style={{ backgroundColor: '#f2f3f3', fontFamily: 'DM Sans' }}>
|
||||
<div className="block_info_page_pave_title_desc_title" style={{ backgroundColor: '#f2f3f3', fontFamily: 'DM Sans' }}> Objectif
|
||||
</div>
|
||||
{JSON.parse(Get_Given_Class_Data_result).objectif && <div className="block_info_page_pave_title_desc description_block" style={{backgroundColor:'#f2f3f3', fontFamily:'DM Sans'}}>
|
||||
{JSON.parse(Get_Given_Class_Data_result).objectif && <div className="block_info_page_pave_title_desc description_block" style={{ backgroundColor: '#f2f3f3', fontFamily: 'DM Sans' }}>
|
||||
{parse(String(JSON.parse(Get_Given_Class_Data_result).objectif))}
|
||||
|
||||
</div>}
|
||||
|
|
@ -2135,10 +2171,10 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
</div>
|
||||
<br />
|
||||
|
||||
<div className="block_info_page_pave_title_desc" style={{backgroundColor:'#f2f3f3', fontFamily:'DM Sans'}}>
|
||||
<div className="block_info_page_pave_title_desc_title" style={{backgroundColor:'#f2f3f3', fontFamily:'DM Sans'}}> Programme
|
||||
<div className="block_info_page_pave_title_desc" style={{ backgroundColor: '#f2f3f3', fontFamily: 'DM Sans' }}>
|
||||
<div className="block_info_page_pave_title_desc_title" style={{ backgroundColor: '#f2f3f3', fontFamily: 'DM Sans' }}> Programme
|
||||
</div>
|
||||
{JSON.parse(Get_Given_Class_Data_result).objectif && <div className="block_info_page_pave_title_desc description_block" style={{backgroundColor:'#f2f3f3', fontFamily:'DM Sans'}}>
|
||||
{JSON.parse(Get_Given_Class_Data_result).objectif && <div className="block_info_page_pave_title_desc description_block" style={{ backgroundColor: '#f2f3f3', fontFamily: 'DM Sans' }}>
|
||||
{parse(String(JSON.parse(Get_Given_Class_Data_result).programme))}
|
||||
|
||||
</div>}
|
||||
|
|
@ -2225,10 +2261,10 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
|
||||
|
||||
"& .MuiDataGrid-columnHeaders": {
|
||||
backgroundColor: "#dfe8f2",
|
||||
color: "#0a2a4d",
|
||||
fontSize: '14px',
|
||||
fontFamily:'DM Sans',
|
||||
backgroundColor: "#dfe8f2",
|
||||
color: "#0a2a4d",
|
||||
fontSize: '14px',
|
||||
fontFamily: 'DM Sans',
|
||||
},
|
||||
|
||||
|
||||
|
|
@ -2354,42 +2390,127 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
</div>
|
||||
}
|
||||
|
||||
{String(submenu) === "piece_jointe" && Get_Given_Class_Data_result && Get_Given_Class_Data_result.length > 0 && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||
{String(submenu) === "piece_jointe" && Get_Given_Class_Data_result && Get_Given_Class_Data_result.length > 0 &&
|
||||
<div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||
|
||||
<div>
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
<hr className="hr_break" />
|
||||
</div>
|
||||
|
||||
<div className="div_row" style={{ "border": "None", "fontSize": "22px", "fontWeight": "600", "padding": "5px" }}>
|
||||
Pièces jointes
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{Get_List_Of_All_PJ_result && <div className="div_row" style={{ "padding": "5px" }}>
|
||||
<div className="div_row">
|
||||
Liste des pièces jointes <br />
|
||||
<div className="div_row">
|
||||
{Get_List_Of_All_PJ_result && Get_List_Of_All_PJ_result.map((val) => (
|
||||
<div className="div_row_list_pj" style={{ fontFamily: "DM Sans", fontSize: '14px' }}>
|
||||
<nav style={{ "color": "green", "cursor": "pointer" }} onClick={Download_one_attached_document} name={(JSON.parse(val).file_name)} id={(JSON.parse(val).file_name)}> Télécharger <i> {(JSON.parse(val).file_business_object)}</i> </nav> <br />
|
||||
|
||||
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
<Modules_ENT_Mes_Documents
|
||||
apprenant_id={props.apprenant_id}
|
||||
class_id={selected_id}
|
||||
/>
|
||||
|
||||
</div>}
|
||||
|
||||
<style>{local_css}</style>
|
||||
</div >
|
||||
);
|
||||
}
|
||||
|
||||
export default Module_Ent_Mes_Formations;
|
||||
export default Module_Ent_Mes_Formations;
|
||||
|
||||
const local_css = `
|
||||
:root {
|
||||
--bg: #f6f8fb;
|
||||
--card: #ffffff;
|
||||
--text: #0f172a;
|
||||
--muted: #64748b;
|
||||
--border: #e5e7eb;
|
||||
--shadow: 0 10px 25px rgba(2, 6, 23, .06);
|
||||
--green-700: #0f6b53;
|
||||
--green-600: #167a5e;
|
||||
--green-100: #e9f7f1;
|
||||
--blue-600: #2563eb;
|
||||
--radius: 14px;
|
||||
--radius-sm: 10px;
|
||||
}
|
||||
|
||||
.grid_selected{
|
||||
box-shadow: #9cf 0px 0px 0px 2px, rgba(6, 24, 44, 0.65) 0px 4px 6px -1px, #c14413 0px 1px 0px inset ! important;
|
||||
}
|
||||
|
||||
.block_info_page_pave_title_desc{
|
||||
color: #16274F ! important
|
||||
}
|
||||
|
||||
.Grid_2_col{
|
||||
margin-top: 12px;
|
||||
display:grid;
|
||||
grid-template-columns: 1.2fr 1fr;
|
||||
gap: 14px;
|
||||
padding:5px;
|
||||
}
|
||||
|
||||
.Grid_1_col{
|
||||
margin-top: 12px;
|
||||
display:grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: 14px;
|
||||
padding:5px;
|
||||
}
|
||||
|
||||
.Grid_2_col_sub_colone {
|
||||
background: #fff;
|
||||
border: 1px solid #e5e7eb;
|
||||
border-radius: 14px;
|
||||
box-shadow: 0 6px 18px rgba(2,6,23,.04);
|
||||
padding: 0px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 14px;
|
||||
}
|
||||
|
||||
|
||||
.Grid_2_col_sub_colone_header {
|
||||
background: #dbeafe;
|
||||
border-top-right-radius: 10px;
|
||||
border-top-left-radius: 10px;
|
||||
text-align: center;
|
||||
font-family: DM Sans;
|
||||
font-weight: 700;
|
||||
height: 2rem;
|
||||
padding-top: 5px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.Grid_2_col_sub_colone_bottom_menu{
|
||||
|
||||
}
|
||||
|
||||
.card__header{
|
||||
background: #e2e8f0;
|
||||
font-size: small;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.card__title{
|
||||
display:flex;
|
||||
align-items:center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.card__icon{
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
display:grid;
|
||||
place-items:center;
|
||||
border-radius: 12px;
|
||||
background:#eff6ff;
|
||||
border:1px solid #dbeafe;
|
||||
}
|
||||
|
||||
.card__header h2{
|
||||
margin:0;
|
||||
font-size: 15px;
|
||||
letter-spacing: -0.01em;
|
||||
}
|
||||
|
||||
.card__actions{ display:flex; align-items:center; gap:8px; }
|
||||
|
||||
.block_detail_action{
|
||||
width: 100%;
|
||||
float: left;
|
||||
background: #fafafa;
|
||||
padding: 10px;
|
||||
border: unset;
|
||||
border-radius: 10px;
|
||||
}
|
||||
`;
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ const Module_Ent_Mes_Notes = (props) => {
|
|||
|
||||
return (
|
||||
<nav>
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop:'5px' }}>
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop: '5px' }}>
|
||||
|
||||
{expanded ? value : value.slice(0, 50)}
|
||||
{value.length > 50 && (
|
||||
|
|
@ -110,7 +110,7 @@ const Module_Ent_Mes_Notes = (props) => {
|
|||
)}
|
||||
</div>}
|
||||
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop:'5px' }}>
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop: '5px' }}>
|
||||
|
||||
</div>
|
||||
}
|
||||
|
|
@ -339,7 +339,7 @@ const Module_Ent_Mes_Notes = (props) => {
|
|||
{isLoading && <div className="loader-container">
|
||||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
{/*** Affichage des messages d'alerte*/}
|
||||
{display_alert_mysy && String(display_alert_mysy) === "1" &&
|
||||
|
|
@ -353,169 +353,9 @@ const Module_Ent_Mes_Notes = (props) => {
|
|||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Mes Notes </h3>
|
||||
{/*} <div>
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
<div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
name="filtre1"
|
||||
label="Choisir un champ"
|
||||
select
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_filtre1}
|
||||
onChange={(e) => {
|
||||
setp_filtre1(e.target.value)
|
||||
}}
|
||||
>
|
||||
|
||||
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Email </MenuItem>
|
||||
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom </MenuItem>
|
||||
<MenuItem value="prenom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Prénom </MenuItem>
|
||||
|
||||
</TextField>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="div_row_droite texte_area_filter_value" >
|
||||
{p_filtre1 &&
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
name="filtre1_value"
|
||||
id="filtre1_value"
|
||||
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style"
|
||||
value={p_filtre1_value}
|
||||
onChange={(e) => { setp_filtre1_value(e.target.value); }}
|
||||
InputProps={{
|
||||
endAdornment: (
|
||||
<InputAdornment position="end">
|
||||
<AiFillCloseCircle
|
||||
style={{ 'cursor': "pointer", "color": "orangered" }}
|
||||
onClick={(e) => {
|
||||
setp_filtre1_value("");
|
||||
}} />
|
||||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
|
||||
/>
|
||||
|
||||
}
|
||||
</div>
|
||||
{p_filtre1 && <div className='filter_bton_add'>
|
||||
<Tooltip className="tooltip_css" id="my-tooltip01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="my-tooltip01" data-tooltip-html="Ajouter une nouvelle ligne de filtre">
|
||||
<MdAddCircleOutline onClick={(e) => {
|
||||
setp_filtre2("1");
|
||||
}} />
|
||||
</a>
|
||||
</div>}
|
||||
{p_filtre1 && <div className='filter_bton_add'>
|
||||
<Tooltip className="tooltip_css" id="my-tooltip02" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="my-tooltip02" data-tooltip-html="Supprimer cette ligne de filtre">
|
||||
<MdRemoveCircleOutline onClick={(e) => {
|
||||
setp_filtre1();
|
||||
setp_filtre1_value();
|
||||
}}
|
||||
/>
|
||||
</a>
|
||||
</div>}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
{p_filtre2 &&
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
<div className="div_row_gauche texte_area_filter">
|
||||
<TextField
|
||||
name="filtre2"
|
||||
label="Choisir un champ"
|
||||
select
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
options={filters}
|
||||
value={p_filtre2}
|
||||
onChange={(e) => {
|
||||
setp_filtre2(e.target.value)
|
||||
}}
|
||||
>
|
||||
|
||||
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Email </MenuItem>
|
||||
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom </MenuItem>
|
||||
<MenuItem value="prenom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Prénom </MenuItem>
|
||||
|
||||
</TextField>
|
||||
</div>
|
||||
<div className="div_row_droite texte_area_filter" >
|
||||
{String(p_filtre2).length > 3 &&
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
name="filtre2_value"
|
||||
id="filtre2_value"
|
||||
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style"
|
||||
value={p_filtre2_value}
|
||||
onChange={(e) => setp_filtre2_value(e.target.value)}
|
||||
InputProps={{
|
||||
endAdornment: (
|
||||
<InputAdornment position="end">
|
||||
<AiFillCloseCircle
|
||||
style={{ 'cursor': "pointer", "color": "orangered" }}
|
||||
onClick={(e) => {
|
||||
setp_filtre2_value("");
|
||||
}} />
|
||||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
|
||||
/>}
|
||||
</div>
|
||||
|
||||
|
||||
{String(p_filtre2).length > 3 && <div className='filter_bton_add'>
|
||||
<Tooltip className="tooltip_css" id="my-tooltip04" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="my-tooltip04" data-tooltip-html="Supprimer cette ligne de filtre">
|
||||
<MdRemoveCircleOutline
|
||||
onClick={(e) => {
|
||||
setp_filtre2();
|
||||
setp_filtre2_value();
|
||||
}}
|
||||
/>
|
||||
</a>
|
||||
</div>}
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
{<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
<Button variant="contained" className="bton_enreg" onClick={"Get_All_Apprenant"}>Rechercher
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
<Button variant="contained" className="bton_annule" onClick={"clean_all_filters"}>Annuler
|
||||
</Button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
|
||||
</div>
|
||||
<br />*/}
|
||||
<div className="session_caract_Dialog"> <b> Choisir une Session ou une Promotion </b><br />
|
||||
<h3 style={{ fontFamily: 'DM Sans', fontSize: '20px', color: "#16274F", textAlign: 'center' }}> Mes Notes </h3>
|
||||
|
||||
<div className="session_caract_Dialog" style={{fontSize:'16px'}}> <b> Choisir une Promotion </b><br />
|
||||
{New_Get_List_Ent_Session_Promotion_result && New_Get_List_Ent_Session_Promotion_result.length > 0 &&
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
|
@ -551,156 +391,166 @@ const Module_Ent_Mes_Notes = (props) => {
|
|||
</div>
|
||||
<br />
|
||||
|
||||
{<div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||
{selected_session_id && selected_session_id.length > 5 &&
|
||||
Get_All_Notes_Of_Evaluations_result && Get_All_Notes_Of_Evaluations_result.length > 0 &&
|
||||
<div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||
|
||||
|
||||
<nav style={{ "border": "None", "fontSize": "20px", "paddingTop": "5px", "paddingLeft": "5px", fontFamily: 'DM Sans' }}> Les notes </nav>
|
||||
{/*<div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
|
||||
<Button className="bton_emarge" onClick={(event) => {
|
||||
// Export_Inscrit_Notes();
|
||||
}}>Export excel</Button>
|
||||
</div>*/}
|
||||
|
||||
<div className="div_row">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
|
||||
<Button className="bton_emarge" onClick={(event) => {
|
||||
// Export_Inscrit_Notes();
|
||||
}}>Export excel</Button>
|
||||
</div>
|
||||
<div className="session_data">
|
||||
<div style={{ "border": "None", paddingRight: '10px' }}>
|
||||
|
||||
<div className="session_data">
|
||||
<div style={{ "border": "None", paddingRight: '10px' }}>
|
||||
|
||||
{Get_All_Notes_Of_Evaluations_result && Get_All_Notes_Of_Evaluations_result.length > 0 && <div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
|
||||
|
||||
<Box
|
||||
sx={{
|
||||
height: 500,
|
||||
width: '100%',
|
||||
paddingRight: '1px',
|
||||
{Get_All_Notes_Of_Evaluations_result && Get_All_Notes_Of_Evaluations_result.length > 0 && <div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
|
||||
|
||||
<Box
|
||||
sx={{
|
||||
height: 500,
|
||||
width: '100%',
|
||||
paddingRight: '1px',
|
||||
|
||||
|
||||
|
||||
"& .MuiDataGrid-columnHeaders": {
|
||||
backgroundColor: "#dfe8f2",
|
||||
color: "#0a2a4d",
|
||||
fontSize: '14px',
|
||||
fontFamily:'DM Sans',
|
||||
},
|
||||
"& .MuiDataGrid-columnHeaders": {
|
||||
backgroundColor: "#dfe8f2",
|
||||
color: "#0a2a4d",
|
||||
fontSize: '14px',
|
||||
fontFamily: 'DM Sans',
|
||||
},
|
||||
|
||||
|
||||
'& .line--statut--pair': {
|
||||
backgroundColor: 'rgba(235, 235, 235, .7)',
|
||||
color: '#0a2a4d',
|
||||
},
|
||||
'& .line--statut--impair': {
|
||||
backgroundColor: '#FFFFFF',
|
||||
color: '#0a2a4d',
|
||||
},
|
||||
'& .line--statut--selected': {
|
||||
backgroundColor: '#e9f7f1',
|
||||
color: '#0a2a4d',
|
||||
},
|
||||
|
||||
}}
|
||||
>
|
||||
<DataGrid
|
||||
checkboxSelection
|
||||
|
||||
onSelectionModelChange={(newSelectionModel) => {
|
||||
setselectionModel_notes(newSelectionModel);
|
||||
/*if (newSelectionModel.length === 1)
|
||||
handleClick_edit_session_From_Line(newSelectionModel);*/
|
||||
if (newSelectionModel.length !== 1) {
|
||||
|
||||
}
|
||||
}}
|
||||
selectionModel={selectionModel_notes}
|
||||
|
||||
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
|
||||
rows={Get_All_Notes_Of_Evaluations_result.map((item, index) => (
|
||||
{
|
||||
id: index,
|
||||
_id: JSON.parse(item)._id,
|
||||
evaluation_id: JSON.parse(item).evaluation_id,
|
||||
inscription_id: JSON.parse(item).inscription_id,
|
||||
note_evaluation_id: JSON.parse(item).note_evaluation_id,
|
||||
class_eu_id: JSON.parse(item).class_eu_id,
|
||||
type_eval_id: JSON.parse(item).type_eval_id,
|
||||
class_ue_code: JSON.parse(item).class_ue_code,
|
||||
class_ue_titre: JSON.parse(item).class_ue_titre,
|
||||
note_evaluation_code: JSON.parse(item).note_evaluation_code,
|
||||
eval_date_heure_debut: JSON.parse(item).eval_date_heure_debut,
|
||||
eval_date_heure_fin: JSON.parse(item).eval_date_heure_fin,
|
||||
note: JSON.parse(item).note,
|
||||
|
||||
}
|
||||
))}
|
||||
|
||||
columns={columns_notes}
|
||||
pageSize={10}
|
||||
className="datagridclass"
|
||||
|
||||
onRowDoubleClick={(newSelectionModel) => {
|
||||
'& .line--statut--pair': {
|
||||
backgroundColor: 'rgba(235, 235, 235, .7)',
|
||||
color: '#0a2a4d',
|
||||
},
|
||||
'& .line--statut--impair': {
|
||||
backgroundColor: '#FFFFFF',
|
||||
color: '#0a2a4d',
|
||||
},
|
||||
'& .line--statut--selected': {
|
||||
backgroundColor: '#e9f7f1',
|
||||
color: '#0a2a4d',
|
||||
},
|
||||
|
||||
}}
|
||||
>
|
||||
<DataGrid
|
||||
checkboxSelection
|
||||
|
||||
rowsPerPageOptions={[10]}
|
||||
disableSelectionOnClick
|
||||
components={{
|
||||
Toolbar: GridToolbar,
|
||||
}}
|
||||
//sx={datagridSx}
|
||||
getCellClassName={(params) => {
|
||||
//field === 'distantiel'
|
||||
if (params.field === 'distantiel' && String(params.value) === "1") {
|
||||
return 'cell--distantiel';
|
||||
}
|
||||
if (params.field === "presentiel" && String(params.value) == "1") {
|
||||
return 'cell--presentiel';
|
||||
}
|
||||
onSelectionModelChange={(newSelectionModel) => {
|
||||
setselectionModel_notes(newSelectionModel);
|
||||
/*if (newSelectionModel.length === 1)
|
||||
handleClick_edit_session_From_Line(newSelectionModel);*/
|
||||
if (newSelectionModel.length !== 1) {
|
||||
|
||||
}
|
||||
}}
|
||||
selectionModel={selectionModel_notes}
|
||||
|
||||
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
|
||||
rows={Get_All_Notes_Of_Evaluations_result.map((item, index) => (
|
||||
{
|
||||
id: index,
|
||||
_id: JSON.parse(item)._id,
|
||||
evaluation_id: JSON.parse(item).evaluation_id,
|
||||
inscription_id: JSON.parse(item).inscription_id,
|
||||
note_evaluation_id: JSON.parse(item).note_evaluation_id,
|
||||
class_eu_id: JSON.parse(item).class_eu_id,
|
||||
type_eval_id: JSON.parse(item).type_eval_id,
|
||||
class_ue_code: JSON.parse(item).class_ue_code,
|
||||
class_ue_titre: JSON.parse(item).class_ue_titre,
|
||||
note_evaluation_code: JSON.parse(item).note_evaluation_code,
|
||||
eval_date_heure_debut: JSON.parse(item).eval_date_heure_debut,
|
||||
eval_date_heure_fin: JSON.parse(item).eval_date_heure_fin,
|
||||
note: JSON.parse(item).note,
|
||||
|
||||
}
|
||||
))}
|
||||
|
||||
columns={columns_notes}
|
||||
pageSize={10}
|
||||
className="datagridclass"
|
||||
|
||||
onRowDoubleClick={(newSelectionModel) => {
|
||||
|
||||
}}
|
||||
|
||||
rowsPerPageOptions={[10]}
|
||||
disableSelectionOnClick
|
||||
components={{
|
||||
Toolbar: GridToolbar,
|
||||
}}
|
||||
//sx={datagridSx}
|
||||
getCellClassName={(params) => {
|
||||
//field === 'distantiel'
|
||||
if (params.field === 'distantiel' && String(params.value) === "1") {
|
||||
return 'cell--distantiel';
|
||||
}
|
||||
if (params.field === "presentiel" && String(params.value) == "1") {
|
||||
return 'cell--presentiel';
|
||||
}
|
||||
|
||||
|
||||
//field === "statut"
|
||||
if (params.field === "status" && String(params.value) == "0") {
|
||||
return 'cell--statut--preinscrit';
|
||||
}
|
||||
//field === "statut"
|
||||
if (params.field === "status" && String(params.value) == "0") {
|
||||
return 'cell--statut--preinscrit';
|
||||
}
|
||||
|
||||
if (params.field === "status" && String(params.value) == "1") {
|
||||
return 'cell--statut--inscrit';
|
||||
}
|
||||
if (params.field === "status" && String(params.value) == "1") {
|
||||
return 'cell--statut--inscrit';
|
||||
}
|
||||
|
||||
if (params.field === "status" && String(params.value) == "-1") {
|
||||
return 'cell--statut--annule';
|
||||
}
|
||||
if (params.field === "status" && String(params.value) == "-1") {
|
||||
return 'cell--statut--annule';
|
||||
}
|
||||
|
||||
}}
|
||||
getRowClassName={(params) => {
|
||||
// Pour la gestion de la couleur de zone double cliquée
|
||||
if (String(params.row.id) === String(gridline_id)) {
|
||||
}}
|
||||
getRowClassName={(params) => {
|
||||
// Pour la gestion de la couleur de zone double cliquée
|
||||
if (String(params.row.id) === String(gridline_id)) {
|
||||
|
||||
return 'line--statut--selected';
|
||||
}
|
||||
return 'line--statut--selected';
|
||||
}
|
||||
|
||||
else if (parseInt(String(params.row.id)) % 2 === 0) {
|
||||
return 'line--statut--pair';
|
||||
}
|
||||
else if (parseInt(String(params.row.id)) % 2 !== 0) {
|
||||
return 'line--statut--impair';
|
||||
}
|
||||
else if (parseInt(String(params.row.id)) % 2 === 0) {
|
||||
return 'line--statut--pair';
|
||||
}
|
||||
else if (parseInt(String(params.row.id)) % 2 !== 0) {
|
||||
return 'line--statut--impair';
|
||||
}
|
||||
|
||||
}}
|
||||
getEstimatedRowHeight={() => 200}
|
||||
getRowHeight={() => "auto"}
|
||||
}}
|
||||
getEstimatedRowHeight={() => 200}
|
||||
getRowHeight={() => "auto"}
|
||||
|
||||
/>
|
||||
</Box>
|
||||
<br />
|
||||
/>
|
||||
</Box>
|
||||
<br />
|
||||
|
||||
</div>}
|
||||
</div>}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
|
||||
</div>}
|
||||
{selected_session_id && selected_session_id.length > 5 &&
|
||||
Get_All_Notes_Of_Evaluations_result && Get_All_Notes_Of_Evaluations_result.length <= 0 &&
|
||||
<div style={{color:'darkorange', marginTop:'5rem', fontFamily:'DM Sans', fontSize:'20px'}}>
|
||||
Aucune note n'a été publiée pour le moment.
|
||||
</div>}
|
||||
|
||||
</div >
|
||||
);
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ const useStyles = makeStyles((theme) => ({
|
|||
color: 'gray',
|
||||
},
|
||||
}));
|
||||
|
||||
|
||||
const Module_Ent_Mon_Planning = (props) => {
|
||||
registerLocale('fr', fr);
|
||||
const classes = useStyles();
|
||||
|
|
@ -227,7 +227,7 @@ const Module_Ent_Mon_Planning = (props) => {
|
|||
|
||||
return (
|
||||
<nav>
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop:'5px' }}>
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop: '5px' }}>
|
||||
|
||||
{expanded ? value : value.slice(0, 50)}
|
||||
{value.length > 50 && (
|
||||
|
|
@ -243,7 +243,7 @@ const Module_Ent_Mon_Planning = (props) => {
|
|||
)}
|
||||
</div>}
|
||||
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop:'5px' }}>
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop: '5px' }}>
|
||||
|
||||
</div>
|
||||
}
|
||||
|
|
@ -918,173 +918,14 @@ const Module_Ent_Mon_Planning = (props) => {
|
|||
|
||||
{/*** fin dialogue pr agenda */}
|
||||
|
||||
|
||||
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Mes Plannings </h3>
|
||||
{/*<div>
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
<div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
name="filtre1"
|
||||
label="Choisir un champ"
|
||||
select
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_filtre1}
|
||||
onChange={(e) => {
|
||||
setp_filtre1(e.target.value)
|
||||
}}
|
||||
>
|
||||
|
||||
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Email </MenuItem>
|
||||
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom </MenuItem>
|
||||
<MenuItem value="prenom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Prénom </MenuItem>
|
||||
|
||||
</TextField>
|
||||
</div>
|
||||
|
||||
|
||||
<h3 style={{ fontFamily: 'DM Sans', fontSize: '20px', color: "#16274F", textAlign: 'center' }}> Mes Plannings </h3>
|
||||
|
||||
<div className="div_row_droite texte_area_filter_value" >
|
||||
{p_filtre1 &&
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
name="filtre1_value"
|
||||
id="filtre1_value"
|
||||
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style"
|
||||
value={p_filtre1_value}
|
||||
onChange={(e) => { setp_filtre1_value(e.target.value); }}
|
||||
InputProps={{
|
||||
endAdornment: (
|
||||
<InputAdornment position="end">
|
||||
<AiFillCloseCircle
|
||||
style={{ 'cursor': "pointer", "color": "orangered" }}
|
||||
onClick={(e) => {
|
||||
setp_filtre1_value("");
|
||||
}} />
|
||||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
|
||||
/>
|
||||
|
||||
}
|
||||
</div>
|
||||
{p_filtre1 && <div className='filter_bton_add'>
|
||||
<Tooltip className="tooltip_css" id="my-tooltip01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="my-tooltip01" data-tooltip-html="Ajouter une nouvelle ligne de filtre">
|
||||
<MdAddCircleOutline onClick={(e) => {
|
||||
setp_filtre2("1");
|
||||
}} />
|
||||
</a>
|
||||
</div>}
|
||||
{p_filtre1 && <div className='filter_bton_add'>
|
||||
<Tooltip className="tooltip_css" id="my-tooltip02" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="my-tooltip02" data-tooltip-html="Supprimer cette ligne de filtre">
|
||||
<MdRemoveCircleOutline onClick={(e) => {
|
||||
setp_filtre1();
|
||||
setp_filtre1_value();
|
||||
}}
|
||||
/>
|
||||
</a>
|
||||
</div>}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
{p_filtre2 &&
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
<div className="div_row_gauche texte_area_filter">
|
||||
<TextField
|
||||
name="filtre2"
|
||||
label="Choisir un champ"
|
||||
select
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
options={filters}
|
||||
value={p_filtre2}
|
||||
onChange={(e) => {
|
||||
setp_filtre2(e.target.value)
|
||||
}}
|
||||
>
|
||||
|
||||
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Email </MenuItem>
|
||||
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom </MenuItem>
|
||||
<MenuItem value="prenom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Prénom </MenuItem>
|
||||
|
||||
</TextField>
|
||||
</div>
|
||||
<div className="div_row_droite texte_area_filter" >
|
||||
{String(p_filtre2).length > 3 &&
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
name="filtre2_value"
|
||||
id="filtre2_value"
|
||||
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style"
|
||||
value={p_filtre2_value}
|
||||
onChange={(e) => setp_filtre2_value(e.target.value)}
|
||||
InputProps={{
|
||||
endAdornment: (
|
||||
<InputAdornment position="end">
|
||||
<AiFillCloseCircle
|
||||
style={{ 'cursor': "pointer", "color": "orangered" }}
|
||||
onClick={(e) => {
|
||||
setp_filtre2_value("");
|
||||
}} />
|
||||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
|
||||
/>}
|
||||
</div>
|
||||
|
||||
|
||||
{String(p_filtre2).length > 3 && <div className='filter_bton_add'>
|
||||
<Tooltip className="tooltip_css" id="my-tooltip04" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="my-tooltip04" data-tooltip-html="Supprimer cette ligne de filtre">
|
||||
<MdRemoveCircleOutline
|
||||
onClick={(e) => {
|
||||
setp_filtre2();
|
||||
setp_filtre2_value();
|
||||
}}
|
||||
/>
|
||||
</a>
|
||||
</div>}
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
{<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
<Button variant="contained" className="bton_enreg" onClick={"Get_All_Apprenant"}>Rechercher
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
<Button variant="contained" className="bton_annule" onClick={"clean_all_filters"}>Annuler
|
||||
</Button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
|
||||
</div>*/}
|
||||
<br />
|
||||
|
||||
|
||||
<div className="session_caract_Dialog"> <b> Choisir une Session ou une Promotion </b><br />
|
||||
<div className="session_caract_Dialog" style={{ fontSize: '16px' }}> <b> Choisir une Promotion </b><br />
|
||||
{New_Get_List_Ent_Session_Promotion_result && New_Get_List_Ent_Session_Promotion_result.length > 0 &&
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
|
@ -1097,10 +938,10 @@ const Module_Ent_Mon_Planning = (props) => {
|
|||
onChange={(event, value) => {
|
||||
if (value && value.session_id) {
|
||||
setselected_session_id(value.session_id);
|
||||
Getall_Sequence_Of_Session(value.session_id);
|
||||
Getall_Sequence_Of_Session(value.session_id);
|
||||
} else {
|
||||
setselected_session_id("");
|
||||
Getall_Sequence_Of_Session("");
|
||||
Getall_Sequence_Of_Session("");
|
||||
}
|
||||
|
||||
}}
|
||||
|
|
@ -1115,46 +956,52 @@ const Module_Ent_Mon_Planning = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
{Getall_Sequence_Of_Session_result_planning_view && Getall_Sequence_Of_Session_result_planning_view.length > 0 && <div className="div_row">
|
||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Planning </nav>
|
||||
<div className="div_row" style={{ "border": "None" }}></div>
|
||||
|
||||
{selected_session_id && selected_session_id.length > 5 &&
|
||||
Getall_Sequence_Of_Session_result_planning_view && Getall_Sequence_Of_Session_result_planning_view.length > 0 && <div className="div_row">
|
||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Planning </nav>
|
||||
<div className="div_row" style={{ "border": "None" }}></div>
|
||||
|
||||
|
||||
<div style={{ "width": "98%", "marginLeft": "5px", }}>
|
||||
<FullCalendar
|
||||
height={550}
|
||||
locales={allLocales}
|
||||
locale={'fr'}
|
||||
editable
|
||||
selectable
|
||||
//events={events}
|
||||
events={Getall_Sequence_Of_Session_result_planning_view}
|
||||
<div style={{ "width": "98%", "marginLeft": "5px", fontSize:'16px', fontFamily:'DM Sans', color: "#16274F" }}>
|
||||
<FullCalendar
|
||||
height={550}
|
||||
locales={allLocales}
|
||||
locale={'fr'}
|
||||
editable
|
||||
selectable
|
||||
//events={events}
|
||||
events={Getall_Sequence_Of_Session_result_planning_view}
|
||||
|
||||
select={handleSelect}
|
||||
headerToolbar={{
|
||||
start: "today prev next",
|
||||
center: "title",
|
||||
end: "dayGridMonth,timeGridWeek,timeGridDay",
|
||||
}}
|
||||
//eventContent={(info) => <EventItem info={info} />}
|
||||
//plugins={[timeGridPlugin]}
|
||||
plugins={[timeGridPlugin, daygridPlugin, interactionPlugin]}
|
||||
views={["dayGridMonth", "dayGridWeek", "dayGridDay"]}
|
||||
slotMinTime={Partner_Debut_Journee}
|
||||
slotMaxTime={Partner_Fin_Journee}
|
||||
scrollTime='08:00'
|
||||
displayEventEnd={true}
|
||||
eventContent={renderEventContent}
|
||||
eventClick={handleEventClick}
|
||||
select={handleSelect}
|
||||
headerToolbar={{
|
||||
start: "today prev next",
|
||||
center: "title",
|
||||
end: "dayGridMonth,timeGridWeek,timeGridDay",
|
||||
}}
|
||||
//eventContent={(info) => <EventItem info={info} />}
|
||||
//plugins={[timeGridPlugin]}
|
||||
plugins={[timeGridPlugin, daygridPlugin, interactionPlugin]}
|
||||
views={["dayGridMonth", "dayGridWeek", "dayGridDay"]}
|
||||
slotMinTime={Partner_Debut_Journee}
|
||||
slotMaxTime={Partner_Fin_Journee}
|
||||
scrollTime='08:00'
|
||||
displayEventEnd={true}
|
||||
eventContent={renderEventContent}
|
||||
eventClick={handleEventClick}
|
||||
|
||||
|
||||
/>
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
{selected_session_id && selected_session_id.length > 5 &&
|
||||
Getall_Sequence_Of_Session_result_planning_view && Getall_Sequence_Of_Session_result_planning_view.length <= 0 &&
|
||||
<div style={{color:'darkorange', marginTop:'5rem', fontFamily:'DM Sans', fontSize:'20px'}}>
|
||||
Aucun planning n'est disponible pour le moment.
|
||||
</div>}
|
||||
|
||||
</div >
|
||||
);
|
||||
|
|
|
|||
|
|
@ -2231,11 +2231,10 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
|
||||
var tab_eu_ids = [];
|
||||
for (var i = 0; i < tab_selected_list_ue.length; i++) {
|
||||
|
||||
var local_eu_id = tab_selected_list_ue[i]._id;
|
||||
tab_eu_ids.push(local_eu_id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
var liste_apprenant = GetSelectedRowsSession();
|
||||
var form = new FormData();
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -23,7 +23,7 @@ import { useLocation } from "react-router-dom";
|
|||
import { FaHandPointRight } from "react-icons/fa";
|
||||
import Intranet_Factures_Client from "./Intranet_Factures_Client";
|
||||
import Intranet_Tous_Documents from "./Intranet_Tous_Documents";
|
||||
import Modules_Mes_Documents from "./Modules_Mes_Documents";
|
||||
import Modules_ENT_Mes_Documents from "./Modules_ENT_Mes_Documents";
|
||||
import Intranet_Mes_Stagiaires from "./Intranet_Mes_Stagiaires";
|
||||
import Module_Ent_Mes_Documents from "./Module_Ent_Mes_Documents";
|
||||
import Module_Ent_Mon_Planning from "./Module_Ent_Mon_Planning";
|
||||
|
|
@ -78,6 +78,7 @@ function Student_Account_Ent() {
|
|||
history.push("/ent_student");
|
||||
}
|
||||
|
||||
Get_Ent_Message_Alert();
|
||||
|
||||
async function fetchData() {
|
||||
const result = await axios('https://geolocation-db.com/json/',);
|
||||
|
|
@ -106,9 +107,7 @@ function Student_Account_Ent() {
|
|||
setfirstConnexion(location.state.firstconnexion);
|
||||
}
|
||||
|
||||
Get_Ent_Message_Alert();
|
||||
|
||||
console.log(" ## setconnected_user_data = ", connected_user_data)
|
||||
|
||||
|
||||
}, []);
|
||||
|
|
@ -511,129 +510,139 @@ function Student_Account_Ent() {
|
|||
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
|
||||
{connected_user_data && connected_user_data.type &&
|
||||
<h3 style={{ fontFamily: 'DM Sans', textAlign: 'left', paddingLeft:'15px' }}> Espace numérique de travail
|
||||
</h3>}
|
||||
<div style={{ width: '100%', maxWidth: '1600px', margin: 'auto', marginTop: '3rem' }}>
|
||||
<h3 style={{ fontFamily: 'DM Sans', textAlign: 'center', paddingLeft: '15px' }}> Espace numérique de travail {connected_user_data.prenom && connected_user_data.nom && <font> {connected_user_data.prenom.charAt(0).toUpperCase() + connected_user_data.prenom.slice(1).toLocaleLowerCase()} {connected_user_data.nom.toUpperCase()} </font>}
|
||||
</h3>
|
||||
</div>}
|
||||
|
||||
{/*** Si on A DES MESSAGES d'ALERTE, alors, alors on AFFICHE la zonne */}
|
||||
{connected_user_data && connected_user_data._id && New_Get_Ent_Message_Alert_result && New_Get_Ent_Message_Alert_result.length > 0 && <div style={{ width: "100%", float: 'left' }}>
|
||||
<div style={{ width: '30%', float: 'left', padding: '20px' }}>
|
||||
{New_Get_Ent_Message_Alert_result && New_Get_Ent_Message_Alert_result.length > 0 &&
|
||||
New_Get_Ent_Message_Alert_result.map((message) => (
|
||||
<Stack sx={{ width: '100%', }} spacing={2}>
|
||||
{message.priorite === "1" &&
|
||||
<Alert variant="outlined" sx={{ border: 0, marginBottom: '20px' }} severity="warning">
|
||||
<AlertTitle sx={{ fontFamily: 'DM Sans', fontSize: '20px', textAlign: 'left', float: 'left' }}>Important </AlertTitle>
|
||||
<font style={{ fontFamily: 'DM Sans', fontSize: '16px', textAlign: 'left', float: 'left' }}> {message.message} </font>
|
||||
</Alert>}
|
||||
<div style={{ width: '100%', maxWidth: '1600px', margin: 'auto' }}>
|
||||
{/*** Si on A DES MESSAGES d'ALERTE, alors, alors on AFFICHE la zonne */}
|
||||
{connected_user_data && connected_user_data._id && New_Get_Ent_Message_Alert_result && New_Get_Ent_Message_Alert_result.length > 0 && <div style={{ width: "100%", float: 'left' }}>
|
||||
<div style={{ width: '100%', float: 'left', padding: '20px' }}>
|
||||
{New_Get_Ent_Message_Alert_result && New_Get_Ent_Message_Alert_result.length > 0 &&
|
||||
New_Get_Ent_Message_Alert_result.map((message) => (
|
||||
<Stack sx={{ width: '100%', }} spacing={2}>
|
||||
{message.priorite === "1" &&
|
||||
<Alert variant="outlined" sx={{ border: 0, marginBottom: '20px' }} severity="warning">
|
||||
<AlertTitle sx={{ fontFamily: 'DM Sans', fontSize: '20px', textAlign: 'left', float: 'left' }}>Important </AlertTitle>
|
||||
<font style={{ fontFamily: 'DM Sans', fontSize: '16px', textAlign: 'left', float: 'left' }}> {message.message} </font>
|
||||
</Alert>}
|
||||
|
||||
{message.priorite === "2" &&
|
||||
<Alert variant="outlined" sx={{ border: 0, marginBottom: '20px' }} severity="info">
|
||||
<AlertTitle sx={{ fontFamily: 'DM Sans', fontSize: '20px', textAlign: 'left', float: 'left' }}>Information</AlertTitle>
|
||||
<font style={{ fontFamily: 'DM Sans', fontSize: '16px', textAlign: 'left', float: 'left' }}> {message.message} </font>
|
||||
</Alert>}
|
||||
{message.priorite === "2" &&
|
||||
<Alert variant="outlined" sx={{ border: 0, marginBottom: '20px' }} severity="info">
|
||||
<AlertTitle sx={{ fontFamily: 'DM Sans', fontSize: '20px', textAlign: 'left', float: 'left' }}>Information</AlertTitle>
|
||||
<font style={{ fontFamily: 'DM Sans', fontSize: '16px', textAlign: 'left', float: 'left' }}> {message.message} </font>
|
||||
</Alert>}
|
||||
|
||||
{message.priorite === "0" &&
|
||||
<Alert variant="outlined" sx={{ border: 0, marginBottom: '20px', }} severity="error">
|
||||
<AlertTitle sx={{ fontFamily: 'DM Sans', fontSize: '20px', textAlign: 'left', float: 'left' }}>Urgent </AlertTitle>
|
||||
<font style={{ fontFamily: 'DM Sans', fontSize: '16px', textAlign: 'left', float: 'left' }}> {message.message} </font>
|
||||
</Alert>}
|
||||
</Stack>
|
||||
))}
|
||||
{message.priorite === "0" &&
|
||||
<Alert variant="outlined" sx={{ border: 0, marginBottom: '20px', }} severity="error">
|
||||
<AlertTitle sx={{ fontFamily: 'DM Sans', fontSize: '20px', textAlign: 'left', float: 'left' }}>Urgent </AlertTitle>
|
||||
<font style={{ fontFamily: 'DM Sans', fontSize: '16px', textAlign: 'left', float: 'left' }}> {message.message} </font>
|
||||
</Alert>}
|
||||
</Stack>
|
||||
))}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style={{ width: '69%', float: 'right' }}>
|
||||
<div style={{ width: '100%', float: 'left' }}>
|
||||
|
||||
{String(menu) === String("apprenant_account_data") && <UpdateUserInfo apprenant_id={apprenant_id} />}
|
||||
{String(menu) === String("apprenant_account_data") &&
|
||||
<UpdateUserInfo apprenant_id={apprenant_id} />}
|
||||
|
||||
{String(menu) === String("recherche") && <UserHistoryRecherche />}
|
||||
{String(menu) === String("recherche") &&
|
||||
<UserHistoryRecherche />}
|
||||
|
||||
{String(menu) === String("upgradecompte") && <UpgradeToPro />}
|
||||
{String(menu) === String("upgradecompte") &&
|
||||
<UpgradeToPro />}
|
||||
|
||||
{String(menu) === String("profil_objectif") && <Profil_Objectif />}
|
||||
{String(menu) === String("profil_objectif") &&
|
||||
<Profil_Objectif />}
|
||||
|
||||
{String(menu) === String("mes_formations") &&
|
||||
<Module_Ent_Mes_Formations apprenant_id={apprenant_id}
|
||||
/>}
|
||||
{String(menu) === String("mes_formations") &&
|
||||
<Module_Ent_Mes_Formations apprenant_id={apprenant_id}
|
||||
/>}
|
||||
|
||||
{String(menu) === String("mon_planning") &&
|
||||
<Module_Ent_Mon_Planning apprenant_id={apprenant_id}
|
||||
/>}
|
||||
{String(menu) === String("mon_planning") &&
|
||||
<Module_Ent_Mon_Planning apprenant_id={apprenant_id}
|
||||
/>}
|
||||
|
||||
{String(menu) === String("mes_notes") &&
|
||||
<Module_Ent_Mes_Notes apprenant_id={apprenant_id}
|
||||
/>}
|
||||
{String(menu) === String("mes_notes") &&
|
||||
<Module_Ent_Mes_Notes apprenant_id={apprenant_id}
|
||||
/>}
|
||||
|
||||
{String(menu) === String("mes_documents") &&
|
||||
<Modules_Mes_Documents apprenant_id={apprenant_id}
|
||||
/>}
|
||||
{String(menu) === String("mes_documents") &&
|
||||
<Modules_ENT_Mes_Documents apprenant_id={apprenant_id}
|
||||
/>}
|
||||
|
||||
|
||||
{String(menu) === String("mes_emails") &&
|
||||
<Module_Ent_Internal_Email_Management
|
||||
{String(menu) === String("mes_emails") &&
|
||||
<Module_Ent_Internal_Email_Management
|
||||
|
||||
formation_initiale={"1"}
|
||||
apprenant_id={apprenant_id}
|
||||
conntected_account_id={connected_user_data._id}
|
||||
/>
|
||||
}
|
||||
formation_initiale={"1"}
|
||||
apprenant_id={apprenant_id}
|
||||
conntected_account_id={connected_user_data._id}
|
||||
/>
|
||||
}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
</div>}
|
||||
|
||||
|
||||
{/*** Si on A DES PASSSSS MESSAGES d'ALERTE, alors, alors on NNNNN'AFFICHE PASSSSSSSSSSSSla zonne */}
|
||||
{connected_user_data && connected_user_data._id && New_Get_Ent_Message_Alert_result.length <= 0 && <div style={{ width: "100%", float: 'left' }}>
|
||||
{/*** Si on A DES PASSSSS MESSAGES d'ALERTE, alors, alors on NNNNN'AFFICHE PASSSSSSSSSSSSla zonne */}
|
||||
{connected_user_data && connected_user_data._id && New_Get_Ent_Message_Alert_result.length <= 0 && <div style={{ width: "100%", float: 'left' }}>
|
||||
|
||||
|
||||
<div style={{ width: '100%', maxWidth: '1600px', margin: 'auto' }}>
|
||||
<div style={{ width: '100%', maxWidth: '1600px', margin: 'auto' }}>
|
||||
|
||||
{String(menu) === String("apprenant_account_data") && <UpdateUserInfo apprenant_id={apprenant_id} />}
|
||||
{String(menu) === String("apprenant_account_data") && <UpdateUserInfo apprenant_id={apprenant_id} />}
|
||||
|
||||
{String(menu) === String("recherche") && <UserHistoryRecherche />}
|
||||
{String(menu) === String("recherche") && <UserHistoryRecherche />}
|
||||
|
||||
{String(menu) === String("upgradecompte") && <UpgradeToPro />}
|
||||
{String(menu) === String("upgradecompte") && <UpgradeToPro />}
|
||||
|
||||
{String(menu) === String("profil_objectif") && <Profil_Objectif />}
|
||||
{String(menu) === String("profil_objectif") && <Profil_Objectif />}
|
||||
|
||||
{String(menu) === String("mes_formations") &&
|
||||
<Module_Ent_Mes_Formations apprenant_id={apprenant_id}
|
||||
/>}
|
||||
{String(menu) === String("mes_formations") &&
|
||||
<Module_Ent_Mes_Formations apprenant_id={apprenant_id}
|
||||
/>}
|
||||
|
||||
{String(menu) === String("mon_planning") &&
|
||||
<Module_Ent_Mon_Planning apprenant_id={apprenant_id}
|
||||
/>}
|
||||
{String(menu) === String("mon_planning") &&
|
||||
<Module_Ent_Mon_Planning apprenant_id={apprenant_id}
|
||||
/>}
|
||||
|
||||
{String(menu) === String("mes_notes") &&
|
||||
<Module_Ent_Mes_Notes apprenant_id={apprenant_id}
|
||||
/>}
|
||||
{String(menu) === String("mes_notes") &&
|
||||
<Module_Ent_Mes_Notes apprenant_id={apprenant_id}
|
||||
/>}
|
||||
|
||||
{String(menu) === String("mes_documents") &&
|
||||
<Modules_Mes_Documents apprenant_id={apprenant_id}
|
||||
/>}
|
||||
{String(menu) === String("mes_documents") &&
|
||||
<Modules_ENT_Mes_Documents apprenant_id={apprenant_id}
|
||||
type_user_connected={"user_account"}
|
||||
/>}
|
||||
|
||||
{String(menu) === String("mes_emails") &&
|
||||
{String(menu) === String("mes_emails") &&
|
||||
|
||||
|
||||
<Module_Ent_Internal_Email_Management
|
||||
<Module_Ent_Internal_Email_Management
|
||||
|
||||
formation_initiale={"1"}
|
||||
apprenant_id={apprenant_id}
|
||||
conntected_account_id={connected_user_data._id}
|
||||
/>
|
||||
formation_initiale={"1"}
|
||||
apprenant_id={apprenant_id}
|
||||
conntected_account_id={connected_user_data._id}
|
||||
/>
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
</div>}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue