recette2
parent
146bbf80d9
commit
8024e787b6
|
@ -1761,12 +1761,12 @@ const DisplayPartnerSession = (props) => {
|
||||||
async function submenu_historique() {
|
async function submenu_historique() {
|
||||||
setsubmenu("historique");
|
setsubmenu("historique");
|
||||||
|
|
||||||
// await sleep(5);
|
// await sleep(5);
|
||||||
if (!edit_session_form) {
|
if (!edit_session_form) {
|
||||||
desableSessionFields();
|
desableSessionFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (document.getElementById("historique")) {
|
if (document.getElementById("historique")) {
|
||||||
document.getElementById("historique").style.backgroundColor = "#104277";
|
document.getElementById("historique").style.backgroundColor = "#104277";
|
||||||
document.getElementById("historique").style.color = "white";
|
document.getElementById("historique").style.color = "white";
|
||||||
|
@ -2064,8 +2064,8 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
var myelement;
|
var myelement;
|
||||||
|
|
||||||
if (document.getElementById('ajout_participant')) {
|
if (document.getElementById('myRef_add_session')) {
|
||||||
var divh = document.getElementById('ajout_participant').offsetTop;
|
var divh = document.getElementById('myRef_add_session').offsetTop;
|
||||||
window.scrollTo({
|
window.scrollTo({
|
||||||
top: divh,
|
top: divh,
|
||||||
behavior: "smooth",
|
behavior: "smooth",
|
||||||
|
@ -2415,7 +2415,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
if (p_one_email_part)
|
if (p_one_email_part)
|
||||||
one_email_part = p_one_email_part;
|
one_email_part = p_one_email_part;
|
||||||
|
|
||||||
console.log(" one_email_part = ", one_email_part);
|
//console.log(" one_email_part = ", one_email_part);
|
||||||
if (one_email_part.trim() == "") {
|
if (one_email_part.trim() == "") {
|
||||||
alert(" Vous devez saisir l'email du participant");
|
alert(" Vous devez saisir l'email du participant");
|
||||||
return;
|
return;
|
||||||
|
@ -2583,6 +2583,27 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const New_status_inscription_add = [
|
||||||
|
{ "id": "0", "label": "PréInscription", "value": "0" },
|
||||||
|
{ "id": "1", "label": "Inscription", "value": "1" },
|
||||||
|
{ "id": "2", "label": "En Cours", "value": "2" },
|
||||||
|
]
|
||||||
|
|
||||||
|
const New_civilite = [
|
||||||
|
{ "id": "Mme", "label": "Mme", "value": "Mme" },
|
||||||
|
{ "id": "M", "label": "M", "value": "M" },
|
||||||
|
{ "id": "Neutre", "label": "Neutre", "value": "Neutre" },
|
||||||
|
]
|
||||||
|
|
||||||
|
const New_type_apprenant = [
|
||||||
|
{ "id": "0", "label": "Autre", "value": "0" },
|
||||||
|
{ "id": "1", "label": "Salariés", "value": "1" },
|
||||||
|
{ "id": "2", "label": "Apprentis", "value": "2" },
|
||||||
|
{ "id": "3", "label": "Particuliers", "value": "3" },
|
||||||
|
{ "id": "4", "label": "Rech. Emploi", "value": "4" },
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
const [myinscript_status, setmyinscript_status] = useState("");
|
const [myinscript_status, setmyinscript_status] = useState("");
|
||||||
|
|
||||||
|
|
||||||
|
@ -3670,6 +3691,9 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
function One_clearParticipantFields() {
|
function One_clearParticipantFields() {
|
||||||
|
|
||||||
|
if (document.getElementsByName("one_detail_client_rattachement")[0])
|
||||||
|
document.getElementsByName("one_detail_client_rattachement")[0].value = "";
|
||||||
|
|
||||||
|
|
||||||
if (document.getElementsByName("one_civilite_part")[0])
|
if (document.getElementsByName("one_civilite_part")[0])
|
||||||
document.getElementsByName("one_civilite_part")[0].value = "";
|
document.getElementsByName("one_civilite_part")[0].value = "";
|
||||||
|
@ -3697,6 +3721,8 @@ const DisplayPartnerSession = (props) => {
|
||||||
setp_one_naissance_part(new Date().toLocaleDateString('fr-FR'));
|
setp_one_naissance_part(new Date().toLocaleDateString('fr-FR'));
|
||||||
setp_one_phone_part();
|
setp_one_phone_part();
|
||||||
setp_one_status_part();
|
setp_one_status_part();
|
||||||
|
setp_one_detail_client_rattachement_id('');
|
||||||
|
setp_one_detail_client_rattachement_nom('');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -8523,6 +8549,8 @@ const DisplayPartnerSession = (props) => {
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="displaypartnersession">
|
<div className="displaypartnersession">
|
||||||
|
|
||||||
|
@ -9122,46 +9150,46 @@ const DisplayPartnerSession = (props) => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{String(selected_convention_type) === "email" &&
|
{String(selected_convention_type) === "email" &&
|
||||||
<div className="session_caract_Dialog" > Type Document<br />
|
<div className="session_caract_Dialog" > Type Document<br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, width: '75%' }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, width: '75%' }}
|
||||||
|
|
||||||
name="event_dialog_type_convention"
|
name="event_dialog_type_convention"
|
||||||
id="event_dialog_type_convention"
|
id="event_dialog_type_convention"
|
||||||
|
|
||||||
select
|
select
|
||||||
|
|
||||||
|
|
||||||
value={selected_convention_type}
|
value={selected_convention_type}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
setselected_convention_type(e.target.value);
|
setselected_convention_type(e.target.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
|
|
||||||
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email </MenuItem>
|
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email </MenuItem>
|
||||||
<MenuItem value="pdf" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >PDF </MenuItem>
|
<MenuItem value="pdf" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >PDF </MenuItem>
|
||||||
</TextField>
|
</TextField>
|
||||||
{String(selected_convention_type) === "email" && <label className="bton_image_class" style={{ "width": "20%", "float": "right", "height": "3.5rem", "paddingTop": "15px" }} onClick={(e) => {
|
{String(selected_convention_type) === "email" && <label className="bton_image_class" style={{ "width": "20%", "float": "right", "height": "3.5rem", "paddingTop": "15px" }} onClick={(e) => {
|
||||||
|
|
||||||
if (selected_convention_email_test) {
|
if (selected_convention_email_test) {
|
||||||
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||||
if (!selected_convention_email_test.match(validRegex)) {
|
if (!selected_convention_email_test.match(validRegex)) {
|
||||||
alert("L'adresse email de test est invalide.");
|
alert("L'adresse email de test est invalide.");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
Send_Stagiaire_Conventions_By_Email_Test();
|
||||||
|
} else {
|
||||||
|
alert("L'adresse email de test est invalide.");
|
||||||
}
|
}
|
||||||
Send_Stagiaire_Conventions_By_Email_Test();
|
|
||||||
} else {
|
|
||||||
alert("L'adresse email de test est invalide.");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}} > <FcSearch /> Test</label>}
|
}} > <FcSearch /> Test</label>}
|
||||||
|
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
{String(selected_convention_type) === "pdf" && <div className="session_caract_Dialog" > Type Document<br />
|
{String(selected_convention_type) === "pdf" && <div className="session_caract_Dialog" > Type Document<br />
|
||||||
<TextField
|
<TextField
|
||||||
|
@ -12220,7 +12248,24 @@ const DisplayPartnerSession = (props) => {
|
||||||
<div className="titre1"> Ajout d'un nouveau participant à la session <u> {selected_code_session} </u> de la formation <u> {selected_class_title} </u></div>
|
<div className="titre1"> Ajout d'un nouveau participant à la session <u> {selected_code_session} </u> de la formation <u> {selected_class_title} </u></div>
|
||||||
|
|
||||||
<div className="session_caract"> <b> Civilité </b><br />
|
<div className="session_caract"> <b> Civilité </b><br />
|
||||||
<TextField
|
|
||||||
|
<Autocomplete
|
||||||
|
disablePortal
|
||||||
|
name="one_civilite_part"
|
||||||
|
id="one_civilite_part"
|
||||||
|
className="disabled_style enable_style"
|
||||||
|
|
||||||
|
options={New_civilite}
|
||||||
|
onChange={(event, value) => {
|
||||||
|
if (value && value.value) {
|
||||||
|
setp_one_civilite_part(value.value);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
renderInput={(params) => <TextField {...params} label="" />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/*<TextField
|
||||||
required
|
required
|
||||||
name="one_civilite_part"
|
name="one_civilite_part"
|
||||||
//label="Civilité"
|
//label="Civilité"
|
||||||
|
@ -12239,7 +12284,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
<MenuItem value="Neutre" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Neutre </MenuItem>
|
<MenuItem value="Neutre" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Neutre </MenuItem>
|
||||||
|
|
||||||
|
|
||||||
</TextField>
|
</TextField>*/}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> <b> Nom </b><br />
|
<div className="session_caract"> <b> Nom </b><br />
|
||||||
|
@ -12344,7 +12389,24 @@ const DisplayPartnerSession = (props) => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Statut Inscription <br />
|
<div className="session_caract"> Statut Inscription <br />
|
||||||
<TextField
|
|
||||||
|
<Autocomplete
|
||||||
|
disablePortal
|
||||||
|
name="one_status_part"
|
||||||
|
id="one_status_part"
|
||||||
|
className="disabled_style"
|
||||||
|
|
||||||
|
options={New_status_inscription_add}
|
||||||
|
onChange={(event, value) => {
|
||||||
|
if (value && value.value) {
|
||||||
|
setmyinscript_status(value.value);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
renderInput={(params) => <TextField {...params} label="" />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/*<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
select
|
select
|
||||||
|
@ -12364,7 +12426,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
{option.label} <br />
|
{option.label} <br />
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
))}
|
))}
|
||||||
</TextField>
|
</TextField>*/}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -12391,7 +12453,24 @@ const DisplayPartnerSession = (props) => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Type apprenant <br />
|
<div className="session_caract"> Type apprenant <br />
|
||||||
<TextField
|
<Autocomplete
|
||||||
|
disablePortal
|
||||||
|
name="one_detail_type_apprenant"
|
||||||
|
id="one_detail_type_apprenant"
|
||||||
|
className="disabled_style"
|
||||||
|
options={New_type_apprenant}
|
||||||
|
onChange={(event, value) => {
|
||||||
|
if (value && value._id) {
|
||||||
|
setp_one_detail_type_apprenant(value._id);
|
||||||
|
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
|
||||||
|
renderInput={(params) => <TextField {...params} label="" />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/*<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
name="one_detail_type_apprenant"
|
name="one_detail_type_apprenant"
|
||||||
|
@ -12415,7 +12494,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
<MenuItem value="3" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Particuliers </MenuItem>
|
<MenuItem value="3" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Particuliers </MenuItem>
|
||||||
<MenuItem value="4" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Rech. Emploi </MenuItem>
|
<MenuItem value="4" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Rech. Emploi </MenuItem>
|
||||||
|
|
||||||
</TextField>
|
</TextField>*/}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* -- début champs specifiques **/}
|
{/* -- début champs specifiques **/}
|
||||||
|
@ -12648,7 +12727,23 @@ const DisplayPartnerSession = (props) => {
|
||||||
<h5> Ajout d'un nouveau participant</h5>
|
<h5> Ajout d'un nouveau participant</h5>
|
||||||
|
|
||||||
<div className="session_caract"> <b> Civilité </b><br />
|
<div className="session_caract"> <b> Civilité </b><br />
|
||||||
<TextField
|
<Autocomplete
|
||||||
|
disablePortal
|
||||||
|
name="one_civilite_part"
|
||||||
|
id="one_civilite_part"
|
||||||
|
className="disabled_style enable_style"
|
||||||
|
|
||||||
|
options={New_civilite}
|
||||||
|
onChange={(event, value) => {
|
||||||
|
if (value && value.value) {
|
||||||
|
setp_one_civilite_part(value.value);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
renderInput={(params) => <TextField {...params} label="" />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/*<TextField
|
||||||
required
|
required
|
||||||
name="one_civilite_part"
|
name="one_civilite_part"
|
||||||
//label="Civilité"
|
//label="Civilité"
|
||||||
|
@ -12667,7 +12762,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
<MenuItem value="Neutre" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Neutre </MenuItem>
|
<MenuItem value="Neutre" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Neutre </MenuItem>
|
||||||
|
|
||||||
|
|
||||||
</TextField>
|
</TextField>*/}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -12854,7 +12949,24 @@ const DisplayPartnerSession = (props) => {
|
||||||
<div className="titre1"> Ajout d'un nouveau participant a la session <u> {selected_code_session} </u> de la formation <u> {selected_class_title} </u></div>
|
<div className="titre1"> Ajout d'un nouveau participant a la session <u> {selected_code_session} </u> de la formation <u> {selected_class_title} </u></div>
|
||||||
|
|
||||||
<div className="session_caract"> <b> Civilité </b><br />
|
<div className="session_caract"> <b> Civilité </b><br />
|
||||||
<TextField
|
|
||||||
|
<Autocomplete
|
||||||
|
disablePortal
|
||||||
|
name="one_status_part"
|
||||||
|
id="one_civilite_part"
|
||||||
|
className="disabled_style enable_style"
|
||||||
|
|
||||||
|
options={New_civilite}
|
||||||
|
onChange={(event, value) => {
|
||||||
|
if (value && value.value) {
|
||||||
|
setp_one_civilite_part(value.value);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
renderInput={(params) => <TextField {...params} label="" />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/*<TextField
|
||||||
required
|
required
|
||||||
name="one_civilite_part"
|
name="one_civilite_part"
|
||||||
id="one_civilite_part"
|
id="one_civilite_part"
|
||||||
|
@ -12873,7 +12985,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
<MenuItem value="Neutre" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Neutre </MenuItem>
|
<MenuItem value="Neutre" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Neutre </MenuItem>
|
||||||
|
|
||||||
|
|
||||||
</TextField>
|
</TextField>*/}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -12979,7 +13091,24 @@ const DisplayPartnerSession = (props) => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Statut Inscription <br />
|
<div className="session_caract"> Statut Inscription <br />
|
||||||
<TextField
|
<Autocomplete
|
||||||
|
disablePortal
|
||||||
|
name="one_status_part"
|
||||||
|
id="one_status_part"
|
||||||
|
className="disabled_style"
|
||||||
|
|
||||||
|
options={New_status_inscription_add}
|
||||||
|
onChange={(event, value) => {
|
||||||
|
if (value && value.value) {
|
||||||
|
setmyinscript_status(value.value);
|
||||||
|
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
renderInput={(params) => <TextField {...params} label="" />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/*<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
select
|
select
|
||||||
|
@ -12999,7 +13128,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
{option.label} <br />
|
{option.label} <br />
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
))}
|
))}
|
||||||
</TextField>
|
</TextField>*/}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Client <br />
|
<div className="session_caract"> Client <br />
|
||||||
|
@ -13024,7 +13153,26 @@ const DisplayPartnerSession = (props) => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Type apprenant <br />
|
<div className="session_caract"> Type apprenant <br />
|
||||||
<TextField
|
<Autocomplete
|
||||||
|
disablePortal
|
||||||
|
name="one_detail_type_apprenant"
|
||||||
|
id="one_detail_type_apprenant"
|
||||||
|
className="disabled_style"
|
||||||
|
options={New_type_apprenant}
|
||||||
|
onChange={(event, value) => {
|
||||||
|
if (value && value._id) {
|
||||||
|
setp_one_detail_type_apprenant(value._id);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
|
||||||
|
renderInput={(params) => <TextField {...params} label="" />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
|
||||||
|
|
||||||
|
{/*<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
name="one_detail_type_apprenant"
|
name="one_detail_type_apprenant"
|
||||||
|
@ -13048,7 +13196,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
<MenuItem value="3" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Particuliers </MenuItem>
|
<MenuItem value="3" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Particuliers </MenuItem>
|
||||||
<MenuItem value="4" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Rech. Emploi </MenuItem>
|
<MenuItem value="4" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Rech. Emploi </MenuItem>
|
||||||
|
|
||||||
</TextField>
|
</TextField>*/}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* -- début champs specifiques **/}
|
{/* -- début champs specifiques **/}
|
||||||
|
@ -14361,9 +14509,9 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
{String(submenu) === String("editique") && <div style={{ "border": "None" }}>
|
{String(submenu) === String("editique") && <div style={{ "border": "None" }}>
|
||||||
|
|
||||||
<Module_Editique conntected_employee_id={props.conntected_employee_id} related_collection={"session_formation"}
|
<Module_Editique conntected_employee_id={props.conntected_employee_id} related_collection={"session_formation"}
|
||||||
related_collection_recid={selected_session_id}/>
|
related_collection_recid={selected_session_id} />
|
||||||
|
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -607,7 +607,7 @@ const TestUrl_New = (props) => {
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<h2> Module Ediditique </h2>
|
<h2> Module Ediditique </h2>
|
||||||
<Module_Editique conntected_employee_id={"1234"} related_collection={"session_formation"} related_collection_recid={"657e1bb9bd0c06f196c96b51"}/>
|
<Module_Editique conntected_employee_id={"1234"} related_collection={"session_formation"} related_collection_recid={"65224c1c7e5ee82f3a74afc6"}/>
|
||||||
|
|
||||||
<Button variant="contained" className="bton_enreg"
|
<Button variant="contained" className="bton_enreg"
|
||||||
onClick={afficher_champs_spec}>
|
onClick={afficher_champs_spec}>
|
||||||
|
|
Loading…
Reference in New Issue