08/06/2025 - 16h30
parent
42e262b1c6
commit
a1d3dc2508
|
@ -145,8 +145,6 @@ function App() {
|
|||
<scrollToTop />
|
||||
<Switch>
|
||||
|
||||
|
||||
|
||||
<Route path="/v3" exact component={Recherche_new_v3} />
|
||||
<Route path="/v4" exact component={Recherche_new_v4} />
|
||||
|
||||
|
|
|
@ -285,7 +285,7 @@ const Apprenant = (props) => {
|
|||
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
||||
const columns_apprenant_inscriptions = [
|
||||
{ field: 'id', headerName: 'id', hide: true },
|
||||
|
@ -351,7 +351,7 @@ const Apprenant = (props) => {
|
|||
}
|
||||
},
|
||||
|
||||
{
|
||||
{/*
|
||||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
@ -407,7 +407,7 @@ const Apprenant = (props) => {
|
|||
|
||||
);
|
||||
}
|
||||
},
|
||||
*/},
|
||||
|
||||
|
||||
]
|
||||
|
@ -2429,6 +2429,18 @@ const Apprenant = (props) => {
|
|||
setDialog_add_inscription_open(true);
|
||||
}
|
||||
|
||||
if (String(actionmass_ftion_val) === String("create_ent")) {
|
||||
Create_ENT_Account_Apprenant(liste_apprenant);
|
||||
}
|
||||
|
||||
if (String(actionmass_ftion_val) === String("disable_ent")) {
|
||||
Disable_ENT_Account_Apprenant(liste_apprenant);
|
||||
}
|
||||
|
||||
if (String(actionmass_ftion_val) === String("enable_ent")) {
|
||||
Enable_ENT_Account_Apprenant(liste_apprenant);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -4445,6 +4457,192 @@ const Apprenant = (props) => {
|
|||
}
|
||||
|
||||
|
||||
|
||||
const [Disable_ENT_Account_Apprenant_api, setDisable_ENT_Account_Apprenant_api] = useState();
|
||||
const [Disable_ENT_Account_Apprenant_message, setDisable_ENT_Account_Apprenant_message] = useState();
|
||||
const [Disable_ENT_Account_Apprenant_result, setDisable_ENT_Account_Apprenant_result] = useState();
|
||||
function Disable_ENT_Account_Apprenant(local_liste_apprenant) {
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("tab_apprenant_ids", local_liste_apprenant);
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/ENT_Disable_Apprenant_Account/";
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Disable_ENT_Account_Apprenant res.data.status = " + res.data.status);
|
||||
//console.log(" In Disable_ENT_Account_Apprenant res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setDisable_ENT_Account_Apprenant_api("true");
|
||||
setDisable_ENT_Account_Apprenant_result(res.data.message);
|
||||
|
||||
setSelectionModel([]);
|
||||
|
||||
setadd_One_Apprenant('');
|
||||
setdisplay_detail_apprenant('');
|
||||
Clear_Detail_Apprenant_Fields();
|
||||
setselected_apprenant_id('');
|
||||
setgridline_id('');
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
|
||||
Get_All_Apprenant();
|
||||
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
}
|
||||
else {
|
||||
setDisable_ENT_Account_Apprenant_api("false");
|
||||
setDisable_ENT_Account_Apprenant_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.warn('Disable_ENT_Account_Apprenant : Not good man :( mysearchtext = ' + error);
|
||||
setDisable_ENT_Account_Apprenant_api("false");
|
||||
alert(" Impossible de supprimer la liste des apprenants");
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const [Enable_ENT_Account_Apprenant_api, setEnable_ENT_Account_Apprenant_api] = useState();
|
||||
const [Enable_ENT_Account_Apprenant_message, setEnable_ENT_Account_Apprenant_message] = useState();
|
||||
const [Enable_ENT_Account_Apprenant_result, setEnable_ENT_Account_Apprenant_result] = useState();
|
||||
function Enable_ENT_Account_Apprenant(local_liste_apprenant) {
|
||||
|
||||
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("tab_apprenant_ids", local_liste_apprenant);
|
||||
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/ENT_Enable_Apprenant_Account/";
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Enable_ENT_Account_Apprenant res.data.status = " + res.data.status);
|
||||
//console.log(" In Enable_ENT_Account_Apprenant res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setEnable_ENT_Account_Apprenant_api("true");
|
||||
setEnable_ENT_Account_Apprenant_result(res.data.message);
|
||||
|
||||
setSelectionModel([]);
|
||||
|
||||
setadd_One_Apprenant('');
|
||||
setdisplay_detail_apprenant('');
|
||||
Clear_Detail_Apprenant_Fields();
|
||||
setselected_apprenant_id('');
|
||||
setgridline_id('');
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
|
||||
Get_All_Apprenant();
|
||||
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
}
|
||||
else {
|
||||
setEnable_ENT_Account_Apprenant_api("false");
|
||||
setEnable_ENT_Account_Apprenant_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.warn('Enable_ENT_Account_Apprenant : Not good man :( mysearchtext = ' + error);
|
||||
setEnable_ENT_Account_Apprenant_api("false");
|
||||
alert(" Impossible de supprimer la liste des apprenants");
|
||||
})
|
||||
}
|
||||
|
||||
const [Create_ENT_Account_Apprenant_api, setCreate_ENT_Account_Apprenant_api] = useState();
|
||||
const [Create_ENT_Account_Apprenant_message, setCreate_ENT_Account_Apprenant_message] = useState();
|
||||
const [Create_ENT_Account_Apprenant_result, setCreate_ENT_Account_Apprenant_result] = useState();
|
||||
function Create_ENT_Account_Apprenant(local_liste_apprenant) {
|
||||
|
||||
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("tab_apprenant_ids", local_liste_apprenant);
|
||||
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/ENT_Create_Apprenant_Account/";
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Create_ENT_Account_Apprenant res.data.status = " + res.data.status);
|
||||
//console.log(" In Create_ENT_Account_Apprenant res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setCreate_ENT_Account_Apprenant_api("true");
|
||||
setCreate_ENT_Account_Apprenant_result(res.data.message);
|
||||
|
||||
setSelectionModel([]);
|
||||
|
||||
setadd_One_Apprenant('');
|
||||
setdisplay_detail_apprenant('');
|
||||
Clear_Detail_Apprenant_Fields();
|
||||
setselected_apprenant_id('');
|
||||
setgridline_id('');
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
|
||||
Get_All_Apprenant();
|
||||
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
}
|
||||
else {
|
||||
setCreate_ENT_Account_Apprenant_api("false");
|
||||
setCreate_ENT_Account_Apprenant_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.warn('Create_ENT_Account_Apprenant : Not good man :( mysearchtext = ' + error);
|
||||
setCreate_ENT_Account_Apprenant_api("false");
|
||||
alert(" Impossible de supprimer la liste des apprenants");
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
const [Delete_LIST_Apprenant_api, setDelete_LIST_Apprenant_api] = useState();
|
||||
const [Delete_LIST_Apprenant_message, setDelete_LIST_Apprenant_message] = useState();
|
||||
const [Delete_LIST_Apprenant_result, setDelete_LIST_Apprenant_result] = useState();
|
||||
|
@ -5122,17 +5320,16 @@ const Apprenant = (props) => {
|
|||
|
||||
|
||||
const New_Option = [
|
||||
|
||||
{ "id": "0", "label": "Dupliquer", "value": "dupliquer" },
|
||||
{ "id": "1", "label": "Exporter", "value": "exporter" },
|
||||
{ "id": "3", "label": "(R)Inscrire", "value": "inscrire" },
|
||||
{ "id": "4", "label": "ENT Créer acceès", "value": "create_ent" },
|
||||
{ "id": "5", "label": "ENT Désactiver", "value": "disable_ent" },
|
||||
{ "id": "2", "label": "Supprimer", "value": "supprimer" },
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const [Dialog_Suivi_Pedago_message, setDialog_Suivi_Pedago_message] = React.useState(false);
|
||||
const [Dialog_Suivi_Pedago_open, setDialog_Suivi_Pedago_open] = React.useState(false);
|
||||
function Dialog_Suivi_Pedago_handle_change_participant_session(message) {
|
||||
|
@ -5783,6 +5980,16 @@ const Apprenant = (props) => {
|
|||
}
|
||||
// -- end champs specifiques
|
||||
|
||||
|
||||
const New_Option_Filter = [
|
||||
{ "id": "email", "label": "Email ", "value": "email" },
|
||||
{ "id": "nom", "label": "Nom ", "value": "nom" },
|
||||
{ "id": "prenom", "label": "Prénom ", "value": "prenom" },
|
||||
{ "id": "", "label": "", "value": "" },
|
||||
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
|
||||
]
|
||||
|
||||
|
||||
return (
|
||||
<div className="apprenant">
|
||||
|
||||
|
@ -6546,7 +6753,7 @@ const Apprenant = (props) => {
|
|||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title" > Inscrire </DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
{New_Getall_TrainingSession_result && <div className="session_caract_Dialog"> <b> Session</b>
|
||||
{New_Getall_TrainingSession_result && <div className="session_caract_Dialog"> <b> Promotion</b>
|
||||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
@ -7119,7 +7326,10 @@ const Apprenant = (props) => {
|
|||
if (value && value.value) {
|
||||
if (String(value.value) === "supprimer"
|
||||
|| String(value.value) === "dupliquer" || String(value.value) === "exporter"
|
||||
|| String(value.value) === "inscrire") {
|
||||
|| String(value.value) === "inscrire"
|
||||
|| String(value.value) === "create_ent"
|
||||
|| String(value.value) === "disable_ent"
|
||||
) {
|
||||
setactionmass_ftion_val(value.value);
|
||||
}
|
||||
else {
|
||||
|
@ -7175,6 +7385,14 @@ const Apprenant = (props) => {
|
|||
{String(actionmass_ftion_val) === "inscrire" &&
|
||||
<font> Confirmer l'inscription en masse de {selectionModel.length} apprenant(s).
|
||||
</font>}
|
||||
|
||||
{String(actionmass_ftion_val) === "create_ent" &&
|
||||
<font> Confirmer la création des comptes ENT en masse de {selectionModel.length} apprenant(s).
|
||||
</font>}
|
||||
|
||||
{String(actionmass_ftion_val) === "disable_ent" &&
|
||||
<font> Confirmer la désactivation des comptes ENT en masse de {selectionModel.length} apprenant(s).
|
||||
</font>}
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
|
@ -9169,84 +9387,7 @@ const Apprenant = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
{/*<div className="div_row">
|
||||
|
||||
{selectionModel && selectionModel.length >= 1 && <div className="block_en_mass">
|
||||
<nav >Traitement en masse </nav>
|
||||
|
||||
|
||||
<TextField
|
||||
|
||||
select
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
inputProps={{ min: "0", max: "1", step: "1" }}
|
||||
disabled={false}
|
||||
className="block_en_mass_select"
|
||||
|
||||
value={actionmass_ftion_val}
|
||||
onChange={actionmass_ftion}
|
||||
>
|
||||
<MenuItem value="n/a" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Action </MenuItem>
|
||||
<MenuItem value="supprimer" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Supprimer </MenuItem>
|
||||
<MenuItem value="dupliquer" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Dupliquer </MenuItem>
|
||||
</TextField>
|
||||
|
||||
|
||||
{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 </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
<font color="red"> Confirmer l'action <b> {actionmass_ftion_val} </b> en masse pour {selectionModel.length} lignes.
|
||||
</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>
|
||||
|
||||
|
|
|
@ -4102,6 +4102,11 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
var local_event_type = JSON.parse(x).event_type;
|
||||
|
||||
if (JSON.parse(x).mode_animation)
|
||||
var local_mode_animation = JSON.parse(x).mode_animation;
|
||||
else
|
||||
var local_mode_animation = ""
|
||||
|
||||
|
||||
//---
|
||||
var node = {
|
||||
|
@ -4114,6 +4119,7 @@ const DisplayPartnerSession = (props) => {
|
|||
"local_objectif": local_objectif,
|
||||
"local_comment": local_session_comment,
|
||||
"local_event_type": local_event_type,
|
||||
"local_mode_animation": local_mode_animation,
|
||||
};
|
||||
new_data2.push(node);
|
||||
});
|
||||
|
@ -6391,6 +6397,18 @@ const DisplayPartnerSession = (props) => {
|
|||
form.append("formateur_id", p_formateur_id);
|
||||
form.append("site_formation_id", p_session_site_formation_id);
|
||||
|
||||
if (ent_account_automatic) {
|
||||
form.append("ent_account_automatic", "1");
|
||||
} else {
|
||||
form.append("ent_account_automatic", "0");
|
||||
}
|
||||
|
||||
if (lms_account_automatic) {
|
||||
form.append("lms_account_automatic", "1");
|
||||
} else {
|
||||
form.append("lms_account_automatic", "0");
|
||||
}
|
||||
|
||||
|
||||
// Il s'agit d'une mise à jour de session
|
||||
if (String(p_class_is_published) === "1") {
|
||||
|
@ -10268,6 +10286,8 @@ const DisplayPartnerSession = (props) => {
|
|||
const [sequence_startDate, setsequence_startDate] = useState(new Date());
|
||||
const [sequence_endDate, setsequence_endDate] = useState(new Date());
|
||||
|
||||
const [p_detail_mode_animation, setp_detail_mode_animation] = useState("");
|
||||
|
||||
|
||||
const [selected_detail_sequence_title, setselected_detail_sequence_title] = useState();
|
||||
const [selected_detail_sequence_comment, setselected_detail_sequence_comment] = useState();
|
||||
|
@ -10306,6 +10326,8 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setsequence_startDate(new Date());
|
||||
setsequence_endDate(new Date());
|
||||
|
||||
|
@ -10316,6 +10338,7 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_detail_sequence_title("");
|
||||
|
||||
setp_detail_sequence_comment("");
|
||||
setp_detail_mode_animation("");
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
|
@ -10354,6 +10377,8 @@ const DisplayPartnerSession = (props) => {
|
|||
form.append("objectif", p_detail_sequence_objectif);
|
||||
form.append("commentaire", p_detail_sequence_comment);
|
||||
|
||||
form.append("mode_animation", p_detail_mode_animation);
|
||||
|
||||
|
||||
//console.log(" form == ", form);
|
||||
|
||||
|
@ -10374,6 +10399,8 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_detail_sequence_title("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
|
@ -10449,6 +10476,8 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_detail_sequence_title("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
|
@ -10529,6 +10558,8 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_detail_sequence_title("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
|
@ -10609,6 +10640,7 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
setp_detail_sequence_title("");
|
||||
setp_detail_sequence_comment("");
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
@ -10671,6 +10703,8 @@ const DisplayPartnerSession = (props) => {
|
|||
form.append("objectif", p_detail_sequence_objectif);
|
||||
form.append("commentaire", p_detail_sequence_comment);
|
||||
|
||||
form.append("mode_animation", p_detail_mode_animation);
|
||||
|
||||
form.append("_id", selected_sequence_id);
|
||||
|
||||
//console.log(" form == ", form);
|
||||
|
@ -10692,6 +10726,8 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_detail_sequence_title("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
|
@ -12857,6 +12893,8 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_detail_event_id("");
|
||||
setp_detail_sequence_objectif("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
setDialog_DIALOG_AGENDA_open(true);
|
||||
};
|
||||
|
||||
|
@ -12893,6 +12931,13 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_detail_event_type("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_mode_animation) {
|
||||
setp_detail_mode_animation(arg.event.extendedProps.local_mode_animation);
|
||||
}
|
||||
else
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_comment) {
|
||||
setp_detail_sequence_comment(arg.event.extendedProps.local_comment);
|
||||
}
|
||||
|
@ -14732,6 +14777,8 @@ const DisplayPartnerSession = (props) => {
|
|||
})
|
||||
}
|
||||
|
||||
const [ent_account_automatic, setent_account_automatic] = React.useState(false);
|
||||
const [lms_account_automatic, setlms_account_automatic] = React.useState(false);
|
||||
|
||||
return (
|
||||
<div className="displaypartnersession">
|
||||
|
@ -21374,7 +21421,7 @@ const DisplayPartnerSession = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
|
||||
<br />
|
||||
<div class="separator">
|
||||
<nav className="separator_label">
|
||||
Dates & Prix </nav>
|
||||
|
@ -21575,7 +21622,7 @@ const DisplayPartnerSession = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<br />
|
||||
<div class="separator">
|
||||
<nav className="separator_label">
|
||||
Divers </nav>
|
||||
|
@ -21698,9 +21745,6 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -21778,6 +21822,50 @@ const DisplayPartnerSession = (props) => {
|
|||
{/* -- end champs specifiques **/}
|
||||
</div>
|
||||
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
<br />
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="separator">
|
||||
<nav className="separator_label">
|
||||
Configuration</nav>
|
||||
</div>
|
||||
<div style={{ width: '100%', float: 'left' }}>
|
||||
<div style={{
|
||||
display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: '100%',
|
||||
paddingLeft: '10px', flexWrap: 'wrap'
|
||||
}}>
|
||||
<div className="session_caract"> Création automatique compte ENT <br />
|
||||
<Checkbox
|
||||
disabled={!edit_session_form}
|
||||
checked={ent_account_automatic}
|
||||
onChange={(event) => {
|
||||
setent_account_automatic(event.target.checked);
|
||||
}
|
||||
}
|
||||
inputProps={{ 'aria-label': 'controlled' }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="session_caract"> Création automatique compte LMS <br />
|
||||
<Checkbox
|
||||
disabled={!edit_session_form}
|
||||
checked={lms_account_automatic}
|
||||
onChange={(event) => {
|
||||
setlms_account_automatic(event.target.checked);
|
||||
}
|
||||
}
|
||||
inputProps={{ 'aria-label': 'controlled' }}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
|
@ -22595,6 +22683,7 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_detail_sequence_agenda(newSelectionModel.row.agenda);
|
||||
setp_detail_sequence_objectif(newSelectionModel.row.objectif);
|
||||
setp_detail_sequence_comment(newSelectionModel.row.commentaire);
|
||||
setp_detail_mode_animation(newSelectionModel.row.mode_animation);
|
||||
|
||||
|
||||
Getall_List_Sequence_Ressource(newSelectionModel.row._id);
|
||||
|
|
|
@ -47,7 +47,7 @@ import { FcEditImage } from "react-icons/fc";
|
|||
import { useHistory } from "react-router-dom";
|
||||
import Module_Historique_Action from "./Module_Historique_Action";
|
||||
import ToggleSwitch from "./ToggleSwitch";
|
||||
|
||||
import TextareaAutosize from '@mui/material/TextareaAutosize';
|
||||
import Autocomplete from '@mui/material/Autocomplete';
|
||||
import { FcSearch, FcViewDetails, FcOpenedFolder } from "react-icons/fc";
|
||||
import Link from '@mui/material/Link';
|
||||
|
@ -5570,6 +5570,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
// console.log(" #### selectedtraining_emails_liste = ", selectedtraining_emails_liste);
|
||||
settab_email_pieces_jointes_result([]);
|
||||
setDialog_PUSH_DOCUMENT_TO_ENT_open(true);
|
||||
setent_push_doc_message_notif("");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6921,6 +6922,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
const Dialog_PUSH_DOCUMENT_TO_ENT_handleClose = () => {
|
||||
setDialog_PUSH_DOCUMENT_TO_ENT_open(false);
|
||||
settab_email_pieces_jointes_result([]);
|
||||
setent_push_doc_message_notif("");
|
||||
}
|
||||
|
||||
const [tab_email_pieces_jointes_result, settab_email_pieces_jointes_result] = useState([]);
|
||||
|
@ -7052,6 +7054,12 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
form.append("token", stored_cookie);
|
||||
form.append("related_collection", "inscription");
|
||||
form.append("list_email_dest", selectedtraining_emails_liste);
|
||||
form.append("session_id", selected_session_id);
|
||||
|
||||
if (ent_push_doc_message_notif)
|
||||
form.append("ent_push_doc_message_notif", ent_push_doc_message_notif);
|
||||
else
|
||||
form.append("ent_push_doc_message_notif", "");
|
||||
|
||||
// pièce jointe
|
||||
|
||||
|
@ -7107,6 +7115,9 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
})
|
||||
}
|
||||
|
||||
|
||||
const [ent_push_doc_message_notif, setent_push_doc_message_notif] = useState(false);
|
||||
|
||||
return (
|
||||
<div className="displaypartnerstagiaire">
|
||||
{isLoading && <div className="loader-container">
|
||||
|
@ -7153,12 +7164,34 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
PaperComponent={PaperComponent}
|
||||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> </DialogTitle>
|
||||
<DialogContent >
|
||||
<DialogContentText>
|
||||
<DialogContent className="DialogContent_width_session" style={{ background: '#fff', border: '1px solid #eaecee' }}>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
<font> Ajouter un message à l'email de notification</font>
|
||||
|
||||
<br /> Message de notification : <br />
|
||||
<TextareaAutosize
|
||||
name="detail_soutenance_observation"
|
||||
id="detail_soutenance_observation"
|
||||
aria-label="minimum height"
|
||||
minRows={3}
|
||||
maxRows={5}
|
||||
//placeholder="Minimum 3 rows"
|
||||
style={{
|
||||
border: "1px solid gainsboro", width: '100%', padding: '2px',
|
||||
maxHeight: '5rem', height: '5rem', minHeight: '5rem', marginBottom: '3rem'
|
||||
}}
|
||||
value={ent_push_doc_message_notif}
|
||||
onChange={(e) => {
|
||||
setent_push_doc_message_notif(e.target.value);
|
||||
|
||||
}}
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
</DialogContentText>
|
||||
|
||||
|
||||
<div>
|
||||
|
@ -11979,9 +12012,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="div_row">
|
||||
Afficher ici les notes finales par UE xxx <br />
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>}
|
||||
|
|
|
@ -0,0 +1,428 @@
|
|||
.ent_student_header_automatic_files {
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
|
||||
position: fixed;
|
||||
/* margin-top: 22px;*/
|
||||
width: 100%;
|
||||
opacity: 1;
|
||||
background: #FFF;
|
||||
|
||||
.header_new_2025 {
|
||||
border-bottom: 1px solid #dcdcdc;
|
||||
width: 100%;
|
||||
padding-left: 50px;
|
||||
padding-top: 15px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.header-content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.logo-menu {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 40px;
|
||||
margin-left: 2rem;
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 96px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.menu-list {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.menu-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.cta-login {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.cta-buttons {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.hide_on_mobile {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 10px 15px;
|
||||
border-radius: 200px;
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
line-height: 126%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: #3e6ee3;
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background-color: transparent;
|
||||
color: #4b5162;
|
||||
border: 1px solid #c7c9ce;
|
||||
}
|
||||
|
||||
.separator {
|
||||
width: 1px;
|
||||
height: 12px;
|
||||
background-color: rgba(23, 23, 23, 0.1);
|
||||
border-radius: 30px;
|
||||
}
|
||||
|
||||
.login-link {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.user-icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.login-link span {
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #171717;
|
||||
line-height: 122%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 601px) and (max-width: 991px) {
|
||||
.header_new_2025 {
|
||||
border-bottom: 1px solid #dcdcdc;
|
||||
padding: 14px 48px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header-content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.logo-menu {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
max-width: 60%;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 96px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.menu-list {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 14px;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.menu-link {
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #4b5162;
|
||||
text-decoration: none;
|
||||
line-height: 122%;
|
||||
}
|
||||
|
||||
.cta-login {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
}
|
||||
|
||||
.cta-buttons {
|
||||
display: flex;
|
||||
gap: 1px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 5px 8px;
|
||||
border-radius: 200px;
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
line-height: 126%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: #3e6ee3;
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background-color: transparent;
|
||||
color: #4b5162;
|
||||
border: 1px solid #c7c9ce;
|
||||
}
|
||||
|
||||
.separator {
|
||||
width: 1px;
|
||||
height: 12px;
|
||||
background-color: rgba(23, 23, 23, 0.1);
|
||||
border-radius: 30px;
|
||||
}
|
||||
|
||||
.login-link {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.user-icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.login-link span {
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #171717;
|
||||
line-height: 122%;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 992px) and (max-width: 1199px) {
|
||||
.header_new_2025 {
|
||||
border-bottom: 1px solid #dcdcdc;
|
||||
padding: 14px 48px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header-content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.logo-menu {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
width: 70%;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 96px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.menu-list {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 14px;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.menu-link {
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #4b5162;
|
||||
text-decoration: none;
|
||||
line-height: 122%;
|
||||
}
|
||||
|
||||
.cta-login {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
.cta-buttons {
|
||||
display: flex;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 3px 10px;
|
||||
border-radius: 200px;
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
line-height: 126%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: #3e6ee3;
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background-color: transparent;
|
||||
color: #4b5162;
|
||||
border: 1px solid #c7c9ce;
|
||||
}
|
||||
|
||||
.separator {
|
||||
width: 1px;
|
||||
height: 5px;
|
||||
background-color: rgba(23, 23, 23, 0.1);
|
||||
border-radius: 30px;
|
||||
}
|
||||
|
||||
.login-link {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.user-icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.login-link span {
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #171717;
|
||||
line-height: 122%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (min-width: 1200px) {
|
||||
.header_new_2025 {
|
||||
border-bottom: 1px solid #dcdcdc;
|
||||
padding: 14px 48px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header-content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.logo-menu {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 40px;
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 96px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.menu-list {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 24px;
|
||||
}
|
||||
|
||||
.menu-link {
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #4b5162;
|
||||
text-decoration: none;
|
||||
line-height: 122%;
|
||||
}
|
||||
|
||||
.cta-login {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.cta-buttons {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 12px 24px;
|
||||
border-radius: 200px;
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
line-height: 126%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: #3e6ee3;
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background-color: transparent;
|
||||
color: #4b5162;
|
||||
border: 1px solid #c7c9ce;
|
||||
}
|
||||
|
||||
.separator {
|
||||
width: 1px;
|
||||
height: 12px;
|
||||
background-color: rgba(23, 23, 23, 0.1);
|
||||
border-radius: 30px;
|
||||
}
|
||||
|
||||
.login-link {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.user-icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.login-link span {
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #171717;
|
||||
line-height: 122%;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,322 @@
|
|||
import React, { useState, useEffect } from 'react';
|
||||
import './ENT_Student_Header.css';
|
||||
import moment from "moment";
|
||||
import { getCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
import Header_MySy_Logo from '../../img_new_design_2025/header_mysy_logo.png';
|
||||
import Header_User from '../../img_new_design_2025/header_user.png';
|
||||
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 { useCookies } from "react-cookie";
|
||||
|
||||
|
||||
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';
|
||||
|
||||
|
||||
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 ENT_Student_Header = () => {
|
||||
const history = useHistory();
|
||||
const classes = useStyles();
|
||||
const [userconnected, setuserconnected] = useState("0");
|
||||
const [someoneconnected, setsomeoneconnected] = useState("0");
|
||||
const [partnerconnected, setpartnerconnected] = useState("0");
|
||||
const stored_user = getCookie('tokenmysych');
|
||||
const stored_part = getCookie('tokenmysypart');
|
||||
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych'], { path: '/' });
|
||||
const [partcookie, setpartCookie, removepartCookie] = useCookies(['tokenmysypart'], { path: '/' });
|
||||
const [PartnerMenu, setPartnerMenu] = React.useState(null);
|
||||
const [AccountMenu, setAccountMenu] = React.useState(null);
|
||||
const [ProduitMenu, setproduitMenu] = React.useState(null);
|
||||
|
||||
useEffect(() => {
|
||||
var local_user_connect = 0;
|
||||
var local_part_connect = 0;
|
||||
|
||||
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
|
||||
setuserconnected("0");
|
||||
local_user_connect = 0;
|
||||
} else {
|
||||
setuserconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_user_connect = 1;
|
||||
//alert(" user connected OK");
|
||||
}
|
||||
|
||||
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
|
||||
setpartnerconnected("0");
|
||||
local_part_connect = 0;
|
||||
} else {
|
||||
setpartnerconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_part_connect = 1;
|
||||
//alert(" partner connected OK");
|
||||
}
|
||||
|
||||
}, []);
|
||||
|
||||
const handleAccountCreation = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/signup/")
|
||||
};
|
||||
|
||||
|
||||
const handleMyAccount = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/mysy-user-account")
|
||||
};
|
||||
|
||||
const handleAccountConnexion = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/signin/")
|
||||
};
|
||||
|
||||
|
||||
const handleMyPartnerAccount = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/Partner")
|
||||
};
|
||||
|
||||
|
||||
function handleAccountConnexion_v2() {
|
||||
|
||||
if (String(userconnected) === String("1")) {
|
||||
handleMyAccount();
|
||||
}
|
||||
else if (String(partnerconnected) === String("1")) {
|
||||
handleMyPartnerAccount();
|
||||
}
|
||||
}
|
||||
|
||||
const [Dialog_1_open, setDialog_1_open] = React.useState(false);
|
||||
const Dialog_1_handleClose = () => {
|
||||
};
|
||||
|
||||
const Dialog_1_handleClose_buton = () => {
|
||||
setDialog_1_open(false);
|
||||
};
|
||||
|
||||
function part_logout_confirmation() {
|
||||
/* si c'est une connexion partner qui est active */
|
||||
|
||||
if (typeof (stored_part) != "undefined") {
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
var acces_right_token_name = stored_cookie + "_uar";
|
||||
|
||||
setpartCookie("tokenmysypart", "", { path: '/' });
|
||||
setpartCookie(acces_right_token_name, "", { path: '/' });
|
||||
removeCookie(acces_right_token_name, { path: '/' });
|
||||
|
||||
|
||||
setpartCookie("mysy_session_display_view", "", { path: '/' });
|
||||
setpartCookie("mysy_menu_gauche_reduit", "", { path: '/' });
|
||||
setpartCookie("mysy_catalog_data_row_grouped_by", "", { path: '/' });
|
||||
|
||||
removeCookie("tokenmysypart", { path: '/' });
|
||||
removeCookie("mysy_session_display_view", { path: '/' });
|
||||
removeCookie("mysy_menu_gauche_reduit", { path: '/' });
|
||||
removeCookie("mysy_catalog_data_row_grouped_by", { path: '/' });
|
||||
|
||||
|
||||
}
|
||||
setsomeoneconnected("0");
|
||||
setDialog_1_open(false);
|
||||
history.push("/recherche-formation");
|
||||
}
|
||||
|
||||
function user_logout_confirmation() {
|
||||
/* si c'est une connexion partner qui est active */
|
||||
if (typeof (stored_user) != "undefined") {
|
||||
const stored_cookie = getCookie('tokenmysych');
|
||||
var acces_right_token_name = stored_cookie + "_uar";
|
||||
|
||||
setpartCookie("tokenmysych", "", { path: '/' });
|
||||
setpartCookie(acces_right_token_name, "", { path: '/' });
|
||||
removeCookie(acces_right_token_name, { path: '/' });
|
||||
|
||||
removeCookie("tokenmysych", { path: '/' });
|
||||
|
||||
|
||||
}
|
||||
history.push("/ent_student");
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='ent_student_header_automatic_files'>
|
||||
|
||||
{/*** GESTION Deconnexion */}
|
||||
<Dialog
|
||||
open={Dialog_1_open}
|
||||
// onClose={Dialog_1_handleClose}
|
||||
className="displaypartnersession"
|
||||
static
|
||||
onClose={() => null}
|
||||
|
||||
PaperProps={{
|
||||
|
||||
|
||||
className: classes.paper, // Apply the paper style
|
||||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
top: '20rem',
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
hideBackdrop={true}
|
||||
disableScrollLock
|
||||
classes={{
|
||||
paper: classes.dialog
|
||||
}}
|
||||
|
||||
PaperComponent={PaperComponent}
|
||||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
Confirmez la deconnexion de l'ENT <br />
|
||||
|
||||
|
||||
</DialogContentText>
|
||||
|
||||
</DialogContent>
|
||||
|
||||
<DialogActions>
|
||||
|
||||
<IconButton
|
||||
//autoFocus
|
||||
onClick={Dialog_1_handleClose_buton}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button
|
||||
|
||||
onClick={(e) => {
|
||||
if (partnerconnected && String(partnerconnected) === '1')
|
||||
part_logout_confirmation();
|
||||
|
||||
if (userconnected && String(userconnected) === '1')
|
||||
user_logout_confirmation();
|
||||
|
||||
}}
|
||||
|
||||
className="bton_enreg_dialog">Deconnexion</Button>
|
||||
</div>
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
<Button onClick={Dialog_1_handleClose_buton} className="bton_annule_dialog" >Annuler</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
|
||||
{/*** Fin GESTION Deconnexion */}
|
||||
|
||||
<header className="header_new_2025">
|
||||
<div className="header-content">
|
||||
<div className="logo-menu">
|
||||
<img src={Header_MySy_Logo} alt="Logo MySy" className="logo" style={{ cursor: 'pointer' }} onClick={(e) => {
|
||||
// e.preventDefault();
|
||||
history.push("/");
|
||||
}} />
|
||||
|
||||
<nav className="menu-list">
|
||||
<a href="/apropos" className="menu-link">À propos</a>
|
||||
<a href="/fonctionnalites" className="menu-link">Fonctionnalités</a>
|
||||
<a href="#" className="menu-link">
|
||||
<nav onClick={(e) => {
|
||||
history.push("/tarif/#debut");
|
||||
// window.open("/tarif/#debut", "_self");
|
||||
}}>Tarifs </nav>
|
||||
</a>
|
||||
<a href="/Recherche-Article-formation" className="menu-link">Blog</a>
|
||||
<div className="separator"></div>
|
||||
<a href="/marketplace" className="menu-link">Marketplace</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div className="cta-login">
|
||||
<div className="cta-buttons">
|
||||
<button className="btn btn-primary" onClick={(e) => {
|
||||
e.preventDefault();
|
||||
var date2 = new Date();
|
||||
const format2 = "YYYY-MM";
|
||||
var dateTime2 = moment(date2).format(format2);
|
||||
window.open(
|
||||
"https://calendly.com/mysytraining/demo-mysy-training-solution?month=" + String(dateTime2),
|
||||
'_blank'
|
||||
);
|
||||
}}>Réserver une démo</button>
|
||||
|
||||
</div>
|
||||
<div className="cta-buttons hide_on_mobile">
|
||||
{String(someoneconnected) !== String("1") && <button className="btn btn-secondary" onClick={handleAccountCreation}>Créer un compte</button>}
|
||||
|
||||
{String(someoneconnected) === String("1") && <button className="btn btn-secondary" onClick={handleAccountConnexion_v2}>Mon compte</button>}
|
||||
|
||||
</div>
|
||||
<div className="separator hide_on_mobile"></div>
|
||||
{String(someoneconnected) !== String("1") && <div className="login-link hide_on_mobile" onClick={handleAccountConnexion}>
|
||||
<img src={Header_User} alt="User icon" className="user-icon hide_on_mobile" />
|
||||
<span className='hide_on_mobile'>Connexion</span>
|
||||
</div>}
|
||||
|
||||
{String(someoneconnected) === String("1") && <div className="login-link hide_on_mobile" onClick={(e) => setDialog_1_open(true)}>
|
||||
<img src={Header_User} alt="User icon" className="user-icon hide_on_mobile" />
|
||||
<span className='hide_on_mobile'>Deconnexion</span>
|
||||
</div>}
|
||||
|
||||
</div>
|
||||
</div >
|
||||
</header >
|
||||
</div >
|
||||
);
|
||||
};
|
||||
|
||||
export default ENT_Student_Header;
|
||||
|
|
@ -441,8 +441,8 @@ const Ent_Student_Affichage_Ftion_Grid = (props) => {
|
|||
<p style={{ width: '100%', float: 'left' }}>
|
||||
|
||||
<p className="formation_prix" style={{ width: '100%', float: 'left' }}>{props.formation.business_prices[0].discounted_price}€ HT
|
||||
<font className='training_price_barre' style={{ fontSize:'14px' }}> {props.formation.price} € HT </font>
|
||||
<font className='discount_block' style={{ fontSize:'14px' }}> ({props.formation.business_prices[0].discount} %) </font></p>
|
||||
<font className='training_price_barre' style={{ fontSize: '14px' }}> {props.formation.price} € HT </font>
|
||||
<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>
|
||||
|
@ -454,23 +454,14 @@ const Ent_Student_Affichage_Ftion_Grid = (props) => {
|
|||
<nav className="block_cats_bton_detail_text"
|
||||
onClick={(e) => {
|
||||
e.preventDefault();
|
||||
if (props.formation.url && props.formation.url.length > 5) {
|
||||
props.display_detail_from_grid(props.formationid, props.formation_id, props.session_id,
|
||||
props.inscription_id, props.class_id)
|
||||
|
||||
window.open(
|
||||
props.formation.url,
|
||||
'_blank'
|
||||
);
|
||||
} else {
|
||||
window.open(
|
||||
"/detaile-formation/" + props.formation.internal_url,
|
||||
'_blank'
|
||||
);
|
||||
}
|
||||
}}> Voir les détails </nav></button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
)
|
||||
|
|
|
@ -26,7 +26,7 @@ function Module_Connexion_Ent_Student() {
|
|||
const [initpasswd, setinitpasswd] = useState();
|
||||
const [result, setResult] = useState("");
|
||||
const [myApiResponse, setmyApiResponse] = useState("false");
|
||||
const url_login = process.env.REACT_APP_API_URL + "myclass/api/login/";
|
||||
const url_login = process.env.REACT_APP_API_URL + "myclass/api/Ent_Student_login/";
|
||||
|
||||
const random1 = Math.floor(Math.random() * 10);
|
||||
const random2 = Math.floor(Math.random() * 10);
|
||||
|
@ -84,7 +84,7 @@ function Module_Connexion_Ent_Student() {
|
|||
var partner_connexion = "";
|
||||
var url_login = "";
|
||||
|
||||
url_login = process.env.REACT_APP_API_URL + "myclass/api/login/";
|
||||
url_login = process.env.REACT_APP_API_URL + "myclass/api/Ent_Student_login/";
|
||||
setmenucompte("user");
|
||||
partner_connexion = "user";
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ import Visibility from '@mui/icons-material/Visibility';
|
|||
import VisibilityOff from '@mui/icons-material/VisibilityOff';
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
|
||||
import client_intranet from "../mysy_img/client_intranet.jpg";
|
||||
|
||||
function Module_Connexion_Intranet_Client() {
|
||||
const [isconnected, setisconnected] = useState("");
|
||||
|
@ -102,7 +102,7 @@ function Module_Connexion_Intranet_Client() {
|
|||
|
||||
formData.append("email", mymail);
|
||||
formData.append("pwd", mypwd);
|
||||
formData.append("type", "user");
|
||||
formData.append("type", "user");
|
||||
|
||||
var re = /\S+@\S+\.\S+/;
|
||||
if (re.test(mymail) === false) {
|
||||
|
@ -375,138 +375,154 @@ function Module_Connexion_Intranet_Client() {
|
|||
<div className="block_centrer">
|
||||
|
||||
<div className="display_screen_600_901">
|
||||
<div className="div_centre_master">
|
||||
<div className="div_centre_002">
|
||||
<Button variant="outlined" onClick={menu_user_account} className="signin_menu"
|
||||
id="user_account" name="user_account"
|
||||
style={{ "float": "left", "textAlign": "center", "height": "3rem" }}>Intranet Client</Button>
|
||||
|
||||
|
||||
<div style={{ width: '100%', }}>
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Bienvenue sur l'Intranet </h3>
|
||||
</div>
|
||||
<div style={{ width: '100%', }}>
|
||||
|
||||
<div style={{ width: '50%', float: 'left' }}>
|
||||
<img src={client_intranet} style={{ height: '100%', marginTop:'5rem' }} />
|
||||
</div>
|
||||
|
||||
<div className="div_centre">
|
||||
<div style={{ width: '50%', float: 'left', paddingTop: '2rem' }}>
|
||||
|
||||
<div className="div_row_bis" >
|
||||
|
||||
<FormGroup>
|
||||
<Label style={{ fontSize: "14px" }}>Votre adresse email</Label>
|
||||
<Input type="email" placeholder="Email" name="email" />
|
||||
</FormGroup>
|
||||
|
||||
<div style={{ height: '10px' }}> </div>
|
||||
<div className="div_centre_master">
|
||||
<div className="div_centre_002">
|
||||
<Button variant="outlined" onClick={menu_user_account} className="signin_menu"
|
||||
id="user_account" name="user_account"
|
||||
style={{ "float": "left", "textAlign": "center", "height": "3rem" }}>Intranet Client</Button>
|
||||
|
||||
|
||||
<FormGroup>
|
||||
<div className="label_pwd_div">
|
||||
<div className="label_div" >
|
||||
<Label style={{ fontSize: "14px" }}>Votre mot de passe </Label>
|
||||
</div>
|
||||
<div className="show_pwd_div" onClick={handleClickShowPassword}>
|
||||
{currentpawdvisible ? <Visibility style={{ fontSize: '15px' }} /> : <VisibilityOff style={{ fontSize: '15px' }} />}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<Input type="password" placeholder="Password" name="pwd" />
|
||||
</FormGroup>
|
||||
</div>
|
||||
|
||||
<div className="div_centre">
|
||||
|
||||
<div className="div_row_bis" >
|
||||
|
||||
<FormGroup>
|
||||
<Label style={{ fontSize: "14px" }}>Votre adresse email</Label>
|
||||
<Input type="email" placeholder="Email" name="email" />
|
||||
</FormGroup>
|
||||
|
||||
<div style={{ height: '10px' }}> </div>
|
||||
|
||||
|
||||
{String(initpasswd) === String("true") && closepopup === 1 && <div className="okUpdateData">
|
||||
La demande reinitialisation a bien ete prise en compte.
|
||||
Verifiez votre boite email.
|
||||
</div>}
|
||||
<div className="forgot_pass" >
|
||||
{String(initpasswd) !== String("true") && String(closepopup) !== String("1")
|
||||
&& <Popup trigger={<button className="avisformation"> Mot de passe oublié</button>}
|
||||
position="center" className="signin popup-reset-pwd">
|
||||
<div className="signin-content popup-reset-pwd-content">
|
||||
<div className="div_row" style={{
|
||||
"textAlign": "center", "background": "orangered",
|
||||
"height": "2rem", "paddingTop": "5px", "fontSize": "14px", "fontWeight": "bold"
|
||||
}}
|
||||
> Modifier le mot de passe</div>
|
||||
<br />
|
||||
<FormGroup>
|
||||
<div className="label_pwd_div">
|
||||
<div className="label_div" >
|
||||
<Label style={{ fontSize: "14px" }}>Votre mot de passe </Label>
|
||||
</div>
|
||||
<div className="show_pwd_div" onClick={handleClickShowPassword}>
|
||||
{currentpawdvisible ? <Visibility style={{ fontSize: '15px' }} /> : <VisibilityOff style={{ fontSize: '15px' }} />}
|
||||
</div>
|
||||
|
||||
<label for="exampleFormControlTextarea1">Saisir votre email</label>
|
||||
<br />
|
||||
|
||||
<input type="text" id="resetemailvalue" name="resetemailvalue" rows="1" cols="20"
|
||||
className="zone_mail" />
|
||||
<br />
|
||||
</div>
|
||||
<Input type="password" placeholder="Password" name="pwd" />
|
||||
</FormGroup>
|
||||
|
||||
|
||||
<div>
|
||||
<br />
|
||||
<Tooltip className="tooltip_css" id="is_user_or_pro-tooltip" />
|
||||
<a data-tooltip-id="is_user_or_pro-tooltip" data-tooltip-html="Compte partenaire : création et gestion de formation <br/>
|
||||
compte utilisateur : non autorisé à la création et gestion de formation">
|
||||
<label for="is_user_or_pro">Compte partenaire ou utilisateur * ?</label>
|
||||
{String(initpasswd) === String("true") && closepopup === 1 && <div className="okUpdateData">
|
||||
La demande reinitialisation a bien ete prise en compte.
|
||||
Verifiez votre boite email.
|
||||
</div>}
|
||||
<div className="forgot_pass" >
|
||||
{String(initpasswd) !== String("true") && String(closepopup) !== String("1")
|
||||
&& <Popup trigger={<button className="avisformation"> Mot de passe oublié</button>}
|
||||
position="center" className="signin popup-reset-pwd">
|
||||
<div className="signin-content popup-reset-pwd-content">
|
||||
<div className="div_row" style={{
|
||||
"textAlign": "center", "background": "orangered",
|
||||
"height": "2rem", "paddingTop": "5px", "fontSize": "14px", "fontWeight": "bold"
|
||||
}}
|
||||
> Modifier le mot de passe</div>
|
||||
<br />
|
||||
|
||||
<label for="exampleFormControlTextarea1">Saisir votre email</label>
|
||||
<br />
|
||||
|
||||
<input type="text" id="resetemailvalue" name="resetemailvalue" rows="1" cols="20"
|
||||
className="zone_mail" />
|
||||
<br />
|
||||
|
||||
|
||||
<select id="is_user_or_pro" name="is_user_or_pro" style={{
|
||||
"width": '100%', "height": "2.5rem",
|
||||
'marginTop': '5px'
|
||||
}}
|
||||
onChange={(event) => settypecompte(event.target.value)}>
|
||||
<option selected value="">Choisir </option>
|
||||
|
||||
<option value="partner">Partenaire </option>
|
||||
<option value="user">Utilisateur </option>
|
||||
</select>
|
||||
</a>
|
||||
<br />
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<br />
|
||||
<Tooltip className="tooltip_css" id="is_user_or_pro-tooltip" />
|
||||
<a data-tooltip-id="is_user_or_pro-tooltip" data-tooltip-html="Compte partenaire : création et gestion de formation <br/>
|
||||
compte utilisateur : non autorisé à la création et gestion de formation">
|
||||
<label for="is_user_or_pro">Compte partenaire ou utilisateur * ?</label>
|
||||
<br />
|
||||
|
||||
|
||||
<select id="is_user_or_pro" name="is_user_or_pro" style={{
|
||||
"width": '100%', "height": "2.5rem",
|
||||
'marginTop': '5px'
|
||||
}}
|
||||
onChange={(event) => settypecompte(event.target.value)}>
|
||||
<option selected value="">Choisir </option>
|
||||
|
||||
<div className="text_pwd_crit" style={{ "textAlign": "center" }}>
|
||||
Je ne suis pas un robot <br />
|
||||
<div >
|
||||
<option value="partner">Partenaire </option>
|
||||
<option value="user">Utilisateur </option>
|
||||
</select>
|
||||
</a>
|
||||
<br />
|
||||
|
||||
|
||||
<div name="pasrobot" > {random1} + {random2} = <input
|
||||
type='text'
|
||||
name='sommerandom'
|
||||
id='sommerandom'
|
||||
|
||||
{...register('sommerandom', {
|
||||
required: { value: true, message: 'sommes de valeurs' },
|
||||
maxLength: {
|
||||
value: 30,
|
||||
}
|
||||
})}
|
||||
|
||||
className="pasrobot_css"
|
||||
placeholder='Le total est ?'
|
||||
/>
|
||||
|
||||
{errors.sommerandom && (
|
||||
<span className='koUpdateData'>la sommes est incorrect</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="text_pwd_crit" style={{ "textAlign": "center" }}>
|
||||
Je ne suis pas un robot <br />
|
||||
<div >
|
||||
|
||||
|
||||
<div name="pasrobot" > {random1} + {random2} = <input
|
||||
type='text'
|
||||
name='sommerandom'
|
||||
id='sommerandom'
|
||||
|
||||
{...register('sommerandom', {
|
||||
required: { value: true, message: 'sommes de valeurs' },
|
||||
maxLength: {
|
||||
value: 30,
|
||||
}
|
||||
})}
|
||||
|
||||
className="pasrobot_css"
|
||||
placeholder='Le total est ?'
|
||||
/>
|
||||
|
||||
{errors.sommerandom && (
|
||||
<span className='koUpdateData'>la sommes est incorrect</span>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-secondary btn-sm" onClick={resetpasswd_ok}>Envoyer</button>
|
||||
<button type="submit" class="btn btn-secondary btn-sm" onClick={closepopupinitpwd}> Annuler</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-secondary btn-sm" onClick={resetpasswd_ok}>Envoyer</button>
|
||||
<button type="submit" class="btn btn-secondary btn-sm" onClick={closepopupinitpwd}> Annuler</button>
|
||||
</div>
|
||||
</Popup>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<FormGroup>
|
||||
|
||||
</FormGroup>
|
||||
|
||||
<div className="div_row22">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_login button" onClick={onSubmit}>Connectez-Vous</Button>
|
||||
</div>
|
||||
|
||||
|
||||
</Popup>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<FormGroup>
|
||||
|
||||
</FormGroup>
|
||||
|
||||
<div className="div_row22">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_login button" onClick={onSubmit}>Connectez-Vous</Button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{isconnected === "false" && <div className="erreurconnexion">
|
||||
<br />
|
||||
|
|
|
@ -388,7 +388,7 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
// console.log(" In Getall_Sequence_Of_Session res.data.status = " + res.data.status);
|
||||
// console.log(" In Getall_Sequence_Of_Session res.data.message r_class = " + res.data.message);
|
||||
console.log(" In Getall_Sequence_Of_Session res.data.message r_class = " + res.data.message);
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
|
||||
|
@ -414,6 +414,15 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
var local_objectif = JSON.parse(x).objectif;
|
||||
var local_session_id = JSON.parse(x).session_id;
|
||||
var local_session_comment = JSON.parse(x).commentaire;
|
||||
var local_mode_animation = JSON.parse(x).mode_animation;
|
||||
var local_session_color = "#3788d8";
|
||||
|
||||
|
||||
if (local_mode_animation === "1") {
|
||||
// sequence en distantiel, on va mettre un code couleur
|
||||
local_session_color = "#4ea860"
|
||||
}
|
||||
|
||||
|
||||
var local_type = JSON.parse(x).type;
|
||||
|
||||
|
@ -424,9 +433,11 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
"title": local_title,
|
||||
"start": local_start,
|
||||
"end": local_end,
|
||||
"local_mode_animation": local_mode_animation,
|
||||
"local_agenda": local_agenda,
|
||||
"local_objectif": local_objectif,
|
||||
"local_comment": local_session_comment,
|
||||
"color": local_session_color,
|
||||
"type": local_type,
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
@ -461,12 +472,21 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const New_Option_mode_animation = [
|
||||
{ "id": "1", "label": "Distanciel", "value": "1" },
|
||||
{ "id": "2", "label": "Hybride", "value": "2" },
|
||||
{ "id": "0", "label": "Présentiel", "value": "0" },
|
||||
{ "id": "", "label": "", "value": "" },
|
||||
]
|
||||
|
||||
const [selected_id, setselected_id] = useState("");
|
||||
const [gridline_id, setgridline_id] = useState("");
|
||||
const [selected_session_id, setselected_session_id] = useState("");
|
||||
const [selected_inscription_id, setselected_inscription_id] = useState("");
|
||||
|
||||
const [selected_class_external_code, setselected_class_external_code] = useState("");
|
||||
const [selected_code_session, setselected_code_session] = 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();
|
||||
|
@ -568,12 +588,12 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
}
|
||||
}
|
||||
|
||||
function handleClick_Class_Selected_From_Line(selected_row_id) {
|
||||
function handleClick_Class_Selected_From_Line(associated_session_id, associated_inscription_id) {
|
||||
|
||||
// Recuperer le planning liée à cette formation
|
||||
Getall_Sequence_Of_Session(selected_row_id.associated_session_id);
|
||||
Get_Inscrit_Notes_Of_Evaluations(selected_row_id.associated_inscription_id, selected_row_id.associated_session_id);
|
||||
Get_List_Of_All_PJ(selected_row_id.associated_inscription_id);
|
||||
Getall_Sequence_Of_Session(associated_session_id);
|
||||
Get_Inscrit_Notes_Of_Evaluations(associated_inscription_id, associated_session_id);
|
||||
Get_List_Of_All_PJ(associated_inscription_id);
|
||||
}
|
||||
|
||||
|
||||
|
@ -582,7 +602,9 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
return (
|
||||
<>
|
||||
<b>{eventInfo.timeText}</b><br />
|
||||
<i>{eventInfo.event.title}</i>
|
||||
<i>{eventInfo.event.title}</i><br />
|
||||
{eventInfo.event.extendedProps.local_mode_animation && String(eventInfo.event.extendedProps.local_mode_animation) === "1" &&
|
||||
<i><b>Distanciel</b></i>}
|
||||
</>
|
||||
)
|
||||
};
|
||||
|
@ -662,6 +684,17 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
setp_detail_sequence_comment("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_mode_animation) {
|
||||
if (String(arg.event.extendedProps.local_mode_animation) === "1")
|
||||
setp_detail_mode_animation_label("Distanciel");
|
||||
else if (String(arg.event.extendedProps.local_mode_animation) === "2")
|
||||
setp_detail_mode_animation_label("Hybride");
|
||||
else if (String(arg.event.extendedProps.local_mode_animation) === "0")
|
||||
setp_detail_mode_animation_label("Présentiel");
|
||||
}
|
||||
else
|
||||
setp_detail_mode_animation_label("");
|
||||
|
||||
if (arg.event.extendedProps.local_objectif) {
|
||||
setp_detail_sequence_objectif(arg.event.extendedProps.local_objectif);
|
||||
}
|
||||
|
@ -1181,7 +1214,7 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
var file_name = event.target.id;
|
||||
|
||||
|
||||
var url = process.env.REACT_APP_API_URL + "myclass/api/Get_Ent_Student_Stored_Downloaded_File/" + token + "/" + file_name+"/"+props.apprenant_id;
|
||||
var url = process.env.REACT_APP_API_URL + "myclass/api/Get_Ent_Student_Stored_Downloaded_File/" + token + "/" + file_name + "/" + props.apprenant_id;
|
||||
|
||||
setLoading(true);
|
||||
axios.get(url, { responseType: 'blob', },)
|
||||
|
@ -1556,10 +1589,34 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
// -- end gestion pièces jointes
|
||||
|
||||
|
||||
const [p_detail_mode_animation, setp_detail_mode_animation] = useState("");
|
||||
|
||||
const [p_detail_mode_animation_label, setp_detail_mode_animation_label] = useState("");
|
||||
|
||||
|
||||
const [affichage_class, setaffichage_class] = useState("grid");
|
||||
|
||||
|
||||
function display_detail_from_grid(localid, local_id, local_session_id, local_inscription_id,
|
||||
local_class_id) {
|
||||
|
||||
setselected_id(local_id);
|
||||
setgridline_id(localid);
|
||||
setselected_session_id(local_session_id);
|
||||
setselected_inscription_id(local_inscription_id);
|
||||
submenu_detail();
|
||||
|
||||
Get_Given_Class_Data(local_id);
|
||||
Get_List_UE_From_Class_Id(local_class_id);
|
||||
Getall_Class_List_Evalution(local_class_id);
|
||||
handleClick_Class_Selected_From_Line(local_session_id, local_inscription_id);
|
||||
|
||||
var line = New_Get_List_Ent_Formation_result[localid];
|
||||
setselected_class_external_code(line.external_code);
|
||||
setselected_code_session(line.session_code_session);
|
||||
}
|
||||
|
||||
|
||||
return (
|
||||
<div className="module_ent_mes_formations" >
|
||||
|
||||
|
@ -1620,10 +1677,8 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
</DialogContentText>
|
||||
|
||||
<div className="session_caract_Dialog" >
|
||||
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Type </nav>
|
||||
|
||||
|
||||
<nav style={{ "float": "right", "width": "65%" }}>
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
@ -1638,6 +1693,23 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
</nav>
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" >
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Animation </nav>
|
||||
|
||||
<nav style={{ "float": "right", "width": "65%" }}>
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="event_dialog_event_type"
|
||||
id="event_dialog_event_type"
|
||||
fullWidth
|
||||
value={p_detail_mode_animation_label}
|
||||
disabled={true}
|
||||
/>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="session_caract_Dialog" > Titre
|
||||
|
@ -1777,7 +1849,7 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
|
||||
|
||||
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Mes Formations </h3>
|
||||
|
||||
{/*<div>
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -2075,12 +2147,17 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
setgridline_id(newSelectionModel.row.id);
|
||||
setselected_session_id(newSelectionModel.row.associated_session_id);
|
||||
setselected_inscription_id(newSelectionModel.row.associated_inscription_id);
|
||||
|
||||
setselected_class_external_code(newSelectionModel.row.external_code);
|
||||
setselected_code_session(newSelectionModel.row.session_code_session);
|
||||
|
||||
|
||||
submenu_detail();
|
||||
|
||||
Get_Given_Class_Data(newSelectionModel.row._id);
|
||||
Get_List_UE_From_Class_Id(newSelectionModel.row.class_id);
|
||||
Getall_Class_List_Evalution(newSelectionModel.row.class_id);
|
||||
handleClick_Class_Selected_From_Line(newSelectionModel.row);
|
||||
handleClick_Class_Selected_From_Line(newSelectionModel.row.associated_session_id, newSelectionModel.row.associated_inscription_id);
|
||||
}}
|
||||
|
||||
rowsPerPageOptions={[10]}
|
||||
|
@ -2165,19 +2242,13 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
{New_Get_List_Ent_Formation_result && New_Get_List_Ent_Formation_result.map((formation) => (
|
||||
<div className="block_formation" >
|
||||
<Ent_Student_Affichage_Ftion_Grid formation={(formation)} key={(formation).title}
|
||||
ondblclick={() => {
|
||||
console.log(" double client sur formation = ", formation)
|
||||
setselected_id(formation._id);
|
||||
setgridline_id(formation.id);
|
||||
setselected_session_id(formation.associated_session_id);
|
||||
setselected_inscription_id(formation.associated_inscription_id);
|
||||
submenu_detail();
|
||||
session_id={formation.associated_session_id}
|
||||
inscription_id={formation.associated_inscription_id}
|
||||
formation_id={formation._id}
|
||||
formationid={formation.id}
|
||||
class_id={formation.class_id}
|
||||
display_detail_from_grid={display_detail_from_grid}
|
||||
|
||||
Get_Given_Class_Data(formation._id);
|
||||
Get_List_UE_From_Class_Id(formation.class_id);
|
||||
Getall_Class_List_Evalution(formation.class_id);
|
||||
handleClick_Class_Selected_From_Line(formation);
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
|
@ -2197,6 +2268,10 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='contrat'>Pièces Jointes </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>
|
||||
</div>}
|
||||
|
||||
|
||||
{
|
||||
String(submenu) === "detail" && Get_Given_Class_Data_result && Get_Given_Class_Data_result.length > 0 && <div className="div_row" >
|
||||
|
@ -2458,7 +2533,7 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="div_row" style={{ "padding": "5px" }}>
|
||||
{/* <div className="div_row" style={{ "padding": "5px" }}>
|
||||
|
||||
<div style={{ "fontSize": "12px" }}>
|
||||
<label htmlFor="upload-photo">
|
||||
|
@ -2514,10 +2589,10 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
{Record_All_PJ_api && String(Record_All_PJ_api) === "false" && <div className="koUpdateData"> {Record_All_PJ_message} </div>}
|
||||
|
||||
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
|
||||
{file_1_name && file_1_name.name && <div className="div_row">
|
||||
{/*file_1_name && file_1_name.name && <div className="div_row">
|
||||
|
||||
<div className="div_row_gauche">
|
||||
<Button variant="contained" onClick={Record_All_PJ}
|
||||
|
@ -2525,14 +2600,14 @@ const Module_Ent_Mes_Formations = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
</div>}
|
||||
</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" >
|
||||
<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 />
|
||||
{/*<Popup
|
||||
trigger={
|
||||
|
|
|
@ -162,6 +162,21 @@ const Module_Session_Planification = (props) => {
|
|||
{ field: 'sequence_start', headerName: 'Debut', minWidth: 200, flex: 1, hide: false, editable: false },
|
||||
{ field: 'sequence_end', headerName: 'Fin', minWidth: 200, flex: 1, hide: false, editable: false },
|
||||
|
||||
{
|
||||
field: 'mode_animation', headerName: 'Animation', minWidth: 150, flex: 1,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
{cellValues.row.mode_animation && String(cellValues.row.mode_animation) === "1" && "Distanciel"}
|
||||
{cellValues.row.mode_animation && String(cellValues.row.mode_animation) === "0" && "Présentiel"}
|
||||
{cellValues.row.mode_animation && String(cellValues.row.mode_animation) === "2" && "Hybride"}
|
||||
</div>
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
{ field: 'agenda', headerName: 'Agenda', minWidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <Display_Colunm_text {...params} />, },
|
||||
{ field: 'objectif', headerName: 'Objectif', width: 0, flex: 0, hide: true, editable: false, },
|
||||
{ field: 'commentaire', headerName: 'Commentaire', width: 0, flex: 0, hide: true, editable: false, },
|
||||
|
@ -183,6 +198,7 @@ const Module_Session_Planification = (props) => {
|
|||
setp_detail_sequence_agenda(cellValues.row.agenda);
|
||||
setp_detail_sequence_objectif(cellValues.row.objectif);
|
||||
setp_detail_sequence_comment(cellValues.row.commentaire);
|
||||
setp_detail_mode_animation(cellValues.row.mode_animation);
|
||||
Getall_List_Sequence_Ressource(cellValues.row._id);
|
||||
setselected_sequence_id(cellValues.row._id);
|
||||
setdisplay_detail_sequence("1");
|
||||
|
@ -236,6 +252,8 @@ const Module_Session_Planification = (props) => {
|
|||
setp_detail_sequence_objectif(cellValues.row.objectif);
|
||||
setp_detail_sequence_comment(cellValues.row.commentaire);
|
||||
|
||||
setp_detail_mode_animation(cellValues.row.mode_animation);
|
||||
|
||||
setp_detail_sequence_groupe_apprenant_id(cellValues.row.grp_apprenant_id);
|
||||
|
||||
if (cellValues.row.ue_id) {
|
||||
|
@ -612,14 +630,15 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
|
||||
const renderEventContent = (eventInfo) => {
|
||||
|
||||
|
||||
//console.log(eventInfo.event);
|
||||
// console.log(" TOTOTOTOTO ", eventInfo.event);
|
||||
return (
|
||||
<>
|
||||
<b>{eventInfo.timeText}</b><br />
|
||||
<i>{eventInfo.event.title}</i><br />
|
||||
<i>{eventInfo.event.extendedProps.grp_code}</i>
|
||||
{eventInfo.event.extendedProps.local_mode_animation && String(eventInfo.event.extendedProps.local_mode_animation) === "1" &&
|
||||
<i><b>Distanciel</b></i>}
|
||||
|
||||
</>
|
||||
)
|
||||
};
|
||||
|
@ -1145,6 +1164,8 @@ const Module_Session_Planification = (props) => {
|
|||
form.append("objectif", p_detail_sequence_objectif);
|
||||
form.append("commentaire", p_detail_sequence_comment);
|
||||
|
||||
form.append("mode_animation", p_detail_mode_animation);
|
||||
|
||||
form.append("grp_apprenant_id", p_detail_sequence_groupe_apprenant_id);
|
||||
form.append("ue_id", p_detail_sequence_ue_id);
|
||||
form.append("ue_planif_line_id", p_detail_sequence_ue_planif_line_id);
|
||||
|
@ -1375,6 +1396,14 @@ const Module_Session_Planification = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [p_detail_mode_animation, setp_detail_mode_animation] = useState("");
|
||||
|
||||
const New_Option_mode_animation = [
|
||||
{ "id": "1", "label": "Distanciel", "value": "1" },
|
||||
{ "id": "2", "label": "Hybride", "value": "2" },
|
||||
{ "id": "0", "label": "Présentiel", "value": "0" },
|
||||
{ "id": "", "label": "", "value": "" },
|
||||
]
|
||||
|
||||
const [Add_One_Sequence_Session_Ressource_Mass_api, setAdd_One_Sequence_Session_Ressource_Mass_api] = useState();
|
||||
const [Add_One_Sequence_Session_Ressource_Mass_message, setAdd_One_Sequence_Session_Ressource_Mass_message] = useState();
|
||||
|
@ -1502,6 +1531,14 @@ const Module_Session_Planification = (props) => {
|
|||
var local_session_color = JSON.parse(x).grp_apprenant_color;
|
||||
var local_session_grp_code = JSON.parse(x).grp_apprenant_code;
|
||||
|
||||
var local_mode_animation = JSON.parse(x).mode_animation;
|
||||
|
||||
// Si il n'y pas de relief avec le groupe d'apprenant, on va introduire un relief avec la notion de présentiel et distantiel
|
||||
if (local_session_color === "" && local_mode_animation === "1") {
|
||||
// sequence en distantiel, on va mettre un code couleur
|
||||
local_session_color = "#4ea860"
|
||||
}
|
||||
|
||||
|
||||
//---
|
||||
var node = {
|
||||
|
@ -1513,6 +1550,8 @@ const Module_Session_Planification = (props) => {
|
|||
"grp_code": local_session_grp_code,
|
||||
"color": local_session_color,
|
||||
"local_agenda": local_agenda,
|
||||
"local_mode_animation": local_mode_animation,
|
||||
|
||||
"local_objectif": local_objectif,
|
||||
"local_comment": local_session_comment,
|
||||
"local_type": local_session_type,
|
||||
|
@ -2145,6 +2184,7 @@ const Module_Session_Planification = (props) => {
|
|||
setp_detail_sequence_title("");
|
||||
|
||||
setp_detail_sequence_comment("");
|
||||
setp_detail_mode_animation("");
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
|
@ -2160,6 +2200,8 @@ const Module_Session_Planification = (props) => {
|
|||
setp_detail_sequence_title("");
|
||||
|
||||
setp_detail_sequence_comment("");
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
|
@ -2211,9 +2253,9 @@ const Module_Session_Planification = (props) => {
|
|||
setGetall_List_Sequence_Ressource_result([]);
|
||||
setselectionModel_sequence([]);
|
||||
|
||||
console.log(" ### arg.event.extendedProps = ", arg.event.extendedProps);
|
||||
// console.log(" ### arg.event.extendedProps = ", arg.event.extendedProps);
|
||||
|
||||
console.log(" ### arg.event.extendedProps.local_type = ", arg.event.extendedProps.local_type);
|
||||
//console.log(" ### arg.event.extendedProps.local_type = ", arg.event.extendedProps.local_type);
|
||||
|
||||
if (arg.event.extendedProps._id) {
|
||||
setselected_sequence_id(arg.event.extendedProps._id);
|
||||
|
@ -2228,6 +2270,14 @@ const Module_Session_Planification = (props) => {
|
|||
else
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_mode_animation) {
|
||||
setp_detail_mode_animation(arg.event.extendedProps.local_mode_animation);
|
||||
}
|
||||
else
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_type) {
|
||||
setp_detail_event_type(arg.event.extendedProps.local_type);
|
||||
}
|
||||
|
@ -2383,6 +2433,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
setp_detail_sequence_title("");
|
||||
setp_detail_sequence_comment("");
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
@ -2442,6 +2493,7 @@ const Module_Session_Planification = (props) => {
|
|||
form.append("agenda", p_detail_sequence_agenda);
|
||||
form.append("objectif", p_detail_sequence_objectif);
|
||||
form.append("commentaire", p_detail_sequence_comment);
|
||||
form.append("mode_animation", p_detail_mode_animation);
|
||||
form.append("grp_apprenant_id", p_detail_sequence_groupe_apprenant_id);
|
||||
form.append("ue_id", p_detail_sequence_ue_id);
|
||||
|
||||
|
@ -2469,6 +2521,8 @@ const Module_Session_Planification = (props) => {
|
|||
setp_detail_sequence_title("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
|
@ -2547,6 +2601,8 @@ const Module_Session_Planification = (props) => {
|
|||
setp_detail_sequence_title("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
|
@ -2632,6 +2688,8 @@ const Module_Session_Planification = (props) => {
|
|||
setp_detail_sequence_title("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
|
@ -2685,6 +2743,9 @@ const Module_Session_Planification = (props) => {
|
|||
setselected_sequence_id("");
|
||||
setp_detail_sequence_objectif("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setsubmenu_seq_dialog("dialog_detail");
|
||||
|
||||
setGetall_List_Sequence_Ressource_result([]);
|
||||
|
@ -3415,7 +3476,7 @@ const Module_Session_Planification = (props) => {
|
|||
className="displaypartnersession mysy_MuiPaper-root"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title">
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title">
|
||||
Créer un nouveau modèle de planning
|
||||
</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
@ -3507,7 +3568,7 @@ const Module_Session_Planification = (props) => {
|
|||
static
|
||||
onClose={() => null}
|
||||
|
||||
PaperProps={{
|
||||
PaperProps={{
|
||||
className: classes.paper, // Apply the paper style
|
||||
style: {
|
||||
overflowY: 'unset',
|
||||
|
@ -3528,7 +3589,7 @@ const Module_Session_Planification = (props) => {
|
|||
className="displaypartnersession mysy_MuiPaper-root"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title">
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title">
|
||||
Gestion Modèle de planning
|
||||
</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
@ -3701,14 +3762,14 @@ const Module_Session_Planification = (props) => {
|
|||
className="displaypartnersession mysy_MuiPaper-root"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title">
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title">
|
||||
|
||||
{String(update_sequence) !== "1" && "Ajouter une séquence"}
|
||||
{String(update_sequence) === "1" && "Mettre à jour une séquence"}
|
||||
|
||||
|
||||
</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ width:'40rem'}}>
|
||||
<DialogContent className="DialogContent_width" style={{ width: '40rem' }}>
|
||||
<DialogContentText>
|
||||
{Dialog_seq_1_message}
|
||||
</DialogContentText>
|
||||
|
@ -3982,10 +4043,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
{String(submenu_seq_dialog) !== "dialog_ressource" && <div>
|
||||
<div className="session_caract_Dialog" >
|
||||
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Type </nav>
|
||||
|
||||
|
||||
<nav style={{ "float": "right", "width": "65%" }}>
|
||||
{New_Option_Type_Event && New_Option_Type_Event.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
|
@ -4016,7 +4074,41 @@ const Module_Session_Planification = (props) => {
|
|||
</nav>
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > Unité d'enseignement
|
||||
<div className="session_caract_Dialog" >
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Animation </nav>
|
||||
<nav style={{ "float": "right", "width": "65%" }}>
|
||||
|
||||
{New_Option_mode_animation && New_Option_mode_animation.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="event_dialog_type"
|
||||
id="event_dialog_type"
|
||||
fullWidth
|
||||
options={New_Option_mode_animation}
|
||||
value={New_Option_mode_animation.filter((data) => (data).value === String(p_detail_mode_animation))[0].label}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setp_detail_mode_animation(value.value);
|
||||
|
||||
} else {
|
||||
setp_detail_mode_animation("");
|
||||
}
|
||||
|
||||
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>}
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="session_caract_Dialog" > UE / Matière
|
||||
|
||||
|
||||
{New_Getall_Class_List_UE_result && New_Getall_Class_List_UE_result.length > 0 && <Autocomplete
|
||||
|
@ -4330,7 +4422,7 @@ const Module_Session_Planification = (props) => {
|
|||
className="displaypartnersession"
|
||||
static
|
||||
onClose={() => null}
|
||||
PaperProps={{
|
||||
PaperProps={{
|
||||
className: classes.paper, // Apply the paper style
|
||||
style: {
|
||||
overflowY: 'unset',
|
||||
|
@ -4350,7 +4442,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> Ajout ressource {/*: <font size="3"> <i> {selected_sequence_startDate} au {selected_sequence_endDate} </i> </font> */} </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> Ajout ressource {/*: <font size="3"> <i> {selected_sequence_startDate} au {selected_sequence_endDate} </i> </font> */} </DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_seq_ressource_1_message}
|
||||
|
@ -4544,7 +4636,7 @@ const Module_Session_Planification = (props) => {
|
|||
static
|
||||
onClose={() => null}
|
||||
|
||||
PaperProps={{
|
||||
PaperProps={{
|
||||
className: classes.paper, // Apply the paper style
|
||||
style: {
|
||||
overflowY: 'unset',
|
||||
|
@ -4564,17 +4656,14 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_EVENT_SEMAINE_TYPE_message}
|
||||
</DialogContentText>
|
||||
|
||||
<div className="session_caract_Dialog" >
|
||||
|
||||
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Type </nav>
|
||||
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Type zzzz </nav>
|
||||
|
||||
<nav style={{ "float": "right", "width": "65%" }}>
|
||||
<Autocomplete
|
||||
|
@ -4605,7 +4694,38 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
</nav>
|
||||
</div>
|
||||
<div className="session_caract_Dialog" >
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Animation </nav>
|
||||
<nav style={{ "float": "right", "width": "65%" }}>
|
||||
|
||||
{New_Option_mode_animation && New_Option_mode_animation.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="event_dialog_type"
|
||||
id="event_dialog_type"
|
||||
fullWidth
|
||||
options={New_Option_mode_animation}
|
||||
value={New_Option_mode_animation.filter((data) => (data).value === String(p_detail_mode_animation))[0].label}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setp_detail_mode_animation(value.value);
|
||||
|
||||
} else {
|
||||
setp_detail_mode_animation("");
|
||||
}
|
||||
|
||||
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>}
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > Titre
|
||||
<TextField
|
||||
|
@ -4852,7 +4972,7 @@ const Module_Session_Planification = (props) => {
|
|||
className="displaypartnersession displaypopop_for_sequence_model_week"
|
||||
static
|
||||
onClose={() => null}
|
||||
PaperProps={{
|
||||
PaperProps={{
|
||||
className: classes.paper, // Apply the paper style
|
||||
style: {
|
||||
overflowY: 'unset',
|
||||
|
@ -4871,7 +4991,7 @@ const Module_Session_Planification = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> {Dialog_seq_CREATION_SEMAINE_TYPE_message} </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> {Dialog_seq_CREATION_SEMAINE_TYPE_message} </DialogTitle>
|
||||
<DialogContent className="DialogContent_width_for_week_model">
|
||||
<DialogContentText>
|
||||
{Dialog_seq_CREATION_SEMAINE_TYPE_message}
|
||||
|
@ -5135,7 +5255,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> Choisir un modèle de planification </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> Choisir un modèle de planification </DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ height: "15rem" }}>
|
||||
<DialogContentText>
|
||||
{Dialog_seq_choix_model_emargement_message}
|
||||
|
@ -5259,7 +5379,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
static
|
||||
onClose={() => null}
|
||||
PaperProps={{
|
||||
PaperProps={{
|
||||
className: classes.paper, // Apply the paper style
|
||||
style: {
|
||||
overflowY: 'unset',
|
||||
|
@ -5272,7 +5392,7 @@ const Module_Session_Planification = (props) => {
|
|||
disableScrollLock
|
||||
classes={{
|
||||
paper: classes.dialog
|
||||
}}
|
||||
}}
|
||||
|
||||
PaperComponent={PaperComponent}
|
||||
aria-labelledby="draggable-dialog-title"
|
||||
|
@ -5280,13 +5400,13 @@ const Module_Session_Planification = (props) => {
|
|||
className="module_agenda mysy_MuiPaper-root"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ width:"40rem"}}>
|
||||
<DialogContentText>
|
||||
{Dialog_DIALOG_AGENDA_message}
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ width: "40rem" }}>
|
||||
<DialogContentText>
|
||||
{Dialog_DIALOG_AGENDA_message}
|
||||
</DialogContentText>
|
||||
|
||||
{<div className="session_caract_Dialog" style={{ textAlign: 'right' }} >
|
||||
{<div className="session_caract_Dialog" style={{ textAlign: 'right' }} >
|
||||
|
||||
<Button variant="outlined" onClick={submenu_sequence_detail} className="detail_class_submenu" id='dialog_detail_seq_detail'
|
||||
name='dialog_detail_seq_detail'>Détail</Button>
|
||||
|
@ -5595,8 +5715,41 @@ const Module_Session_Planification = (props) => {
|
|||
</nav>
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" >
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Animation </nav>
|
||||
<nav style={{ "float": "right", "width": "65%" }}>
|
||||
|
||||
<div className="session_caract_Dialog" > Unité d'enseignement
|
||||
{New_Option_mode_animation && New_Option_mode_animation.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="event_dialog_type"
|
||||
id="event_dialog_type"
|
||||
fullWidth
|
||||
options={New_Option_mode_animation}
|
||||
value={New_Option_mode_animation.filter((data) => (data).value === String(p_detail_mode_animation))[0].label}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setp_detail_mode_animation(value.value);
|
||||
|
||||
} else {
|
||||
setp_detail_mode_animation("");
|
||||
}
|
||||
|
||||
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>}
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="session_caract_Dialog" > UE / Matière
|
||||
|
||||
|
||||
{New_Getall_Class_List_UE_result && New_Getall_Class_List_UE_result.length > 0 &&
|
||||
|
@ -6022,7 +6175,7 @@ const Module_Session_Planification = (props) => {
|
|||
agenda: JSON.parse(item).agenda,
|
||||
objectif: JSON.parse(item).objectif,
|
||||
commentaire: JSON.parse(item).commentaire,
|
||||
|
||||
mode_animation: JSON.parse(item).mode_animation,
|
||||
grp_apprenant_id: JSON.parse(item).grp_apprenant_id,
|
||||
ue_id: JSON.parse(item).ue_id,
|
||||
unite_enseignement_planif_id: JSON.parse(item).unite_enseignement_planif_id,
|
||||
|
@ -6048,6 +6201,8 @@ const Module_Session_Planification = (props) => {
|
|||
setp_detail_sequence_objectif(newSelectionModel.row.objectif);
|
||||
setp_detail_sequence_comment(newSelectionModel.row.commentaire);
|
||||
|
||||
setp_detail_mode_animation(newSelectionModel.row.mode_animation);
|
||||
|
||||
Getall_List_Sequence_Ressource(newSelectionModel.row._id);
|
||||
|
||||
setselected_sequence_id(newSelectionModel.row._id);
|
||||
|
|
|
@ -233,7 +233,7 @@ const New_ButtonHilight_2025 = () => {
|
|||
}
|
||||
history.push("/intranet");
|
||||
}
|
||||
|
||||
|
||||
|
||||
function user_logout() {
|
||||
confirmAlert({
|
||||
|
|
|
@ -0,0 +1,493 @@
|
|||
|
||||
import React, { useState, useEffect } from 'react';
|
||||
//import { slide as Menu } from "react-burger-menu";
|
||||
import { NavLink } from "react-router-dom";
|
||||
import { getCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
import LogoutOutlinedIcon from '@mui/icons-material/LogoutOutlined';
|
||||
import Button from '@mui/material/Button';
|
||||
import { confirmAlert } from 'react-confirm-alert'; // Import
|
||||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||
import { useCookies } from "react-cookie";
|
||||
import { Helmet } from "react-helmet";
|
||||
import logowhite from "../mysy_img/MYSY-LOGO-WHITE.png";
|
||||
import connect_white from "../mysy_img/connect_white_v2.png";
|
||||
import MenuItem from "@material-ui/core/MenuItem";
|
||||
import Menu from "@material-ui/core/Menu";
|
||||
import connect_green from "../mysy_img/connect_green.png";
|
||||
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 { format } from 'date-fns'
|
||||
import moment from "moment";
|
||||
import SendIcon from '@mui/icons-material/Send';
|
||||
import axios from "axios";
|
||||
import mysy_logo2 from "../mysy_img2/Logo_MySy.png"
|
||||
|
||||
import New_C_Header_ENT_Student_2025_V2 from "./header_automatic_files/Header_ENT_Student";
|
||||
|
||||
const New_ButtonHilight_ENT_Student_2025 = () => {
|
||||
const history = useHistory();
|
||||
const [show, setShow] = useState(true);
|
||||
const [lastScrollY, setLastScrollY] = useState(0);
|
||||
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']);
|
||||
const [partcookie, setpartCookie, removepartCookie] = useCookies(['tokenmysypart']);
|
||||
|
||||
const [country_code, setcountry_code] = useState("FR");
|
||||
const [country_name, setcountry_name] = useState("France");
|
||||
const [city, setcity] = useState("Paris");
|
||||
const [postal, setpostal] = useState("75001");
|
||||
const [latitude, setlatitude] = useState("48.861000061035156");
|
||||
const [longitude, setlongitude] = useState("2.3380000591278076");
|
||||
const [IPv4, setIPv4] = useState("172.71.122.128");
|
||||
const [state, setstate] = useState("France");
|
||||
const [userIp, setuserIp] = useState("172.71.122.128");
|
||||
|
||||
|
||||
const controlNavbar = () => {
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
if (window.scrollY > lastScrollY && window.scrollY > 100) {
|
||||
setShow(false);
|
||||
} else if (window.scrollY < lastScrollY && window.scrollY < 100) { // if scroll up show the navbar
|
||||
setShow(true);
|
||||
}
|
||||
|
||||
// remember current page location to use in the next move
|
||||
setLastScrollY(window.scrollY);
|
||||
}
|
||||
};
|
||||
|
||||
const [userconnected, setuserconnected] = useState("0");
|
||||
const [someoneconnected, setsomeoneconnected] = useState("0");
|
||||
const [partnerconnected, setpartnerconnected] = useState("0");
|
||||
var stored_user = getCookie('tokenmysych');
|
||||
var stored_part = getCookie('tokenmysypart');
|
||||
|
||||
function whosisconnected() {
|
||||
|
||||
stored_user = getCookie('tokenmysych');
|
||||
stored_part = getCookie('tokenmysypart');
|
||||
|
||||
|
||||
|
||||
var local_user_connect = 0;
|
||||
var local_part_connect = 0;
|
||||
|
||||
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
|
||||
setuserconnected("0");
|
||||
local_user_connect = 0;
|
||||
} else {
|
||||
setuserconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_user_connect = 1;
|
||||
//alert(" user connected OK");
|
||||
}
|
||||
|
||||
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
|
||||
|
||||
setpartnerconnected("0");
|
||||
setsomeoneconnected("0");
|
||||
local_part_connect = 0;
|
||||
} else {
|
||||
setpartnerconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_part_connect = 1;
|
||||
// alert(" partner connected OK");
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
|
||||
var local_user_connect = 0;
|
||||
var local_part_connect = 0;
|
||||
|
||||
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
|
||||
setuserconnected("0");
|
||||
local_user_connect = 0;
|
||||
} else {
|
||||
setuserconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_user_connect = 1;
|
||||
//alert(" user connected OK");
|
||||
}
|
||||
|
||||
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
|
||||
setpartnerconnected("0");
|
||||
local_part_connect = 0;
|
||||
} else {
|
||||
setpartnerconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_part_connect = 1;
|
||||
//alert(" partner connected OK");
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window.addEventListener('scroll', controlNavbar);
|
||||
|
||||
// cleanup function
|
||||
return () => {
|
||||
window.removeEventListener('scroll', controlNavbar);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
}, [lastScrollY]);
|
||||
|
||||
|
||||
const [PartnerMenu, setPartnerMenu] = React.useState(null);
|
||||
const [AccountMenu, setAccountMenu] = React.useState(null);
|
||||
const [ProduitMenu, setproduitMenu] = React.useState(null);
|
||||
const [AvisMenu, setavisMenu] = React.useState(null);
|
||||
|
||||
|
||||
|
||||
const PartnerMenu_Close = () => {
|
||||
setPartnerMenu(null);
|
||||
};
|
||||
|
||||
const AccountMenu_Close = () => {
|
||||
setAccountMenu(null);
|
||||
};
|
||||
|
||||
|
||||
const ProduitMenu_Close = () => {
|
||||
setproduitMenu(null);
|
||||
};
|
||||
|
||||
const handlePartnerMenu = (event) => {
|
||||
setPartnerMenu(event.currentTarget);
|
||||
};
|
||||
|
||||
const handleAccountMenu = (event) => {
|
||||
setAccountMenu(event.currentTarget);
|
||||
};
|
||||
|
||||
|
||||
const handleProduitMenu = (event) => {
|
||||
setproduitMenu(event.currentTarget);
|
||||
};
|
||||
|
||||
const handleQuisommesNousMenu = (event) => {
|
||||
history.push("/qui-sommes-nous")
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
const handleClose_Account = () => {
|
||||
alert(" my account");
|
||||
setAccountMenu(null);
|
||||
};
|
||||
|
||||
const handleAccountConnexion = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/Connexion")
|
||||
};
|
||||
|
||||
const handleMyAccount = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/mysy-user-account")
|
||||
};
|
||||
|
||||
|
||||
|
||||
const handleAccountCreation = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/create_account")
|
||||
};
|
||||
|
||||
const handlePartnerConnexion = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/PartnerLogin")
|
||||
};
|
||||
|
||||
|
||||
const handleProduitService = () => {
|
||||
setproduitMenu(null);
|
||||
history.push("/tarifs_produits_services/")
|
||||
};
|
||||
|
||||
const handleAvis = () => {
|
||||
setavisMenu(null);
|
||||
history.push("/Recherche-Article-formation")
|
||||
};
|
||||
|
||||
|
||||
function user_logout_confirmation() {
|
||||
/* si c'est une connexion partner qui est active */
|
||||
if (typeof (stored_user) != "undefined") {
|
||||
const stored_cookie = getCookie('tokenmysych');
|
||||
var acces_right_token_name = stored_cookie + "_uar";
|
||||
|
||||
setpartCookie("tokenmysych", "", { path: '/' });
|
||||
setpartCookie(acces_right_token_name, "", { path: '/' });
|
||||
removeCookie(acces_right_token_name, { path: '/' });
|
||||
|
||||
removeCookie("tokenmysych", { path: '/' });
|
||||
|
||||
}
|
||||
history.push("/ent_student");
|
||||
}
|
||||
|
||||
|
||||
function user_logout() {
|
||||
confirmAlert({
|
||||
title: '',
|
||||
message: 'Confirmez la deconnexion (user)',
|
||||
buttons: [
|
||||
{
|
||||
label: 'Oui',
|
||||
onClick: () => user_logout_confirmation()
|
||||
},
|
||||
{
|
||||
label: 'Non',
|
||||
onClick: () => { return }
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function part_logout_confirmation() {
|
||||
/* si c'est une connexion partner qui est active */
|
||||
|
||||
if (typeof (stored_part) != "undefined") {
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
var acces_right_token_name = stored_cookie + "_uar";
|
||||
|
||||
setpartCookie("tokenmysypart", "", { path: '/' });
|
||||
setpartCookie(acces_right_token_name, "", { path: '/' });
|
||||
removeCookie(acces_right_token_name, { path: '/' });
|
||||
|
||||
|
||||
setpartCookie("mysy_session_display_view", "", { path: '/' });
|
||||
setpartCookie("mysy_menu_gauche_reduit", "", { path: '/' });
|
||||
setpartCookie("mysy_catalog_data_row_grouped_by", "", { path: '/' });
|
||||
|
||||
removeCookie("tokenmysypart", { path: '/' });
|
||||
removeCookie("mysy_session_display_view", { path: '/' });
|
||||
removeCookie("mysy_menu_gauche_reduit", { path: '/' });
|
||||
removeCookie("mysy_catalog_data_row_grouped_by", { path: '/' });
|
||||
|
||||
|
||||
}
|
||||
setsomeoneconnected("0");
|
||||
setDialog_1_open(false);
|
||||
history.push("/recherche-formation");
|
||||
}
|
||||
|
||||
function part_logout() {
|
||||
confirmAlert({
|
||||
title: '',
|
||||
message: 'Confirmez la deconnexion (pro)',
|
||||
buttons: [
|
||||
{
|
||||
label: 'Oui',
|
||||
onClick: () => part_logout_confirmation()
|
||||
},
|
||||
{
|
||||
label: 'Non',
|
||||
onClick: () => { return }
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
function handleAccountLogout() {
|
||||
|
||||
if (String(userconnected) === String("1")) {
|
||||
user_logout();
|
||||
}
|
||||
else if (String(partnerconnected) === String("1")) {
|
||||
part_logout();
|
||||
}
|
||||
}
|
||||
|
||||
const [CategorieMenu, setCategorieMenu] = React.useState(null);
|
||||
const CategorieMenu_Close = () => {
|
||||
setCategorieMenu(null);
|
||||
};
|
||||
|
||||
const handleCategorieMenu = (event) => {
|
||||
setCategorieMenu(event.currentTarget);
|
||||
};
|
||||
|
||||
|
||||
const handleMarketplace = (event) => {
|
||||
history.push("/recherche-formation")
|
||||
};
|
||||
|
||||
const handleClassCategorie = (e) => {
|
||||
setCategorieMenu(null);
|
||||
const pieces = window.location.href.split("/")
|
||||
const last = pieces[pieces.length - 1]
|
||||
|
||||
|
||||
var mymetier = "";
|
||||
mymetier = e.target.id
|
||||
if (last === mymetier) {
|
||||
//console.log(" ## RELAOD");
|
||||
window.location.reload(true);
|
||||
} else {
|
||||
history.push("/Recherche_new_v2/0/" + mymetier);
|
||||
}
|
||||
};
|
||||
|
||||
function publiecatalogue() {
|
||||
history.push("/Partner", { mysy_arg: 'partner' });
|
||||
}
|
||||
|
||||
|
||||
function resserver_demo() {
|
||||
history.push("/Partner", { mysy_arg: 'partner' });
|
||||
}
|
||||
|
||||
|
||||
const handleBlogMenu = (event) => {
|
||||
history.push("/Recherche-Article-formation")
|
||||
};
|
||||
|
||||
|
||||
|
||||
const [Dialog_1_message, setDialog_1_message] = React.useState(false);
|
||||
const [Dialog_1_open, setDialog_1_open] = React.useState(false);
|
||||
function Dialog_1_handle_change_participant_session(message) {
|
||||
setDialog_1_message(message);
|
||||
setDialog_1_open(true);
|
||||
}
|
||||
|
||||
const Dialog_1_handleClose = () => {
|
||||
//alert(" Utiliser le bouton 'fermer' ");
|
||||
//setOpen(false);
|
||||
};
|
||||
|
||||
const Dialog_1_handleClose_buton = () => {
|
||||
setDialog_1_open(false);
|
||||
};
|
||||
|
||||
|
||||
const [Dialog_contact_message, setDialog_contact_message] = React.useState(false);
|
||||
const [Dialog_contact_open, setDialog_contact_open] = React.useState(false);
|
||||
function Dialog_contact_handle_change_participant_session(message) {
|
||||
setDialog_contact_message(message);
|
||||
setDialog_contact_open(true);
|
||||
}
|
||||
|
||||
const Dialog_contact_handleClose = () => {
|
||||
|
||||
};
|
||||
|
||||
const Dialog_contact_handleClose_buton = () => {
|
||||
|
||||
setDialog_contact_open(false);
|
||||
clear_contact_message_fields();
|
||||
|
||||
};
|
||||
|
||||
function clear_contact_message_fields() {
|
||||
setcontact_message_nom_prenom("");
|
||||
setcontact_message_email("");
|
||||
setcontact_message_phone("");
|
||||
setcontact_message_sujet("");
|
||||
setcontact_message_sujet("");
|
||||
setcontact_message_message("");
|
||||
}
|
||||
|
||||
const [contact_message_nom_prenom, setcontact_message_nom_prenom] = React.useState("");
|
||||
const [contact_message_email, setcontact_message_email] = React.useState("");
|
||||
const [contact_message_phone, setcontact_message_phone] = React.useState("");
|
||||
const [contact_message_sujet, setcontact_message_sujet] = React.useState("");
|
||||
const [contact_message_message, setcontact_message_message] = React.useState("");
|
||||
|
||||
function Send_Contact_Message(e) {
|
||||
|
||||
var sender_mail = "";
|
||||
var sender_tel = "";
|
||||
var token = "";
|
||||
|
||||
////console.log("contacter " + sender_mail + " - " + sender_tel + " - ")
|
||||
|
||||
var mysubject = contact_message_sujet;
|
||||
var mymessage = contact_message_message;
|
||||
var mysender_name = contact_message_nom_prenom;
|
||||
var mysender_email = contact_message_email;
|
||||
|
||||
|
||||
//alert("contacter "+mysender_email+" - "+mymessage+" - url = "
|
||||
//+process.env.REACT_APP_API_URL+" - user_ip ="+IPv4+" - "+latitude);
|
||||
|
||||
var re = /\S+@\S+\.\S+/;
|
||||
if (re.test(mysender_email) == false) {
|
||||
alert("l'email est incorrecte");
|
||||
return;
|
||||
}
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/add_user_message/";
|
||||
var form = new FormData();
|
||||
form.append("type", "email");
|
||||
form.append("recever_mail", "contact@mysy-training.com");
|
||||
form.append("recever_tel", "+33769203945");
|
||||
form.append("sender_mail", mysender_email);
|
||||
form.append("sender_tel", sender_tel);
|
||||
form.append("object", mysubject);
|
||||
form.append("message", mymessage);
|
||||
form.append("sender_name", mysender_name);
|
||||
form.append("token", "");
|
||||
form.append("user_ip", IPv4);
|
||||
form.append("user_country_code", country_code);
|
||||
form.append("user_country_name", country_name);
|
||||
form.append("user_city", city);
|
||||
form.append("user_postal", postal);
|
||||
form.append("user_latitude", latitude);
|
||||
form.append("user_longitude", longitude);
|
||||
form.append("user_state", state);
|
||||
|
||||
|
||||
// console.log("## form = ", form);
|
||||
|
||||
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
||||
if (String(res.data.status) === String("false")) {
|
||||
|
||||
alert(res.data.message);
|
||||
}
|
||||
|
||||
else if (String(res.data.status) === String("true")) {
|
||||
Dialog_contact_handleClose_buton();
|
||||
alert(res.data.message);
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.warn('contact-nous Not good man :( mysearchtext = ');
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
return (
|
||||
<div className='new_buttonhilight_2025'>
|
||||
|
||||
<div className={`mini_entete ${show && 'hidden'}`} >
|
||||
<New_C_Header_ENT_Student_2025_V2 />
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
export default New_ButtonHilight_ENT_Student_2025;
|
|
@ -0,0 +1,33 @@
|
|||
import React from 'react';
|
||||
import { getCookie, } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||
import New_Sidebar_ENT_Student_2025 from "./New_Sidebar_ENT_Student_2025";
|
||||
import { useCookies } from "react-cookie";
|
||||
import New_ButtonHilight_ENT_Student_2025 from "./New_ButtonHilight_ENT_Student_2025";
|
||||
|
||||
const New_Navigation_ENT_Student_2025 = () => {
|
||||
|
||||
const history = useHistory();
|
||||
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']);
|
||||
const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']);
|
||||
|
||||
return (
|
||||
<div className={"navigation"}>
|
||||
|
||||
<div className="test_page">
|
||||
<div className="bm-burger-button_label">
|
||||
</div>
|
||||
<New_Sidebar_ENT_Student_2025 />
|
||||
<New_ButtonHilight_ENT_Student_2025 />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
export default New_Navigation_ENT_Student_2025;
|
|
@ -10,7 +10,7 @@ import { confirmAlert } from 'react-confirm-alert'; // Import
|
|||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||
import { useCookies } from "react-cookie";
|
||||
|
||||
|
||||
|
||||
|
||||
const New_SideBar_2025 = () => {
|
||||
const stored_cookie = getCookie('tokenmysych');
|
||||
|
|
|
@ -0,0 +1,336 @@
|
|||
import React, { useState, useEffect } from 'react';
|
||||
import { slide as Menu } from "react-burger-menu";
|
||||
import { NavLink } from "react-router-dom";
|
||||
import { getCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
import LogoutOutlinedIcon from '@mui/icons-material/LogoutOutlined';
|
||||
import Button from '@mui/material/Button';
|
||||
import { confirmAlert } from 'react-confirm-alert'; // Import
|
||||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||
import { useCookies } from "react-cookie";
|
||||
|
||||
|
||||
|
||||
const New_Sidebar_Client_Intranet_2025 = () => {
|
||||
const stored_cookie = getCookie('tokenmysych');
|
||||
const history = useHistory();
|
||||
|
||||
|
||||
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']);
|
||||
const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']);
|
||||
// Gestion des Cookies
|
||||
const stored_partner = cookie_part.tokenmysypart;
|
||||
const stored_user = cookie.tokenmysych;
|
||||
|
||||
const environnment = process.env.REACT_APP_ENV
|
||||
|
||||
|
||||
|
||||
function logout_confirmation() {
|
||||
|
||||
// si c'est une connexion partner qui est active
|
||||
if (typeof (stored_partner) !== "undefined") {
|
||||
//alert(" c'est une connexion PARTTT qui est active");
|
||||
removeCookie_part('tokenmysypart', { path: '/' });
|
||||
history.push("/Connexion");
|
||||
}
|
||||
|
||||
// si c'est une connexion user qui est active
|
||||
if (typeof (stored_user) !== "undefined") {
|
||||
//alert(" c'est une connexion USERR qui est active");
|
||||
removeCookie_part('tokenmysych', { path: '/' });
|
||||
history.push("/intranet");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function logout() {
|
||||
confirmAlert({
|
||||
title: 'Deconnexion ?',
|
||||
message: 'Confirmez la deconnexion',
|
||||
buttons: [
|
||||
{
|
||||
label: 'Oui',
|
||||
onClick: () => logout_confirmation()
|
||||
},
|
||||
{
|
||||
label: 'Non',
|
||||
|
||||
}
|
||||
],
|
||||
closeOnEscape: false,
|
||||
closeOnClickOutside: false,
|
||||
keyCodeForClose: [8, 32],
|
||||
willUnmount: () => { },
|
||||
afterClose: () => { },
|
||||
onClickOutside: () => { },
|
||||
onKeypress: () => { },
|
||||
onKeypressEscape: () => { },
|
||||
overlayClassName: "overlay-custom-class-name"
|
||||
});
|
||||
}
|
||||
|
||||
const [someoneconnected, setsomeoneconnected] = useState("0");
|
||||
const [partnerconnected, setpartnerconnected] = useState("0");
|
||||
const [userconnected, setuserconnected] = useState("0");
|
||||
|
||||
const stored_part = getCookie('tokenmysypart');
|
||||
|
||||
|
||||
function whosisconnected() {
|
||||
var local_user_connect = 0;
|
||||
var local_part_connect = 0;
|
||||
|
||||
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
|
||||
setuserconnected("0");
|
||||
local_user_connect = 0;
|
||||
} else {
|
||||
setuserconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_user_connect = 1;
|
||||
//alert(" user connected OK");
|
||||
}
|
||||
|
||||
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
|
||||
setpartnerconnected("0");
|
||||
local_part_connect = 0;
|
||||
} else {
|
||||
setpartnerconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_part_connect = 1;
|
||||
//alert(" partner connected OK");
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
var local_user_connect = 0;
|
||||
var local_part_connect = 0;
|
||||
|
||||
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
|
||||
setuserconnected("0");
|
||||
local_user_connect = 0;
|
||||
} else {
|
||||
setuserconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_user_connect = 1;
|
||||
//alert(" user connected OK");
|
||||
}
|
||||
|
||||
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
|
||||
setpartnerconnected("0");
|
||||
local_part_connect = 0;
|
||||
} else {
|
||||
setpartnerconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_part_connect = 1;
|
||||
//alert(" partner connected OK");
|
||||
}
|
||||
}, []);
|
||||
|
||||
return (
|
||||
// Pass on our props
|
||||
<div>
|
||||
|
||||
{String(environnment) === "PROD" &&
|
||||
<Menu className="ch_burger_menu">
|
||||
|
||||
<NavLink exact to={"/"} activeClassName={"nav-active"}>
|
||||
A propos
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/fonctionnalites"} activeClassName={"nav-active"}>
|
||||
Fonctionnalites
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/tarif"} activeClassName={"nav-active"}>
|
||||
Tarifs
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/contact"} activeClassName={"nav-active"}>
|
||||
Contact
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Recherche-Article-formation"} activeClassName={"nav-active"}>
|
||||
Blog
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
|
||||
Marketplace
|
||||
</NavLink>
|
||||
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signin"} activeClassName={"nav-active"}>
|
||||
Connexion
|
||||
</NavLink>}
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signup"} activeClassName={"nav-active"}>
|
||||
Inscription
|
||||
</NavLink>}
|
||||
|
||||
|
||||
{String(someoneconnected) === String("1") && <NavLink exact to={"/mysy-user-account"} activeClassName={"nav-active"}>
|
||||
Mon compte
|
||||
</NavLink>}
|
||||
|
||||
|
||||
|
||||
|
||||
{typeof (stored_partner) !== "undefined" &&
|
||||
/* Connexion partner active */
|
||||
<Button className='bton_annule' onClick={logout} style={{
|
||||
color: "red", opacity: '100%', borderRadius: '5rem', fontSize: "12px", width: "100%", background: "black",
|
||||
padding: "5px"
|
||||
}}>
|
||||
<i> Deconnexion </i>
|
||||
</Button>
|
||||
|
||||
|
||||
}
|
||||
|
||||
{typeof (stored_user) != "undefined" &&
|
||||
/* Connexion utilisateur active */
|
||||
<Button className='bton_annule' onClick={logout} startIcon={<LogoutOutlinedIcon />} sx={{ color: "white", background: "green", fontSize: 10 }} >
|
||||
Deconnexion
|
||||
</Button>
|
||||
}
|
||||
</Menu>}
|
||||
|
||||
{(String(environnment) === "REC" || String(environnment) === "DEM") &&
|
||||
<Menu className="ch_burger_menu">
|
||||
|
||||
<NavLink exact to={"/"} activeClassName={"nav-active"}>
|
||||
A propos
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/fonctionnalites"} activeClassName={"nav-active"}>
|
||||
Fonctionnalites
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/tarif"} activeClassName={"nav-active"}>
|
||||
Tarifs
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/contact"} activeClassName={"nav-active"}>
|
||||
Contact
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Recherche-Article-formation"} activeClassName={"nav-active"}>
|
||||
Blog
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
|
||||
Marketplace
|
||||
</NavLink>
|
||||
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signin"} activeClassName={"nav-active"}>
|
||||
Connexion
|
||||
</NavLink>}
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signup"} activeClassName={"nav-active"}>
|
||||
Inscription
|
||||
</NavLink>}
|
||||
|
||||
|
||||
{String(someoneconnected) === String("1") && <NavLink exact to={"/mysy-user-account"} activeClassName={"nav-active"}>
|
||||
Mon compte
|
||||
</NavLink>}
|
||||
|
||||
|
||||
|
||||
|
||||
{typeof (stored_partner) !== "undefined" &&
|
||||
/* Connexion partner active */
|
||||
<Button className='bton_annule' onClick={logout} style={{
|
||||
color: "red", opacity: '100%', borderRadius: '5rem', fontSize: "12px", width: "100%", background: "black",
|
||||
padding: "5px"
|
||||
}}>
|
||||
<i> Deconnexion </i>
|
||||
</Button>
|
||||
|
||||
|
||||
}
|
||||
|
||||
{typeof (stored_user) != "undefined" &&
|
||||
/* Connexion utilisateur active */
|
||||
<Button className='bton_annule' onClick={logout} startIcon={<LogoutOutlinedIcon />} sx={{ color: "white", background: "green", fontSize: 10 }} >
|
||||
Deconnexion
|
||||
</Button>
|
||||
}
|
||||
</Menu>}
|
||||
|
||||
|
||||
{String(environnment) === "DEV" &&
|
||||
<Menu className="ch_burger_menu">
|
||||
|
||||
<NavLink exact to={"/"} activeClassName={"nav-active"}>
|
||||
A propos
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/fonctionnalites"} activeClassName={"nav-active"}>
|
||||
Fonctionnalites
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/tarif"} activeClassName={"nav-active"}>
|
||||
Tarifs
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/contact"} activeClassName={"nav-active"}>
|
||||
Contact
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Recherche-Article-formation"} activeClassName={"nav-active"}>
|
||||
Blog
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
|
||||
Marketplace
|
||||
</NavLink>
|
||||
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signin"} activeClassName={"nav-active"}>
|
||||
Connexion
|
||||
</NavLink>}
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signup"} activeClassName={"nav-active"}>
|
||||
Inscription
|
||||
</NavLink>}
|
||||
|
||||
|
||||
{String(someoneconnected) === String("1") && <NavLink exact to={"/mysy-user-account"} activeClassName={"nav-active"}>
|
||||
Mon compte
|
||||
</NavLink>}
|
||||
|
||||
|
||||
|
||||
|
||||
{typeof (stored_partner) !== "undefined" &&
|
||||
/* Connexion partner active */
|
||||
<Button className='bton_annule' onClick={logout} style={{
|
||||
color: "red", opacity: '100%', borderRadius: '5rem', fontSize: "12px", width: "100%", background: "black",
|
||||
padding: "5px"
|
||||
}}>
|
||||
<i> Deconnexion </i>
|
||||
</Button>
|
||||
|
||||
|
||||
}
|
||||
|
||||
{typeof (stored_user) != "undefined" &&
|
||||
/* Connexion utilisateur active */
|
||||
<Button className='bton_annule' onClick={logout} startIcon={<LogoutOutlinedIcon />} sx={{ color: "white", background: "green", fontSize: 10 }} >
|
||||
Deconnexion
|
||||
</Button>
|
||||
}
|
||||
</Menu>}
|
||||
</div>
|
||||
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export default New_Sidebar_Client_Intranet_2025;
|
|
@ -0,0 +1,336 @@
|
|||
import React, { useState, useEffect } from 'react';
|
||||
import { slide as Menu } from "react-burger-menu";
|
||||
import { NavLink } from "react-router-dom";
|
||||
import { getCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
import LogoutOutlinedIcon from '@mui/icons-material/LogoutOutlined';
|
||||
import Button from '@mui/material/Button';
|
||||
import { confirmAlert } from 'react-confirm-alert'; // Import
|
||||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||
import { useCookies } from "react-cookie";
|
||||
|
||||
|
||||
|
||||
const New_Sidebar_ENT_Student_2025 = () => {
|
||||
const stored_cookie = getCookie('tokenmysych');
|
||||
const history = useHistory();
|
||||
|
||||
|
||||
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']);
|
||||
const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']);
|
||||
// Gestion des Cookies
|
||||
const stored_partner = cookie_part.tokenmysypart;
|
||||
const stored_user = cookie.tokenmysych;
|
||||
|
||||
const environnment = process.env.REACT_APP_ENV
|
||||
|
||||
|
||||
|
||||
function logout_confirmation() {
|
||||
|
||||
// si c'est une connexion partner qui est active
|
||||
if (typeof (stored_partner) !== "undefined") {
|
||||
//alert(" c'est une connexion PARTTT qui est active");
|
||||
removeCookie_part('tokenmysypart', { path: '/' });
|
||||
history.push("/Connexion");
|
||||
}
|
||||
|
||||
// si c'est une connexion user qui est active
|
||||
if (typeof (stored_user) !== "undefined") {
|
||||
//alert(" c'est une connexion USERR qui est active");
|
||||
removeCookie_part('tokenmysych', { path: '/' });
|
||||
history.push("/ent_student");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function logout() {
|
||||
confirmAlert({
|
||||
title: 'Deconnexion ?',
|
||||
message: 'Confirmez la deconnexion',
|
||||
buttons: [
|
||||
{
|
||||
label: 'Oui',
|
||||
onClick: () => logout_confirmation()
|
||||
},
|
||||
{
|
||||
label: 'Non',
|
||||
|
||||
}
|
||||
],
|
||||
closeOnEscape: false,
|
||||
closeOnClickOutside: false,
|
||||
keyCodeForClose: [8, 32],
|
||||
willUnmount: () => { },
|
||||
afterClose: () => { },
|
||||
onClickOutside: () => { },
|
||||
onKeypress: () => { },
|
||||
onKeypressEscape: () => { },
|
||||
overlayClassName: "overlay-custom-class-name"
|
||||
});
|
||||
}
|
||||
|
||||
const [someoneconnected, setsomeoneconnected] = useState("0");
|
||||
const [partnerconnected, setpartnerconnected] = useState("0");
|
||||
const [userconnected, setuserconnected] = useState("0");
|
||||
|
||||
const stored_part = getCookie('tokenmysypart');
|
||||
|
||||
|
||||
function whosisconnected() {
|
||||
var local_user_connect = 0;
|
||||
var local_part_connect = 0;
|
||||
|
||||
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
|
||||
setuserconnected("0");
|
||||
local_user_connect = 0;
|
||||
} else {
|
||||
setuserconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_user_connect = 1;
|
||||
//alert(" user connected OK");
|
||||
}
|
||||
|
||||
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
|
||||
setpartnerconnected("0");
|
||||
local_part_connect = 0;
|
||||
} else {
|
||||
setpartnerconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_part_connect = 1;
|
||||
//alert(" partner connected OK");
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
var local_user_connect = 0;
|
||||
var local_part_connect = 0;
|
||||
|
||||
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
|
||||
setuserconnected("0");
|
||||
local_user_connect = 0;
|
||||
} else {
|
||||
setuserconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_user_connect = 1;
|
||||
//alert(" user connected OK");
|
||||
}
|
||||
|
||||
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
|
||||
setpartnerconnected("0");
|
||||
local_part_connect = 0;
|
||||
} else {
|
||||
setpartnerconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_part_connect = 1;
|
||||
//alert(" partner connected OK");
|
||||
}
|
||||
}, []);
|
||||
|
||||
return (
|
||||
// Pass on our props
|
||||
<div>
|
||||
|
||||
{String(environnment) === "PROD" &&
|
||||
<Menu className="ch_burger_menu">
|
||||
|
||||
<NavLink exact to={"/"} activeClassName={"nav-active"}>
|
||||
A propos
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/fonctionnalites"} activeClassName={"nav-active"}>
|
||||
Fonctionnalites
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/tarif"} activeClassName={"nav-active"}>
|
||||
Tarifs
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/contact"} activeClassName={"nav-active"}>
|
||||
Contact
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Recherche-Article-formation"} activeClassName={"nav-active"}>
|
||||
Blog
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
|
||||
Marketplace
|
||||
</NavLink>
|
||||
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signin"} activeClassName={"nav-active"}>
|
||||
Connexion
|
||||
</NavLink>}
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signup"} activeClassName={"nav-active"}>
|
||||
Inscription
|
||||
</NavLink>}
|
||||
|
||||
|
||||
{String(someoneconnected) === String("1") && <NavLink exact to={"/mysy-user-account"} activeClassName={"nav-active"}>
|
||||
Mon compte
|
||||
</NavLink>}
|
||||
|
||||
|
||||
|
||||
|
||||
{typeof (stored_partner) !== "undefined" &&
|
||||
/* Connexion partner active */
|
||||
<Button className='bton_annule' onClick={logout} style={{
|
||||
color: "red", opacity: '100%', borderRadius: '5rem', fontSize: "12px", width: "100%", background: "black",
|
||||
padding: "5px"
|
||||
}}>
|
||||
<i> Deconnexion </i>
|
||||
</Button>
|
||||
|
||||
|
||||
}
|
||||
|
||||
{typeof (stored_user) != "undefined" &&
|
||||
/* Connexion utilisateur active */
|
||||
<Button className='bton_annule' onClick={logout} startIcon={<LogoutOutlinedIcon />} sx={{ color: "white", background: "green", fontSize: 10 }} >
|
||||
Deconnexion
|
||||
</Button>
|
||||
}
|
||||
</Menu>}
|
||||
|
||||
{(String(environnment) === "REC" || String(environnment) === "DEM") &&
|
||||
<Menu className="ch_burger_menu">
|
||||
|
||||
<NavLink exact to={"/"} activeClassName={"nav-active"}>
|
||||
A propos
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/fonctionnalites"} activeClassName={"nav-active"}>
|
||||
Fonctionnalites
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/tarif"} activeClassName={"nav-active"}>
|
||||
Tarifs
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/contact"} activeClassName={"nav-active"}>
|
||||
Contact
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Recherche-Article-formation"} activeClassName={"nav-active"}>
|
||||
Blog
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
|
||||
Marketplace
|
||||
</NavLink>
|
||||
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signin"} activeClassName={"nav-active"}>
|
||||
Connexion
|
||||
</NavLink>}
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signup"} activeClassName={"nav-active"}>
|
||||
Inscription
|
||||
</NavLink>}
|
||||
|
||||
|
||||
{String(someoneconnected) === String("1") && <NavLink exact to={"/mysy-user-account"} activeClassName={"nav-active"}>
|
||||
Mon compte
|
||||
</NavLink>}
|
||||
|
||||
|
||||
|
||||
|
||||
{typeof (stored_partner) !== "undefined" &&
|
||||
/* Connexion partner active */
|
||||
<Button className='bton_annule' onClick={logout} style={{
|
||||
color: "red", opacity: '100%', borderRadius: '5rem', fontSize: "12px", width: "100%", background: "black",
|
||||
padding: "5px"
|
||||
}}>
|
||||
<i> Deconnexion </i>
|
||||
</Button>
|
||||
|
||||
|
||||
}
|
||||
|
||||
{typeof (stored_user) != "undefined" &&
|
||||
/* Connexion utilisateur active */
|
||||
<Button className='bton_annule' onClick={logout} startIcon={<LogoutOutlinedIcon />} sx={{ color: "white", background: "green", fontSize: 10 }} >
|
||||
Deconnexion
|
||||
</Button>
|
||||
}
|
||||
</Menu>}
|
||||
|
||||
|
||||
{String(environnment) === "DEV" &&
|
||||
<Menu className="ch_burger_menu">
|
||||
|
||||
<NavLink exact to={"/"} activeClassName={"nav-active"}>
|
||||
A propos
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/fonctionnalites"} activeClassName={"nav-active"}>
|
||||
Fonctionnalites
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/tarif"} activeClassName={"nav-active"}>
|
||||
Tarifs
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/contact"} activeClassName={"nav-active"}>
|
||||
Contact
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Recherche-Article-formation"} activeClassName={"nav-active"}>
|
||||
Blog
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
|
||||
Marketplace
|
||||
</NavLink>
|
||||
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signin"} activeClassName={"nav-active"}>
|
||||
Connexion
|
||||
</NavLink>}
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signup"} activeClassName={"nav-active"}>
|
||||
Inscription
|
||||
</NavLink>}
|
||||
|
||||
|
||||
{String(someoneconnected) === String("1") && <NavLink exact to={"/mysy-user-account"} activeClassName={"nav-active"}>
|
||||
Mon compte
|
||||
</NavLink>}
|
||||
|
||||
|
||||
|
||||
|
||||
{typeof (stored_partner) !== "undefined" &&
|
||||
/* Connexion partner active */
|
||||
<Button className='bton_annule' onClick={logout} style={{
|
||||
color: "red", opacity: '100%', borderRadius: '5rem', fontSize: "12px", width: "100%", background: "black",
|
||||
padding: "5px"
|
||||
}}>
|
||||
<i> Deconnexion </i>
|
||||
</Button>
|
||||
|
||||
|
||||
}
|
||||
|
||||
{typeof (stored_user) != "undefined" &&
|
||||
/* Connexion utilisateur active */
|
||||
<Button className='bton_annule' onClick={logout} startIcon={<LogoutOutlinedIcon />} sx={{ color: "white", background: "green", fontSize: 10 }} >
|
||||
Deconnexion
|
||||
</Button>
|
||||
}
|
||||
</Menu>}
|
||||
</div>
|
||||
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export default New_Sidebar_ENT_Student_2025;
|
|
@ -176,7 +176,7 @@ const Partner_Header = () => {
|
|||
|
||||
|
||||
}
|
||||
history.push("/intranet");
|
||||
history.push("/ent_student");
|
||||
}
|
||||
|
||||
return (
|
||||
|
@ -197,7 +197,7 @@ const Partner_Header = () => {
|
|||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
top: '7rem',
|
||||
top: '20rem',
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
|
@ -214,7 +214,7 @@ const Partner_Header = () => {
|
|||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
Confirmez la deconnexion <br />
|
||||
Confirmez la deconnexion de l'Intranet<br />
|
||||
|
||||
|
||||
</DialogContentText>
|
||||
|
|
|
@ -316,6 +316,7 @@ function Student_Account() {
|
|||
formData.append('File', selectedFile);
|
||||
formData.append("token", stored_user);
|
||||
formData.append("type", "user");
|
||||
// formData.append("apprenant_id", apprenant_id);
|
||||
fetch(
|
||||
process.env.REACT_APP_API_URL + "myclass/api/recordImage/",
|
||||
{
|
||||
|
@ -392,7 +393,7 @@ function Student_Account() {
|
|||
<hr className="my_hr" />
|
||||
<div className="sousmenu" onClick={funct_menu_mes_formations}> MES FORMATIONS</div>
|
||||
<hr className="my_hr" />
|
||||
<div className="sousmenu" onClick={funct_menu_mon_planning}> MON PLANNING</div>
|
||||
{/* <div className="sousmenu" onClick={funct_menu_mon_planning}> MON PLANNING</div>
|
||||
<hr className="my_hr" />
|
||||
<div className="sousmenu" onClick={"displayProfil_Objectif"}> MES NOTES</div>
|
||||
<hr className="my_hr" />
|
||||
|
@ -400,6 +401,7 @@ function Student_Account() {
|
|||
<hr className="my_hr" />
|
||||
<div className="sousmenu" onClick={displayProfil_Modules_Mes_Documents}> MODULE TOUS DOCUMENTS</div>
|
||||
<hr className="my_hr" />
|
||||
*/}
|
||||
|
||||
{/* <div className="sousmenu" onClick={deletemyaccount}> SUPPRIMER MON COMPTE</div>
|
||||
<hr className="my_hr" />*/}
|
||||
|
@ -429,10 +431,10 @@ function Student_Account() {
|
|||
|
||||
</div>}
|
||||
|
||||
{connected_user_data && connected_user_data.type && <h1 style={{ textAlign: 'center' }}> ESPACE ENT INTRANET - {connected_user_data.type} - apprenant_id = {apprenant_id} </h1>}
|
||||
{connected_user_data && connected_user_data.type && <h1 style={{ textAlign: 'center' }}> ESPACE ENT </h1>}
|
||||
|
||||
|
||||
{String(menu) === String("affichage") && <UpdateUserInfo />}
|
||||
{String(menu) === String("affichage") && <UpdateUserInfo apprenant_id={apprenant_id}/>}
|
||||
|
||||
{String(menu) === String("recherche") && <UserHistoryRecherche />}
|
||||
|
||||
|
|
|
@ -962,8 +962,6 @@ function UpdateParnterInfo(props) {
|
|||
form.append("indicateur_4_taille", p_indicateur4_taille);
|
||||
form.append("indicateur_4_color", p_indicateur4_color);
|
||||
|
||||
|
||||
|
||||
form.append("contact_public_email", p_contact_public_email);
|
||||
form.append("contact_public_telephone", p_contact_public_telephone);
|
||||
|
||||
|
@ -975,6 +973,21 @@ function UpdateParnterInfo(props) {
|
|||
form.append("indicateur_4_gras", "400");
|
||||
|
||||
|
||||
if (partner_catalog_pub_url)
|
||||
form.append("partner_catalog_pub_url", partner_catalog_pub_url);
|
||||
else
|
||||
form.append("partner_catalog_pub_url", "");
|
||||
|
||||
if (partner_intranet_pub_url)
|
||||
form.append("partner_intranet_pub_url", partner_catalog_pub_url);
|
||||
else
|
||||
form.append("partner_intranet_pub_url", "");
|
||||
|
||||
if (partner_ent_student_url)
|
||||
form.append("partner_ent_student_url", partner_ent_student_url);
|
||||
else
|
||||
form.append("partner_ent_student_url", "");
|
||||
|
||||
|
||||
form.append("_id", selected_catalog_pub_config_id);
|
||||
|
||||
|
@ -1737,6 +1750,7 @@ function UpdateParnterInfo(props) {
|
|||
|
||||
const [partner_catalog_pub_url, setpartner_catalog_pub_url] = useState("");
|
||||
const [partner_intranet_pub_url, setpartner_intranet_pub_url] = useState("");
|
||||
const [partner_ent_student_url, setpartner_ent_student_url] = useState("");
|
||||
|
||||
async function submenu_donnee_catalog_pub() {
|
||||
Get_Partner_Catalog_Pub_Config();
|
||||
|
@ -1744,9 +1758,11 @@ function UpdateParnterInfo(props) {
|
|||
var new_nom = (p_nom).replace(/[^0-9a-z]/gi, '').toLocaleLowerCase();
|
||||
var new_catalog_url = window.location.protocol + "//" + new_nom + "." + process.env.REACT_APP_PART_PUB_CATALOG_DOMAIN + "moncatalog";
|
||||
var new_intranet_url = window.location.protocol + "//" + new_nom + "." + process.env.REACT_APP_PART_PUB_CATALOG_DOMAIN + "intranet";
|
||||
var new_ent_student = window.location.protocol + "//" + new_nom + "." + process.env.REACT_APP_PART_PUB_CATALOG_DOMAIN + "ent_student";
|
||||
|
||||
setpartner_catalog_pub_url(new_catalog_url);
|
||||
setpartner_intranet_pub_url(new_intranet_url);
|
||||
setpartner_ent_student_url(new_ent_student);
|
||||
|
||||
setsubmenu("submenu_donnee_catalog_pub");
|
||||
}
|
||||
|
@ -2175,7 +2191,7 @@ function UpdateParnterInfo(props) {
|
|||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.warn('Not good man :( Get_Partner_Catalog_Pub_Config = ', error);
|
||||
alert(" Impossible de récuperer la configuration du catalogue public ")
|
||||
alert(" Impossible de récuperer la configuration de vos sites publics ")
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -2602,16 +2618,16 @@ function UpdateParnterInfo(props) {
|
|||
form.append("_id", selected_catalog_pub_config_id);
|
||||
form.append("banniere_img", img_bg_file);
|
||||
|
||||
// console.log("Add_Update_Catalog_Pub_Banniere form == ", form);
|
||||
// console.log("Add_Update_Catalog_Pub_Banniere form == ", form);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Update_Partner_Catalog_Pub_Config/";
|
||||
|
||||
// console.log("myurl== ", myurl);
|
||||
// console.log("myurl== ", myurl);
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
setLoading(false);
|
||||
// console.log(" In Add_Update_Catalog_Pub_Banniere res.data.status = " + res.data.status);
|
||||
// console.log(" In Add_Update_Catalog_Pub_Banniere res.data.status = " + res.data.status);
|
||||
//console.log(" In Add_Update_Catalog_Pub_Banniere res.data.message r_class = " + res.data.message);
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
|
@ -3362,7 +3378,7 @@ function UpdateParnterInfo(props) {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> Choisir une couleur</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> Choisir une couleur</DialogTitle>
|
||||
<DialogContent className="DialogContent_color_pickup_width" >
|
||||
<DialogContentText>
|
||||
|
||||
|
@ -3429,7 +3445,7 @@ function UpdateParnterInfo(props) {
|
|||
{String(is_partner_admin_account) === "1" && <Button variant="outlined" onClick={submenu_donnee_facturation} className="detail_submenu" id='submenu_donnee_facturation' name='submenu_donnee_facturation'>DONNEES FACTURATION</Button>}
|
||||
<Button variant="outlined" onClick={submenu_donnee_securite} className="detail_submenu" id='submenu_donnee_securite' name='submenu_donnee_securite'>SECURITE</Button>
|
||||
{/*<Button variant="outlined" onClick={submenu_contact} className="detail_submenu" id='submenu_contact' name='submenu_contact'>Contact & Adresses</Button>*/}
|
||||
{String(is_partner_admin_account) === "1" && <Button variant="outlined" onClick={submenu_donnee_catalog_pub} className="detail_submenu" id='submenu_donnee_catalog_pub' name='submenu_donnee_catalog_pub'>CATALOG. PUB</Button>}
|
||||
{String(is_partner_admin_account) === "1" && <Button variant="outlined" onClick={submenu_donnee_catalog_pub} className="detail_submenu" id='submenu_donnee_catalog_pub' name='submenu_donnee_catalog_pub'>SITES PUBLICS</Button>}
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -3447,7 +3463,7 @@ function UpdateParnterInfo(props) {
|
|||
</div>}
|
||||
|
||||
{String(submenu).trim() === "submenu_donnee_catalog_pub" && <div className="training_data">
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Configuration du Catalogue public </h3>
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Configuration des sites publics </h3>
|
||||
|
||||
|
||||
<div className="partner_catalog_pub">
|
||||
|
@ -3455,7 +3471,7 @@ function UpdateParnterInfo(props) {
|
|||
<div className="div_row">
|
||||
<TextField
|
||||
name="config_url"
|
||||
label="lien web (url) mon catalogue "
|
||||
label="lien web (url) Catalogue "
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
InputProps={{
|
||||
|
@ -3484,8 +3500,8 @@ function UpdateParnterInfo(props) {
|
|||
</div>
|
||||
<div className="div_row">
|
||||
<TextField
|
||||
name="config_url"
|
||||
label="lien web (url) mon intranet "
|
||||
name="config_url_intranet"
|
||||
label="lien web (url) Intranet "
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '20%' }}
|
||||
InputProps={{
|
||||
|
@ -3513,6 +3529,40 @@ function UpdateParnterInfo(props) {
|
|||
</Button>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row">
|
||||
<TextField
|
||||
name="config_url_ent_student"
|
||||
label="lien web (url) Espace numérique de travail (ENT) "
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '20%' }}
|
||||
InputProps={{
|
||||
startAdornment: (
|
||||
<InputAdornment position="start">
|
||||
<LanguageIcon />
|
||||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
value={partner_ent_student_url}
|
||||
|
||||
/> <Button
|
||||
|
||||
onClick={(event) => {
|
||||
window.open(
|
||||
String(partner_ent_student_url),
|
||||
'_blank'
|
||||
);
|
||||
}}
|
||||
|
||||
style={{ marginTop: '10px' }}
|
||||
>
|
||||
<OpenInNewIcon />
|
||||
|
||||
</Button>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div className="div_row">
|
||||
<hr className="hr_break" />
|
||||
</div>
|
||||
|
@ -3520,7 +3570,6 @@ function UpdateParnterInfo(props) {
|
|||
|
||||
{String(submenu_catalog_pub) === String("design") &&
|
||||
|
||||
|
||||
<div style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row">
|
||||
|
@ -4749,7 +4798,7 @@ function UpdateParnterInfo(props) {
|
|||
|
||||
{Partner_Catalog_Pub_banniere && String(Partner_Catalog_Pub_banniere).length > 20 && <div className="div_row" style={{ "border": "None" }}>
|
||||
Bannière actuelle : <br />
|
||||
<img src={Partner_Catalog_Pub_banniere} alt={""} className="img_bg_file_css" />
|
||||
<img src={Partner_Catalog_Pub_banniere} alt={""} className="img_bg_file_css" />
|
||||
<br />
|
||||
<br />
|
||||
<Button variant="contained" className="btn_enreg" onClick={Delete_Catalog_Pub_Banniere_Img}>Supprimer Bannière
|
||||
|
@ -6014,27 +6063,27 @@ function UpdateParnterInfo(props) {
|
|||
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div>
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div className="div_row22">
|
||||
{fields1desabled == false && <div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={RecordData}>Enregistrer</Button>
|
||||
</div>
|
||||
<div className="div_row_droite">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif" onClick={annuler_change_user_data}>Annuler</Button>
|
||||
</div>
|
||||
{fields1desabled == false && <div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={RecordData}>Enregistrer</Button>
|
||||
</div>
|
||||
<div className="div_row_droite">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif" onClick={annuler_change_user_data}>Annuler</Button>
|
||||
</div>
|
||||
|
||||
}
|
||||
{fields1desabled == true &&
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif" onClick={enablefieds1}>Editer</Button>
|
||||
}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div className="div_row"> </div>
|
||||
}
|
||||
{fields1desabled == true &&
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif" onClick={enablefieds1}>Editer</Button>
|
||||
}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div className="div_row"> </div>
|
||||
|
||||
<div className="titre1"> Accès E-Learning </div>
|
||||
<div style={{ display: 'flex', flexDirection: 'row', gap: '20px', width: '100%', flexWrap: 'wrap', justifyContent: 'left' }} onChange={DataUpdated}>
|
||||
|
|
|
@ -21,9 +21,11 @@ import TwitterIcon from '@mui/icons-material/Twitter';
|
|||
import FacebookIcon from '@mui/icons-material/Facebook';
|
||||
import LinkedInIcon from '@mui/icons-material/LinkedIn';
|
||||
import axios from "axios";
|
||||
import { propsToClassKey } from "@mui/styles";
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
|
||||
|
||||
function UpdateUserInfo() {
|
||||
function UpdateUserInfo(props) {
|
||||
const history = useHistory();
|
||||
const [myApiResponse, setmyApiResponse] = useState("");
|
||||
const [result, setResult] = useState("");
|
||||
|
@ -118,6 +120,8 @@ function UpdateUserInfo() {
|
|||
var mylocaltraining = JSON.parse(res.data.message);
|
||||
if (mylocaltraining) {
|
||||
|
||||
console.log(" #### mylocaltraining === ", mylocaltraining)
|
||||
|
||||
if (mylocaltraining.adr_city) {
|
||||
document.getElementsByName("adr_city")[0].value = mylocaltraining.adr_city;
|
||||
document.getElementsByName("adr_city")[0].disabled = true;
|
||||
|
@ -173,14 +177,14 @@ function UpdateUserInfo() {
|
|||
document.getElementsByName("adr_street")[0].style.backgroundColor = "#ECEFF1";
|
||||
}
|
||||
|
||||
if (mylocaltraining.surname) {
|
||||
document.getElementsByName("surname")[0].value = mylocaltraining.surname;
|
||||
if (mylocaltraining.prenom) {
|
||||
document.getElementsByName("surname")[0].value = mylocaltraining.prenom;
|
||||
document.getElementsByName("surname")[0].disabled = true;
|
||||
document.getElementsByName("surname")[0].style.backgroundColor = "#ECEFF1";
|
||||
}
|
||||
|
||||
if (mylocaltraining.last_name) {
|
||||
document.getElementsByName("last_name")[0].value = mylocaltraining.last_name;
|
||||
if (mylocaltraining.nom) {
|
||||
document.getElementsByName("last_name")[0].value = mylocaltraining.nom;
|
||||
document.getElementsByName("last_name")[0].disabled = true;
|
||||
document.getElementsByName("last_name")[0].style.backgroundColor = "#ECEFF1";
|
||||
}
|
||||
|
@ -298,9 +302,11 @@ function UpdateUserInfo() {
|
|||
}
|
||||
|
||||
|
||||
const [isLoading, setLoading] = useState();
|
||||
|
||||
function RecordData() {
|
||||
const formData = new FormData();
|
||||
const url = process.env.REACT_APP_API_URL + "myclass/api/update_user_account/";
|
||||
const url = process.env.REACT_APP_API_URL + "myclass/api/Get_Ent_Student_update_user_account/";
|
||||
|
||||
var adr_city = document.getElementsByName("adr_city")[0].value;
|
||||
var adr_zip = document.getElementsByName("adr_zip")[0].value;
|
||||
|
@ -310,8 +316,8 @@ function UpdateUserInfo() {
|
|||
var link_linkedin = document.getElementsByName("link_linkedin")[0].value;
|
||||
var link_twitter = document.getElementsByName("link_twitter")[0].value;
|
||||
var adr_street = document.getElementsByName("adr_street")[0].value;
|
||||
var surname = document.getElementsByName("surname")[0].value;
|
||||
var last_name = document.getElementsByName("last_name")[0].value;
|
||||
var prenom = document.getElementsByName("surname")[0].value;
|
||||
var nom = document.getElementsByName("last_name")[0].value;
|
||||
|
||||
|
||||
formData.append('token', stored_user);
|
||||
|
@ -322,11 +328,13 @@ function UpdateUserInfo() {
|
|||
formData.append('link_facebook', link_facebook);
|
||||
formData.append('link_twitter', link_twitter);
|
||||
formData.append('adr_street', adr_street);
|
||||
formData.append('surname', surname);
|
||||
formData.append('last_name', last_name);
|
||||
formData.append('prenom', prenom);
|
||||
formData.append('nom', nom);
|
||||
formData.append('link_linkedin', link_linkedin);
|
||||
|
||||
formData.append('apprenant_id', props.apprenant_id);
|
||||
|
||||
setLoading(true);
|
||||
fetch(
|
||||
url,
|
||||
{
|
||||
|
@ -336,22 +344,39 @@ function UpdateUserInfo() {
|
|||
)
|
||||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
setLoading(false);
|
||||
//console.log('Success:', result['message'], "result['status'] = ", result['status']);
|
||||
setmyApiResponse(result['status']);
|
||||
setResult(result['message']);
|
||||
if (String(result['status']) === String("true")) {
|
||||
settestval("true");
|
||||
desablefield1();
|
||||
}else if (String(result['status']) === String("Err_Connexion")) {
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("success");
|
||||
|
||||
} else if (String(result['status']) === String("false")) {
|
||||
setmyApiResponse("false");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
else if (String(result['status']) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + result['message']);
|
||||
history.push("/Connexion");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
setmyApiResponse("false");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible de mettre à jour les données");
|
||||
setalert_type("error");
|
||||
});
|
||||
|
||||
|
||||
|
@ -396,7 +421,7 @@ function UpdateUserInfo() {
|
|||
function UpdateUserPwd() {
|
||||
|
||||
setupdatepwd(false);
|
||||
const url = process.env.REACT_APP_API_URL + "myclass/api/change_user_pwd/";
|
||||
const url = process.env.REACT_APP_API_URL + "myclass/api/Get_Ent_Student_change_user_pwd/";
|
||||
const formData = new FormData();
|
||||
formData.append('token', stored_user);
|
||||
|
||||
|
@ -413,8 +438,9 @@ function UpdateUserInfo() {
|
|||
formData.append('pwd', pwd);
|
||||
formData.append('new_pwd', new_pwd);
|
||||
formData.append('conf_new_pwd', conf_new_pwd);
|
||||
formData.append('apprenant_id', props.apprenant_id);
|
||||
|
||||
|
||||
setLoading(true);
|
||||
fetch(
|
||||
url,
|
||||
{
|
||||
|
@ -424,16 +450,26 @@ function UpdateUserInfo() {
|
|||
)
|
||||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
setLoading(false);
|
||||
//console.log('Success:', result['message'], "result['status'] = ", result['status']);
|
||||
setmyApiResponse(result['status']);
|
||||
setResult(result['message']);
|
||||
if (String(result['status']) == String("true")) {
|
||||
setupdatepwd(true);
|
||||
setfields1desabled(true);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("success");
|
||||
} else {
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("error");
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
setmyApiResponse("false");
|
||||
setupdatepwd(false);
|
||||
|
@ -498,32 +534,53 @@ function UpdateUserInfo() {
|
|||
};
|
||||
|
||||
|
||||
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("");
|
||||
}
|
||||
|
||||
|
||||
return (
|
||||
<div className='updateuserinfo'>
|
||||
{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*/}
|
||||
|
||||
|
||||
<div className="titre1"> Données personnelles </div>
|
||||
<hr className="my_hr"/>
|
||||
<hr className="my_hr" />
|
||||
|
||||
{String(testval) == String("true") && <div className="okUpdateData">
|
||||
Les données ont été mises à jour.
|
||||
</div>
|
||||
}
|
||||
|
||||
{String(testval) == String("false") && <div className="koUpdateData">
|
||||
Erreur mise à jour.
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
|
||||
<TextField
|
||||
required
|
||||
label="Nom"
|
||||
name="last_name"
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
sx={{ m: 1, width: '48%', fontFamily: 'DM Sans' }}
|
||||
InputProps={{
|
||||
startAdornment: (
|
||||
<InputAdornment position="start">
|
||||
|
@ -539,7 +596,7 @@ function UpdateUserInfo() {
|
|||
name="surname"
|
||||
label="Prénom"
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
sx={{ m: 1, width: '48%', fontFamily: 'DM Sans' }}
|
||||
InputProps={{
|
||||
startAdornment: (
|
||||
<InputAdornment position="start">
|
||||
|
@ -646,7 +703,7 @@ function UpdateUserInfo() {
|
|||
/>
|
||||
<br />
|
||||
<TextField
|
||||
className="texte_area"
|
||||
className="texte_area"
|
||||
name="adr_zip"
|
||||
label="Code Postal"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
|
@ -661,7 +718,7 @@ function UpdateUserInfo() {
|
|||
/>
|
||||
|
||||
<TextField
|
||||
className="texte_area"
|
||||
className="texte_area"
|
||||
name="adr_city"
|
||||
label="Ville"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
|
@ -677,7 +734,7 @@ function UpdateUserInfo() {
|
|||
<br />
|
||||
|
||||
<TextField
|
||||
className="texte_area"
|
||||
className="texte_area"
|
||||
name="adr_country"
|
||||
label="Pays"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
|
@ -709,24 +766,14 @@ function UpdateUserInfo() {
|
|||
</div>
|
||||
</Box>
|
||||
|
||||
<hr className="my_hr"/>
|
||||
<div style={{"width":"10%"}}> </div>
|
||||
<hr className="my_hr" />
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
<div className="titre1"> Securité </div>
|
||||
<hr className="my_hr"/>
|
||||
<hr className="my_hr" />
|
||||
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 } }}>
|
||||
|
||||
{updatepwd == false && <div className="koUpdateData">
|
||||
Erreur mise à jour.
|
||||
</div>
|
||||
}
|
||||
|
||||
{updatepwd == true && <div className="okUpdateData">
|
||||
La mise à jour été faite
|
||||
</div>
|
||||
}
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 } }}>
|
||||
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<InputLabel htmlFor="outlined-adornment-password"></InputLabel>
|
||||
<OutlinedInput
|
||||
|
@ -751,7 +798,7 @@ function UpdateUserInfo() {
|
|||
</FormControl>
|
||||
<br />
|
||||
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<InputLabel htmlFor="outlined-adornment-password2"></InputLabel>
|
||||
<OutlinedInput
|
||||
id="new_pwd"
|
||||
|
|
|
@ -160,7 +160,7 @@ const Header = () => {
|
|||
setsomeoneconnected("0");
|
||||
setDialog_1_open(false);
|
||||
history.push("/recherche-formation");
|
||||
}
|
||||
}
|
||||
|
||||
function user_logout_confirmation() {
|
||||
/* si c'est une connexion partner qui est active */
|
||||
|
@ -197,7 +197,7 @@ const Header = () => {
|
|||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
top: '7rem',
|
||||
top: '20rem',
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
|
|
|
@ -0,0 +1,322 @@
|
|||
import React, { useState, useEffect } from 'react';
|
||||
import './Header.css';
|
||||
import moment from "moment";
|
||||
import { getCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
import Header_MySy_Logo from '../../img_new_design_2025/header_mysy_logo.png';
|
||||
import Header_User from '../../img_new_design_2025/header_user.png';
|
||||
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 { useCookies } from "react-cookie";
|
||||
|
||||
|
||||
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';
|
||||
|
||||
|
||||
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 Header_Client_Intranet = () => {
|
||||
const history = useHistory();
|
||||
const classes = useStyles();
|
||||
const [userconnected, setuserconnected] = useState("0");
|
||||
const [someoneconnected, setsomeoneconnected] = useState("0");
|
||||
const [partnerconnected, setpartnerconnected] = useState("0");
|
||||
const stored_user = getCookie('tokenmysych');
|
||||
const stored_part = getCookie('tokenmysypart');
|
||||
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych'], { path: '/' });
|
||||
const [partcookie, setpartCookie, removepartCookie] = useCookies(['tokenmysypart'], { path: '/' });
|
||||
const [PartnerMenu, setPartnerMenu] = React.useState(null);
|
||||
const [AccountMenu, setAccountMenu] = React.useState(null);
|
||||
const [ProduitMenu, setproduitMenu] = React.useState(null);
|
||||
|
||||
useEffect(() => {
|
||||
var local_user_connect = 0;
|
||||
var local_part_connect = 0;
|
||||
|
||||
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
|
||||
setuserconnected("0");
|
||||
local_user_connect = 0;
|
||||
} else {
|
||||
setuserconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_user_connect = 1;
|
||||
//alert(" user connected OK");
|
||||
}
|
||||
|
||||
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
|
||||
setpartnerconnected("0");
|
||||
local_part_connect = 0;
|
||||
} else {
|
||||
setpartnerconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_part_connect = 1;
|
||||
//alert(" partner connected OK");
|
||||
}
|
||||
|
||||
}, []);
|
||||
|
||||
const handleAccountCreation = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/signup/")
|
||||
};
|
||||
|
||||
|
||||
const handleMyAccount = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/mysy-user-account")
|
||||
};
|
||||
|
||||
const handleAccountConnexion = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/signin/")
|
||||
};
|
||||
|
||||
|
||||
const handleMyPartnerAccount = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/Partner")
|
||||
};
|
||||
|
||||
|
||||
function handleAccountConnexion_v2() {
|
||||
|
||||
if (String(userconnected) === String("1")) {
|
||||
handleMyAccount();
|
||||
}
|
||||
else if (String(partnerconnected) === String("1")) {
|
||||
handleMyPartnerAccount();
|
||||
}
|
||||
}
|
||||
|
||||
const [Dialog_1_open, setDialog_1_open] = React.useState(false);
|
||||
const Dialog_1_handleClose = () => {
|
||||
};
|
||||
|
||||
const Dialog_1_handleClose_buton = () => {
|
||||
setDialog_1_open(false);
|
||||
};
|
||||
|
||||
function part_logout_confirmation() {
|
||||
/* si c'est une connexion partner qui est active */
|
||||
|
||||
if (typeof (stored_part) != "undefined") {
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
var acces_right_token_name = stored_cookie + "_uar";
|
||||
|
||||
setpartCookie("tokenmysypart", "", { path: '/' });
|
||||
setpartCookie(acces_right_token_name, "", { path: '/' });
|
||||
removeCookie(acces_right_token_name, { path: '/' });
|
||||
|
||||
|
||||
setpartCookie("mysy_session_display_view", "", { path: '/' });
|
||||
setpartCookie("mysy_menu_gauche_reduit", "", { path: '/' });
|
||||
setpartCookie("mysy_catalog_data_row_grouped_by", "", { path: '/' });
|
||||
|
||||
removeCookie("tokenmysypart", { path: '/' });
|
||||
removeCookie("mysy_session_display_view", { path: '/' });
|
||||
removeCookie("mysy_menu_gauche_reduit", { path: '/' });
|
||||
removeCookie("mysy_catalog_data_row_grouped_by", { path: '/' });
|
||||
|
||||
|
||||
}
|
||||
setsomeoneconnected("0");
|
||||
setDialog_1_open(false);
|
||||
history.push("/recherche-formation");
|
||||
}
|
||||
|
||||
function user_logout_confirmation() {
|
||||
/* si c'est une connexion partner qui est active */
|
||||
if (typeof (stored_user) != "undefined") {
|
||||
const stored_cookie = getCookie('tokenmysych');
|
||||
var acces_right_token_name = stored_cookie + "_uar";
|
||||
|
||||
setpartCookie("tokenmysych", "", { path: '/' });
|
||||
setpartCookie(acces_right_token_name, "", { path: '/' });
|
||||
removeCookie(acces_right_token_name, { path: '/' });
|
||||
|
||||
removeCookie("tokenmysych", { path: '/' });
|
||||
|
||||
|
||||
}
|
||||
history.push("/intranet");
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='header_automatic_files'>
|
||||
|
||||
{/*** GESTION Deconnexion */}
|
||||
<Dialog
|
||||
open={Dialog_1_open}
|
||||
// onClose={Dialog_1_handleClose}
|
||||
className="displaypartnersession"
|
||||
static
|
||||
onClose={() => null}
|
||||
|
||||
PaperProps={{
|
||||
|
||||
|
||||
className: classes.paper, // Apply the paper style
|
||||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
top: '20rem',
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
hideBackdrop={true}
|
||||
disableScrollLock
|
||||
classes={{
|
||||
paper: classes.dialog
|
||||
}}
|
||||
|
||||
PaperComponent={PaperComponent}
|
||||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
Confirmez la deconnexion <br />
|
||||
|
||||
|
||||
</DialogContentText>
|
||||
|
||||
</DialogContent>
|
||||
|
||||
<DialogActions>
|
||||
|
||||
<IconButton
|
||||
//autoFocus
|
||||
onClick={Dialog_1_handleClose_buton}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button
|
||||
|
||||
onClick={(e) => {
|
||||
if (partnerconnected && String(partnerconnected) === '1')
|
||||
part_logout_confirmation();
|
||||
|
||||
if (userconnected && String(userconnected) === '1')
|
||||
user_logout_confirmation();
|
||||
|
||||
}}
|
||||
|
||||
className="bton_enreg_dialog">Deconnexion</Button>
|
||||
</div>
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
<Button onClick={Dialog_1_handleClose_buton} className="bton_annule_dialog" >Annuler</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
|
||||
{/*** Fin GESTION Deconnexion */}
|
||||
|
||||
<header className="header_new_2025">
|
||||
<div className="header-content">
|
||||
<div className="logo-menu">
|
||||
<img src={Header_MySy_Logo} alt="Logo MySy" className="logo" style={{ cursor: 'pointer' }} onClick={(e) => {
|
||||
// e.preventDefault();
|
||||
history.push("/");
|
||||
}} />
|
||||
|
||||
<nav className="menu-list">
|
||||
<a href="/apropos" className="menu-link">À propos</a>
|
||||
<a href="/fonctionnalites" className="menu-link">Fonctionnalités</a>
|
||||
<a href="#" className="menu-link">
|
||||
<nav onClick={(e) => {
|
||||
history.push("/tarif/#debut");
|
||||
// window.open("/tarif/#debut", "_self");
|
||||
}}>Tarifs </nav>
|
||||
</a>
|
||||
<a href="/Recherche-Article-formation" className="menu-link">Blog</a>
|
||||
<div className="separator"></div>
|
||||
<a href="/marketplace" className="menu-link">Marketplace</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div className="cta-login">
|
||||
<div className="cta-buttons">
|
||||
<button className="btn btn-primary" onClick={(e) => {
|
||||
e.preventDefault();
|
||||
var date2 = new Date();
|
||||
const format2 = "YYYY-MM";
|
||||
var dateTime2 = moment(date2).format(format2);
|
||||
window.open(
|
||||
"https://calendly.com/mysytraining/demo-mysy-training-solution?month=" + String(dateTime2),
|
||||
'_blank'
|
||||
);
|
||||
}}>Réserver une démo</button>
|
||||
|
||||
</div>
|
||||
<div className="cta-buttons hide_on_mobile">
|
||||
{String(someoneconnected) !== String("1") && <button className="btn btn-secondary" onClick={handleAccountCreation}>Créer un compte</button>}
|
||||
|
||||
{String(someoneconnected) === String("1") && <button className="btn btn-secondary" onClick={handleAccountConnexion_v2}>Mon compte</button>}
|
||||
|
||||
</div>
|
||||
<div className="separator hide_on_mobile"></div>
|
||||
{String(someoneconnected) !== String("1") && <div className="login-link hide_on_mobile" onClick={handleAccountConnexion}>
|
||||
<img src={Header_User} alt="User icon" className="user-icon hide_on_mobile" />
|
||||
<span className='hide_on_mobile'>Connexion</span>
|
||||
</div>}
|
||||
|
||||
{String(someoneconnected) === String("1") && <div className="login-link hide_on_mobile" onClick={(e) => setDialog_1_open(true)}>
|
||||
<img src={Header_User} alt="User icon" className="user-icon hide_on_mobile" />
|
||||
<span className='hide_on_mobile'>Deconnexion</span>
|
||||
</div>}
|
||||
|
||||
</div>
|
||||
</div >
|
||||
</header >
|
||||
</div >
|
||||
);
|
||||
};
|
||||
|
||||
export default Header_Client_Intranet;
|
||||
|
|
@ -0,0 +1,322 @@
|
|||
import React, { useState, useEffect } from 'react';
|
||||
import './Header.css';
|
||||
import moment from "moment";
|
||||
import { getCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
import Header_MySy_Logo from '../../img_new_design_2025/header_mysy_logo.png';
|
||||
import Header_User from '../../img_new_design_2025/header_user.png';
|
||||
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 { useCookies } from "react-cookie";
|
||||
|
||||
|
||||
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';
|
||||
|
||||
|
||||
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 Header_ENT_Student = () => {
|
||||
const history = useHistory();
|
||||
const classes = useStyles();
|
||||
const [userconnected, setuserconnected] = useState("0");
|
||||
const [someoneconnected, setsomeoneconnected] = useState("0");
|
||||
const [partnerconnected, setpartnerconnected] = useState("0");
|
||||
const stored_user = getCookie('tokenmysych');
|
||||
const stored_part = getCookie('tokenmysypart');
|
||||
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych'], { path: '/' });
|
||||
const [partcookie, setpartCookie, removepartCookie] = useCookies(['tokenmysypart'], { path: '/' });
|
||||
const [PartnerMenu, setPartnerMenu] = React.useState(null);
|
||||
const [AccountMenu, setAccountMenu] = React.useState(null);
|
||||
const [ProduitMenu, setproduitMenu] = React.useState(null);
|
||||
|
||||
useEffect(() => {
|
||||
var local_user_connect = 0;
|
||||
var local_part_connect = 0;
|
||||
|
||||
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
|
||||
setuserconnected("0");
|
||||
local_user_connect = 0;
|
||||
} else {
|
||||
setuserconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_user_connect = 1;
|
||||
//alert(" user connected OK");
|
||||
}
|
||||
|
||||
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
|
||||
setpartnerconnected("0");
|
||||
local_part_connect = 0;
|
||||
} else {
|
||||
setpartnerconnected("1");
|
||||
setsomeoneconnected("1");
|
||||
local_part_connect = 1;
|
||||
//alert(" partner connected OK");
|
||||
}
|
||||
|
||||
}, []);
|
||||
|
||||
const handleAccountCreation = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/signup/")
|
||||
};
|
||||
|
||||
|
||||
const handleMyAccount = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/mysy-user-account")
|
||||
};
|
||||
|
||||
const handleAccountConnexion = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/signin/")
|
||||
};
|
||||
|
||||
|
||||
const handleMyPartnerAccount = () => {
|
||||
setAccountMenu(null);
|
||||
history.push("/Partner")
|
||||
};
|
||||
|
||||
|
||||
function handleAccountConnexion_v2() {
|
||||
|
||||
if (String(userconnected) === String("1")) {
|
||||
handleMyAccount();
|
||||
}
|
||||
else if (String(partnerconnected) === String("1")) {
|
||||
handleMyPartnerAccount();
|
||||
}
|
||||
}
|
||||
|
||||
const [Dialog_1_open, setDialog_1_open] = React.useState(false);
|
||||
const Dialog_1_handleClose = () => {
|
||||
};
|
||||
|
||||
const Dialog_1_handleClose_buton = () => {
|
||||
setDialog_1_open(false);
|
||||
};
|
||||
|
||||
function part_logout_confirmation() {
|
||||
/* si c'est une connexion partner qui est active */
|
||||
|
||||
if (typeof (stored_part) != "undefined") {
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
var acces_right_token_name = stored_cookie + "_uar";
|
||||
|
||||
setpartCookie("tokenmysypart", "", { path: '/' });
|
||||
setpartCookie(acces_right_token_name, "", { path: '/' });
|
||||
removeCookie(acces_right_token_name, { path: '/' });
|
||||
|
||||
|
||||
setpartCookie("mysy_session_display_view", "", { path: '/' });
|
||||
setpartCookie("mysy_menu_gauche_reduit", "", { path: '/' });
|
||||
setpartCookie("mysy_catalog_data_row_grouped_by", "", { path: '/' });
|
||||
|
||||
removeCookie("tokenmysypart", { path: '/' });
|
||||
removeCookie("mysy_session_display_view", { path: '/' });
|
||||
removeCookie("mysy_menu_gauche_reduit", { path: '/' });
|
||||
removeCookie("mysy_catalog_data_row_grouped_by", { path: '/' });
|
||||
|
||||
|
||||
}
|
||||
setsomeoneconnected("0");
|
||||
setDialog_1_open(false);
|
||||
history.push("/recherche-formation");
|
||||
}
|
||||
|
||||
function user_logout_confirmation() {
|
||||
/* si c'est une connexion partner qui est active */
|
||||
if (typeof (stored_user) != "undefined") {
|
||||
const stored_cookie = getCookie('tokenmysych');
|
||||
var acces_right_token_name = stored_cookie + "_uar";
|
||||
|
||||
setpartCookie("tokenmysych", "", { path: '/' });
|
||||
setpartCookie(acces_right_token_name, "", { path: '/' });
|
||||
removeCookie(acces_right_token_name, { path: '/' });
|
||||
|
||||
removeCookie("tokenmysych", { path: '/' });
|
||||
|
||||
|
||||
}
|
||||
history.push("/intranet");
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='header_automatic_files'>
|
||||
|
||||
{/*** GESTION Deconnexion */}
|
||||
<Dialog
|
||||
open={Dialog_1_open}
|
||||
// onClose={Dialog_1_handleClose}
|
||||
className="displaypartnersession"
|
||||
static
|
||||
onClose={() => null}
|
||||
|
||||
PaperProps={{
|
||||
|
||||
|
||||
className: classes.paper, // Apply the paper style
|
||||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
top: '20rem',
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
hideBackdrop={true}
|
||||
disableScrollLock
|
||||
classes={{
|
||||
paper: classes.dialog
|
||||
}}
|
||||
|
||||
PaperComponent={PaperComponent}
|
||||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
Confirmez la deconnexion <br />
|
||||
|
||||
|
||||
</DialogContentText>
|
||||
|
||||
</DialogContent>
|
||||
|
||||
<DialogActions>
|
||||
|
||||
<IconButton
|
||||
//autoFocus
|
||||
onClick={Dialog_1_handleClose_buton}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button
|
||||
|
||||
onClick={(e) => {
|
||||
if (partnerconnected && String(partnerconnected) === '1')
|
||||
part_logout_confirmation();
|
||||
|
||||
if (userconnected && String(userconnected) === '1')
|
||||
user_logout_confirmation();
|
||||
|
||||
}}
|
||||
|
||||
className="bton_enreg_dialog">Deconnexion</Button>
|
||||
</div>
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
<Button onClick={Dialog_1_handleClose_buton} className="bton_annule_dialog" >Annuler</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
|
||||
{/*** Fin GESTION Deconnexion */}
|
||||
|
||||
<header className="header_new_2025">
|
||||
<div className="header-content">
|
||||
<div className="logo-menu">
|
||||
<img src={Header_MySy_Logo} alt="Logo MySy" className="logo" style={{ cursor: 'pointer' }} onClick={(e) => {
|
||||
// e.preventDefault();
|
||||
history.push("/");
|
||||
}} />
|
||||
|
||||
<nav className="menu-list">
|
||||
<a href="/apropos" className="menu-link">À propos</a>
|
||||
<a href="/fonctionnalites" className="menu-link">Fonctionnalités</a>
|
||||
<a href="#" className="menu-link">
|
||||
<nav onClick={(e) => {
|
||||
history.push("/tarif/#debut");
|
||||
// window.open("/tarif/#debut", "_self");
|
||||
}}>Tarifs </nav>
|
||||
</a>
|
||||
<a href="/Recherche-Article-formation" className="menu-link">Blog</a>
|
||||
<div className="separator"></div>
|
||||
<a href="/marketplace" className="menu-link">Marketplace</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div className="cta-login">
|
||||
<div className="cta-buttons">
|
||||
<button className="btn btn-primary" onClick={(e) => {
|
||||
e.preventDefault();
|
||||
var date2 = new Date();
|
||||
const format2 = "YYYY-MM";
|
||||
var dateTime2 = moment(date2).format(format2);
|
||||
window.open(
|
||||
"https://calendly.com/mysytraining/demo-mysy-training-solution?month=" + String(dateTime2),
|
||||
'_blank'
|
||||
);
|
||||
}}>Réserver une démo</button>
|
||||
|
||||
</div>
|
||||
<div className="cta-buttons hide_on_mobile">
|
||||
{String(someoneconnected) !== String("1") && <button className="btn btn-secondary" onClick={handleAccountCreation}>Créer un compte</button>}
|
||||
|
||||
{String(someoneconnected) === String("1") && <button className="btn btn-secondary" onClick={handleAccountConnexion_v2}>Mon compte</button>}
|
||||
|
||||
</div>
|
||||
<div className="separator hide_on_mobile"></div>
|
||||
{String(someoneconnected) !== String("1") && <div className="login-link hide_on_mobile" onClick={handleAccountConnexion}>
|
||||
<img src={Header_User} alt="User icon" className="user-icon hide_on_mobile" />
|
||||
<span className='hide_on_mobile'>Connexion</span>
|
||||
</div>}
|
||||
|
||||
{String(someoneconnected) === String("1") && <div className="login-link hide_on_mobile" onClick={(e) => setDialog_1_open(true)}>
|
||||
<img src={Header_User} alt="User icon" className="user-icon hide_on_mobile" />
|
||||
<span className='hide_on_mobile'>Deconnexion</span>
|
||||
</div>}
|
||||
|
||||
</div>
|
||||
</div >
|
||||
</header >
|
||||
</div >
|
||||
);
|
||||
};
|
||||
|
||||
export default Header_ENT_Student;
|
||||
|
|
@ -25,7 +25,7 @@ const SideBar = () => {
|
|||
|
||||
const environnment = process.env.REACT_APP_ENV
|
||||
|
||||
|
||||
|
||||
|
||||
function logout_confirmation() {
|
||||
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
|
@ -1,21 +1,21 @@
|
|||
import Navigation from "../components/Navigation";
|
||||
import Ent_Intranet from "./../components/Ent_Intranet";
|
||||
import Partner_New_C_Header_2025_V2 from "../components/Partner_header_automatic_files/Partner_Header";
|
||||
import ENT_Student_New_C_Header_2025_V2 from "../components/ENT_Student_header_automatic_files/ENT_Student_Header";
|
||||
import New_C_Footer_Without_Testimony_2025_V2 from "../components/footer_automatic_files/Layout_Without_Testimony";
|
||||
import New_Navigation_2025 from "../components/New_Navigation_2025";
|
||||
import New_Navigation_ENT_Student_2025 from "../components/New_Navigation_ENT_Student_2025";
|
||||
import Student_Account from "./../components/Student_Account";
|
||||
const student_account = () => {
|
||||
|
||||
return (
|
||||
<div>
|
||||
<New_Navigation_2025 />
|
||||
<Partner_New_C_Header_2025_V2 />
|
||||
<New_Navigation_ENT_Student_2025 />
|
||||
<ENT_Student_New_C_Header_2025_V2 />
|
||||
<Student_Account />
|
||||
<New_C_Footer_Without_Testimony_2025_V2 />
|
||||
</div>
|
||||
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default student_account;
|
||||
|
||||
|
|
|
@ -1163,6 +1163,7 @@
|
|||
text-align: left;
|
||||
color: black;
|
||||
margin-left: 5px;
|
||||
max-width: 20rem;
|
||||
}
|
||||
|
||||
.containerBox {
|
||||
|
|
|
@ -1845,7 +1845,7 @@
|
|||
text-align: center;
|
||||
margin-bottom: 0.8rem;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
cursor: normal;
|
||||
font-style: italic;
|
||||
background-color: gray;
|
||||
font-weight: normal;
|
||||
|
@ -2498,7 +2498,7 @@
|
|||
text-align: center;
|
||||
margin-bottom: 0.8rem;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
cursor: normal;
|
||||
font-style: italic;
|
||||
background-color: gray;
|
||||
font-weight: normal;
|
||||
|
|
|
@ -2558,8 +2558,8 @@
|
|||
}
|
||||
|
||||
.DialogContent_width {
|
||||
width: 1500px !important;
|
||||
max-width: 1500px !important;
|
||||
width: 800px;
|
||||
max-width: 800;
|
||||
}
|
||||
|
||||
.DialogContent_width_session {
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
padding-right: 0.2rem !important;
|
||||
height: 3rem !important;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.css-1o9s3wi-MuiInputBase-input-MuiOutlinedInput-input {
|
||||
height: 2.5rem !important;
|
||||
|
@ -241,7 +241,7 @@
|
|||
border: 1px solid #9cf;
|
||||
color: #3b3e40;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
font-size: small;
|
||||
font-size: 11px;
|
||||
letter-spacing: 0.1rem;
|
||||
font-weight: normal;
|
||||
width: 100%;
|
||||
|
@ -505,7 +505,7 @@
|
|||
border: 1px solid #9cf;
|
||||
color: #3b3e40;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
font-size: small;
|
||||
font-size: 11px;
|
||||
letter-spacing: 0.1rem;
|
||||
font-weight: normal;
|
||||
height: 2rem !important;
|
||||
|
@ -766,7 +766,7 @@
|
|||
border: 1px solid #9cf;
|
||||
color: #3b3e40;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
font-size: small;
|
||||
font-size: 11px;
|
||||
letter-spacing: 0.1rem;
|
||||
font-weight: normal;
|
||||
height: 2rem !important;
|
||||
|
@ -1046,7 +1046,7 @@
|
|||
border: 1px solid #9cf;
|
||||
color: #3b3e40;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
font-size: small;
|
||||
font-size: 11px;
|
||||
letter-spacing: 0.1rem;
|
||||
font-weight: normal;
|
||||
height: 2rem !important;
|
||||
|
|
|
@ -1,10 +1,40 @@
|
|||
.updateuserinfo {
|
||||
.loader-container {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: fixed;
|
||||
background: white;
|
||||
background-color: transparent;
|
||||
z-index: 1;
|
||||
top: 0px;
|
||||
opacity: 80%;
|
||||
left: 0px;
|
||||
}
|
||||
|
||||
.spinner {
|
||||
width: 20rem;
|
||||
height: 10rem;
|
||||
border: 8px solid;
|
||||
border-color: #3d5af1 transparent #3d5af1 transparent;
|
||||
border-radius: 50%;
|
||||
animation: spin-anim 1.2s linear infinite;
|
||||
background-color: red;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.mysy_spinner {
|
||||
border-radius: 5px;
|
||||
//border: 1px solid #d5d8dc;
|
||||
opacity: 100%;
|
||||
}
|
||||
|
||||
width: 100%;
|
||||
float: left;
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
text-align: left;
|
||||
font-size: small !important;
|
||||
|
||||
|
@ -18,21 +48,21 @@
|
|||
margin-top: 0.3rem;
|
||||
}
|
||||
|
||||
.texte_area{
|
||||
.texte_area {
|
||||
width: 90% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
margin: 0.4rem !important;
|
||||
}
|
||||
|
||||
.texte_area_adress{
|
||||
.texte_area_adress {
|
||||
width: 90% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
margin: 0.4rem !important;
|
||||
}
|
||||
|
||||
.texte_area_passwd{
|
||||
.texte_area_passwd {
|
||||
width: 90% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
|
@ -41,7 +71,7 @@
|
|||
|
||||
|
||||
|
||||
input{
|
||||
input {
|
||||
font-size: small !important;
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
|
@ -58,13 +88,13 @@
|
|||
background-color: gray;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
|
||||
.big_hr {
|
||||
height: 0.2rem;
|
||||
border-width: 0;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
.div_row22 {
|
||||
text-align: center;
|
||||
border-width: 0.01rem;
|
||||
|
@ -73,49 +103,50 @@
|
|||
border-radius: 1rem;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
|
||||
.btn_modif {
|
||||
width: 7rem;
|
||||
background-color: #212121 !important;
|
||||
}
|
||||
|
||||
|
||||
.btn_enreg {
|
||||
width: 7rem;
|
||||
background-color: green !important;
|
||||
}
|
||||
|
||||
|
||||
.okUpdateData {
|
||||
font-size: small;
|
||||
color: green;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
|
||||
.koUpdateData {
|
||||
font-size: small;
|
||||
color: red;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 601px) and (max-width: 991px) {
|
||||
text-align: left;
|
||||
font-size: medium !important;
|
||||
|
||||
.texte_area{
|
||||
.texte_area {
|
||||
width: 47% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
margin: 0.4rem !important;
|
||||
}
|
||||
|
||||
.texte_area_adress{
|
||||
.texte_area_adress {
|
||||
width: 96% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
margin: 0.4rem !important;
|
||||
}
|
||||
|
||||
.texte_area_passwd{
|
||||
.texte_area_passwd {
|
||||
width: 95% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
|
@ -124,7 +155,7 @@
|
|||
|
||||
|
||||
|
||||
input{
|
||||
input {
|
||||
font-size: small !important;
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
|
@ -142,13 +173,13 @@
|
|||
background-color: gray;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
|
||||
.big_hr {
|
||||
height: 0.2rem;
|
||||
border-width: 0;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
.div_row22 {
|
||||
text-align: center;
|
||||
border-width: 0.01rem;
|
||||
|
@ -157,30 +188,31 @@
|
|||
border-radius: 1rem;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
|
||||
.btn_modif {
|
||||
width: 10rem;
|
||||
background-color: #212121 !important;
|
||||
}
|
||||
|
||||
|
||||
.btn_enreg {
|
||||
width: 10rem;
|
||||
background-color: green !important;
|
||||
}
|
||||
|
||||
|
||||
.okUpdateData {
|
||||
font-size: small;
|
||||
color: green;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
|
||||
.koUpdateData {
|
||||
font-size: small;
|
||||
color: red;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 992px) and (max-width: 1199px) {
|
||||
text-align: left;
|
||||
font-size: larger !important;
|
||||
|
@ -196,23 +228,23 @@
|
|||
background-color: gray;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
|
||||
.texte_area{
|
||||
|
||||
|
||||
.texte_area {
|
||||
width: 47% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
margin: 0.4rem !important;
|
||||
}
|
||||
|
||||
.texte_area_adress{
|
||||
.texte_area_adress {
|
||||
width: 96% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
margin: 0.4rem !important;
|
||||
}
|
||||
|
||||
.texte_area_passwd{
|
||||
.texte_area_passwd {
|
||||
width: 95% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
|
@ -221,7 +253,7 @@
|
|||
|
||||
|
||||
|
||||
input{
|
||||
input {
|
||||
font-size: small !important;
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
|
@ -233,7 +265,7 @@
|
|||
border-width: 0;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
.div_row22 {
|
||||
text-align: center;
|
||||
border-width: 0.01rem;
|
||||
|
@ -242,31 +274,31 @@
|
|||
border-radius: 1rem;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
|
||||
.btn_modif {
|
||||
width: 10rem;
|
||||
background-color: #212121 !important;
|
||||
}
|
||||
|
||||
|
||||
.btn_enreg {
|
||||
width: 10rem;
|
||||
background-color: green !important;
|
||||
}
|
||||
|
||||
|
||||
.okUpdateData {
|
||||
font-size: small;
|
||||
color: green;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
|
||||
.koUpdateData {
|
||||
font-size: small;
|
||||
color: red;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (min-width: 1200px) {
|
||||
text-align: left;
|
||||
font-size: medium !important;
|
||||
|
@ -283,41 +315,41 @@
|
|||
font-weight: normal;
|
||||
}
|
||||
|
||||
|
||||
.texte_area{
|
||||
|
||||
.texte_area {
|
||||
width: 47% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
margin: 0.4rem !important;
|
||||
}
|
||||
|
||||
.texte_area_adress{
|
||||
.texte_area_adress {
|
||||
width: 96% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
margin: 0.4rem !important;
|
||||
}
|
||||
|
||||
.texte_area_passwd{
|
||||
.texte_area_passwd {
|
||||
width: 95% !important;
|
||||
font-size: x-small !important;
|
||||
font-family: "DM Sans", "sans-serif";
|
||||
margin: 0.4rem !important;
|
||||
}
|
||||
|
||||
input{
|
||||
input {
|
||||
font-size: medium !important;
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.big_hr {
|
||||
height: 0.2rem;
|
||||
border-width: 0;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
.div_row22 {
|
||||
text-align: center;
|
||||
border-width: 0.01rem;
|
||||
|
@ -326,28 +358,28 @@
|
|||
border-radius: 1rem;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
|
||||
.btn_modif {
|
||||
width: 10rem;
|
||||
background-color: #212121 !important;
|
||||
}
|
||||
|
||||
|
||||
.btn_enreg {
|
||||
width: 10rem;
|
||||
background-color: green !important;
|
||||
}
|
||||
|
||||
|
||||
.okUpdateData {
|
||||
font-size: small;
|
||||
color: green;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
|
||||
.koUpdateData {
|
||||
font-size: small;
|
||||
color: red;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue