qsdsq
parent
1ccb50cb06
commit
63d3491031
|
@ -362,7 +362,7 @@ function App() {
|
|||
</Switch>
|
||||
</BrowserRouter>
|
||||
|
||||
/</Suspense>
|
||||
</Suspense>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -126,6 +126,8 @@ const AddParnerClient = (props) => {
|
|||
const [p_client_raison_sociale, setclient_raison_sociale] = useState("");
|
||||
|
||||
const [p_client_is_company, setp_client_is_company] = useState("");
|
||||
const [p_detail_archive, setp_detail_archive] = useState("");
|
||||
|
||||
|
||||
|
||||
const [p_client_siret, setclient_siret] = useState("");
|
||||
|
@ -803,6 +805,13 @@ const AddParnerClient = (props) => {
|
|||
}
|
||||
|
||||
|
||||
setp_detail_archive("0");
|
||||
if (mylocalclient.archive) {
|
||||
setp_detail_archive(mylocalclient.archive);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (String(mylocalclient.is_financeur) === "1")
|
||||
setp_client_is_financeur(true);
|
||||
else
|
||||
|
@ -4157,9 +4166,13 @@ const AddParnerClient = (props) => {
|
|||
|
||||
|
||||
{String(submenu).trim() === "submenu_donnee_client" && <div className="training_data" onChange={DataUpdated}>
|
||||
{p_detail_archive && String(p_detail_archive) === "1" &&
|
||||
<div class="block_archive"> Document Archivé </div>}
|
||||
|
||||
<div className="session_caract" >
|
||||
<br />
|
||||
|
||||
|
||||
<nav style={{ "paddingLeft": "10px" }}>
|
||||
|
||||
<Radio
|
||||
|
|
|
@ -7456,7 +7456,7 @@ const Apprenant = (props) => {
|
|||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
<Button variant="outlined" onClick={submenu_import_apprenant} className="detail_class_submenu bton_import_excel"
|
||||
id='menu_import_participant' name='menu_import_participant'>Importer des apprenants excel
|
||||
id='menu_import_participant' name='menu_import_participant' style={{ maxWidth: "20rem" }}>Importer des apprenants excel
|
||||
<img src={excel_icone} alt="ajout csv" className="icon_excel" />
|
||||
</Button>
|
||||
|
||||
|
|
|
@ -2773,7 +2773,7 @@ const Config_Documents_Super_Admin = (props) => {
|
|||
}}
|
||||
/>
|
||||
|
||||
</div>}
|
||||
</div>}
|
||||
|
||||
{String(partner_document_data_edit_mode) === "1" && <div className="div_row_gauche texte_area_filter" >
|
||||
Version par defaut <br />
|
||||
|
|
|
@ -969,9 +969,6 @@ const DisplayPartnerPromotion = (props) => {
|
|||
</div>
|
||||
</DialogContent>
|
||||
|
||||
|
||||
|
||||
|
||||
</Dialog>}
|
||||
{/*** FIN GESTION Dialog menu item mise à jour*/}
|
||||
|
||||
|
@ -26642,6 +26639,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
submenu_evaluation={submenu_evaluation_session}
|
||||
submenu_attestation={submenu_attestation}
|
||||
submenu_q_positionnement={submenu_q_positionnement}
|
||||
Get_List_Partner_Clients={Get_List_Partner_Clients}
|
||||
nb_valide_inscription_entreprise={nb_valide_inscription_entreprise}
|
||||
nb_valide_inscription_individuelle={nb_valide_inscription_individuelle}
|
||||
selected_session_invoiced_statut={selected_session_invoiced_statut}
|
||||
|
|
|
@ -19256,7 +19256,6 @@ const DisplayPartnerSession = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
|
||||
{String(p_filtre1) !== "archive" && <div className="div_row_droite texte_area_filter_value" >
|
||||
{p_filtre1 &&
|
||||
<TextField
|
||||
|
@ -26712,10 +26711,12 @@ const DisplayPartnerSession = (props) => {
|
|||
submenu_evaluation={submenu_evaluation_session}
|
||||
submenu_attestation={submenu_attestation}
|
||||
submenu_q_positionnement={submenu_q_positionnement}
|
||||
Get_List_Partner_Clients={Get_List_Partner_Clients}
|
||||
nb_valide_inscription_entreprise={nb_valide_inscription_entreprise}
|
||||
nb_valide_inscription_individuelle={nb_valide_inscription_individuelle}
|
||||
selected_session_invoiced_statut={selected_session_invoiced_statut}
|
||||
Session_automatic_traitement_data={GetCurrentSession_automatic_traitement_data}
|
||||
|
||||
/>
|
||||
</div>}
|
||||
|
||||
|
|
|
@ -153,6 +153,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
const columns = [
|
||||
{ field: '_id', headerName: '_id', hide: true, editable: false, Width: 0, disableExport: true, },
|
||||
{ field: 'session_id', headerName: 'session_id', hide: true, editable: false, Width: 0, disableExport: true, },
|
||||
{ field: 'archive', headerName: 'archive', hide: true, editable: false, Width: 0, disableExport: true, },
|
||||
{ field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, },
|
||||
{ field: 'class_id', headerName: 'class_id', hide: true, Width: 0, disableExport: true, },
|
||||
{ field: 'class_internal_url', headerName: 'class_internal_url', hide: true, editable: false, Width: 0, disableExport: true, },
|
||||
|
@ -221,7 +222,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
{New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 && <nav>
|
||||
{New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 && cellValues.row.client_facture && <nav>
|
||||
{New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(cellValues.row.client_facture))[0].label}
|
||||
</nav>}
|
||||
</div>
|
||||
|
@ -940,7 +941,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setselected_code_session('');
|
||||
setsubmenu('');
|
||||
|
||||
alert(" La mise à jour a été correctement faite.")
|
||||
// alert(" La mise à jour a été correctement faite.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" La mise à jour a été correctement faite.");
|
||||
setalert_type("success");
|
||||
}
|
||||
else {
|
||||
setDeleteStagiaireData_api("false");
|
||||
|
@ -1044,6 +1048,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
const [Getall_TrainingParticipant_result, setGetall_TrainingParticipant_result] = useState([]);
|
||||
function Getall_TrainingParticipant(event) {
|
||||
|
||||
setloading_datagrid(true);
|
||||
setSelectionModel([]);
|
||||
|
||||
var form = new FormData();
|
||||
|
@ -1094,6 +1099,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setloading_datagrid(false);
|
||||
//console.log(" In Getall_TrainingParticipant res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_TrainingParticipant res.data.message r_class = " + res.data.message);
|
||||
setGetall_TrainingParticipant_api("true");
|
||||
|
@ -1103,6 +1109,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
}
|
||||
else {
|
||||
setloading_datagrid(false);
|
||||
setGetall_TrainingParticipant_api("false");
|
||||
setGetall_TrainingParticipant_message(res.data.message);
|
||||
// alert(res.data.message);
|
||||
|
@ -1112,6 +1119,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setloading_datagrid(false);
|
||||
setLoading(false);
|
||||
console.warn('Not good man :( Getall_TrainingParticipant = ', error);
|
||||
setGetall_TrainingParticipant_api("false");
|
||||
|
@ -1123,7 +1131,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
function Getall_TrainingParticpant_no_filter(event) {
|
||||
|
||||
setloading_datagrid(true);
|
||||
var form = new FormData();
|
||||
|
||||
|
||||
|
@ -1137,6 +1145,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
axios.post(myurl, form).then(res => {
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setloading_datagrid(false);
|
||||
//console.log(" In Getall_TrainingParticipant res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_TrainingParticipant res.data.message r_class = " + res.data.message);
|
||||
setGetall_TrainingParticipant_api("true");
|
||||
|
@ -1144,11 +1153,13 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setRows(res.data.message);
|
||||
}
|
||||
else {
|
||||
setloading_datagrid(false);
|
||||
setGetall_TrainingParticipant_api("false");
|
||||
setGetall_TrainingParticipant_message(res.data.message);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setloading_datagrid(false);
|
||||
setLoading(false);
|
||||
console.warn('Not good man :( Getall_TrainingParticipant = ', error);
|
||||
setGetall_TrainingParticipant_api("false");
|
||||
|
@ -1610,7 +1621,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||
|
||||
if (!local_mail.trim().match(validRegex)) {
|
||||
alert("L'adresse email est invalide. Impossible de renvoyer les identifiants");
|
||||
// alert("L'adresse email est invalide. Impossible de renvoyer les identifiants");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("L'adresse email est invalide. Impossible de renvoyer les identifiants");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
formData.append("email", local_mail);
|
||||
|
@ -1695,7 +1709,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
//alert("file_size = "+file_size+" file_type = "+file_type+" a = "+a);
|
||||
if (file_size > 1000000) {
|
||||
alert("L'image ne doit pas dépasser un 1 Méga octets");
|
||||
// alert("L'image ne doit pas dépasser un 1 Méga octets");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("L'image ne doit pas dépasser un 1 Méga octets");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
setisimgclassSelected(event.target.files[0]);
|
||||
|
@ -1796,12 +1813,18 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
trainer = document.getElementsByName("formateur")[0].value;
|
||||
|
||||
if (trainer == "") {
|
||||
alert(" Aucun formateur pour cette session ");
|
||||
//alert(" Aucun formateur pour cette session ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Aucun formateur pour cette session ");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
if (addendeeEmail == "") {
|
||||
alert(" Aucun utilisateur choisi ");
|
||||
// alert(" Aucun utilisateur choisi ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Aucun utilisateur choisi ");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2261,6 +2284,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
desableSessionFields();
|
||||
}
|
||||
|
||||
const [loading_datagrid, setloading_datagrid] = useState(true);
|
||||
|
||||
const [SendEvaluationEmail_api, setSendEvaluationEmail_api] = useState();
|
||||
const [SendEvaluationEmail_message, setSendEvaluationEmail_message] = useState();
|
||||
|
@ -2320,7 +2344,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
//console.log(" In SendEvaluationEmail res.data.message r_class = " + res.data.message);
|
||||
setSendEvaluationEmail_api("true");
|
||||
setSendEvaluationEmail_result(res.data.message);
|
||||
alert(" La demande a été correctement envoyée");
|
||||
// alert(" La demande a été correctement envoyée");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" La demande a été correctement envoyée");
|
||||
setalert_type("success");
|
||||
|
||||
} else if (String(res.data.status) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + res.data.message);
|
||||
|
@ -2329,7 +2356,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
else {
|
||||
setSendEvaluationEmail_api("false");
|
||||
setSendEvaluationEmail_message(res.data.message);
|
||||
alert(" Erreur : " + res.data.message);
|
||||
// alert(" Erreur : " + res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
|
@ -2373,14 +2403,20 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
if (String(result['status']) === String("true")) {
|
||||
setrecord_Stagiaire_Image_api("true");
|
||||
setuserimgclassprofilchanged("");
|
||||
alert(" L'image a été enregistrée ");
|
||||
// alert(" L'image a été enregistrée ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" L'image a été enregistrée ");
|
||||
setalert_type("success");
|
||||
|
||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + result['message']);
|
||||
history.push("/Connexion");
|
||||
} else {
|
||||
setrecord_Stagiaire_Image_api("false");
|
||||
alert(" Erreur : " + result['message']);
|
||||
// alert(" Erreur : " + result['message']);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
})
|
||||
|
@ -2397,7 +2433,11 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
function removeRecodedLogoImage() {
|
||||
if (!isimgclassSelected_recid || String(isimgclassSelected_recid).length < 3) {
|
||||
alert(" Image incorrecte. Impossible de la supprimer ");
|
||||
//alert(" Image incorrecte. Impossible de la supprimer ");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Image incorrecte. Impossible de la supprimer ");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2463,7 +2503,11 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
//console.log("file_size = ",file_size," file_type = ",file_type);
|
||||
if (file_size > 1000000) {
|
||||
alert("Le fichier ne doit pas dépasser un 1 Méga octets");
|
||||
// alert("Le fichier ne doit pas dépasser un 1 Méga octets");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le fichier ne doit pas dépasser un 1 Méga octets");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2505,7 +2549,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setliste_sessions_file_change_api("true");
|
||||
|
||||
Getall_TrainingParticipant();
|
||||
alert(" Les stagiaires ont été correctement importés");
|
||||
// alert(" Les stagiaires ont été correctement importés");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Les stagiaires ont été correctement importés");
|
||||
setalert_type("success");
|
||||
|
||||
}
|
||||
|
||||
|
@ -3282,6 +3329,8 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
const [p_detail_tuteur1_civilite, setp_detail_tuteur1_civilite] = useState("");
|
||||
|
||||
const [p_detail_archive, setp_detail_archive] = useState("");
|
||||
|
||||
|
||||
const [p_detail_tuteur1_prenom, setp_detail_tuteur1_prenom] = useState("");
|
||||
const [p_detail_tuteur1_email, setp_detail_tuteur1_email] = useState("");
|
||||
|
@ -3394,7 +3443,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
if (String(res.data.status) === "true") {
|
||||
// console.log(" In GetAttendee res.data.status = " + res.data.status);
|
||||
// console.log(" In GetAttendee res.data.message r_class = " + res.data.message);
|
||||
//console.log(" In GetAttendee res.data.message r_class = " + res.data.message);
|
||||
setGetAttendee_api("true");
|
||||
setGetAttendee_result(res.data.message);
|
||||
|
||||
|
@ -3555,6 +3604,13 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
}
|
||||
|
||||
|
||||
if (mylocalattendee.archive) {
|
||||
setp_detail_archive(mylocalattendee.archive);
|
||||
} else {
|
||||
setp_detail_archive("0");
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (mylocalattendee.employeur) {
|
||||
setp_detail_employeur(mylocalattendee.employeur);
|
||||
|
@ -3862,28 +3918,43 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
if (!p_one_civilite_part || p_one_civilite_part.trim() == "") {
|
||||
alert(" Vous devez saisir la civilité du participant");
|
||||
// alert(" Vous devez saisir la civilité du participant");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez saisir la civilité du participant");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!p_one_nom_part || p_one_nom_part.trim() == "") {
|
||||
alert(" Vous devez saisir le nom du participant");
|
||||
// alert(" Vous devez saisir le nom du participant");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez saisir le nom du participant");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (!p_one_prenom_part || p_one_prenom_part.trim() == "") {
|
||||
alert(" Vous devez saisir le prenom du participant");
|
||||
// alert(" Vous devez saisir le prenom du participant");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez saisir le prenom du participant");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!p_one_naissance_part || p_one_naissance_part.trim() == "") {
|
||||
alert(" Vous devez saisir la date de naissance du participant");
|
||||
// alert(" Vous devez saisir la date de naissance du participant");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez saisir la date de naissance du participant");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!p_one_email_part || p_one_email_part.trim() == "") {
|
||||
alert(" Vous devez saisir l'email du participant");
|
||||
// alert(" Vous devez saisir l'email du participant");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez saisir l'email du participant");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3892,19 +3963,28 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||
if (!p_one_email_part.trim().match(validRegex)) {
|
||||
alert("L'adresse email est invalide 1.");
|
||||
// alert("L'adresse email est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("L'adresse email est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (!p_one_phone_part || p_one_phone_part.trim() == "") {
|
||||
alert(" Vous devez saisir le téléphone du participant");
|
||||
// alert(" Vous devez saisir le téléphone du participant");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez saisir le téléphone du participant");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (!p_one_detail_session_class || p_one_detail_session_class.trim() == "") {
|
||||
alert(" La session est invalide");
|
||||
// alert(" La session est invalide");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" La session est invalide");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3922,22 +4002,34 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
form.append("telephone", p_one_phone_part.trim());
|
||||
|
||||
if (String(p_one_civilite_part).trim().length == 0) {
|
||||
alert("La civilité est invalide.");
|
||||
// alert("La civilité est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("La civilité est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
if (String(p_one_nom_part).trim().length < 2) {
|
||||
alert("Le nom est invalide.");
|
||||
// alert("Le nom est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le nom est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
if (String(p_one_prenom_part).trim().length < 2) {
|
||||
alert("Le prenom est invalide.");
|
||||
// alert("Le prenom est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le prenom est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
if (String(p_one_phone_part).trim().length < 2) {
|
||||
alert("Le Téléphone est invalide.");
|
||||
// alert("Le Téléphone est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le Téléphone est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -4004,7 +4096,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
local_value = local_value.replaceAll(",", ".");
|
||||
|
||||
if (isNaN(local_value)) {
|
||||
alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.")
|
||||
var txt = "Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique."
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -4013,7 +4108,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
}
|
||||
if (String(spec_field_updated_values_hooks[i].is_mandatory) === "1") {
|
||||
if (String(local_value).trim().length <= 0) {
|
||||
alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.")
|
||||
var txt = "Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -4090,7 +4188,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
if (p_detail_session_class.length <= 0) {
|
||||
alert(" Vous devez choisir une session");
|
||||
// alert(" Vous devez choisir une session");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez choisir une session");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -4106,29 +4207,44 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
form.append("date_naissance", p_detail_naissance);
|
||||
|
||||
if (!p_detail_nom || String(p_detail_nom).trim().length < 2) {
|
||||
alert("Le nom est invalide.");
|
||||
// alert("Le nom est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le nom est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!p_detail_prenom || String(p_detail_prenom).trim().length < 2) {
|
||||
alert("Le prenom est invalide.");
|
||||
// alert("Le prenom est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le prenom est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!p_detail_civilite || String(p_detail_civilite).trim() === "") {
|
||||
alert("La civilité est invalide.");
|
||||
// alert("La civilité est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("La civilité est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!p_detail_tel || String(p_detail_tel).trim().length < 2) {
|
||||
alert("Le numéro de téléphone est invalide.");
|
||||
// alert("Le numéro de téléphone est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le numéro de téléphone est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||
if (!p_detail_mail.trim().match(validRegex)) {
|
||||
alert("L'adresse email est invalide.");
|
||||
// alert("L'adresse email est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("L'adresse email est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -4221,7 +4337,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
local_value = local_value.replaceAll(",", ".");
|
||||
|
||||
if (isNaN(local_value)) {
|
||||
alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.")
|
||||
var txt = "Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -4231,7 +4350,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
}
|
||||
if (String(spec_field_updated_values_hooks[i].is_mandatory) === "1") {
|
||||
if (String(local_value).trim().length <= 0) {
|
||||
alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.")
|
||||
var txt = "Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -4258,7 +4380,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setparticipant_data_changed();
|
||||
setparticipant_data_edit_mode();
|
||||
GetAttendee_Data(p_detail_mail, p_detail_session_class_id, selected_internal_url);
|
||||
alert(" La mise à jour a été correctement faite.");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" La mise à jour a été correctement faite.");
|
||||
setalert_type("error");
|
||||
|
||||
|
||||
//myRef_head.current.scrollIntoView({ behavior: "smooth" });
|
||||
|
@ -4285,7 +4410,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( mysearchtext = ' + error);
|
||||
setUpdateStagiaireData_api("false");
|
||||
alert(" Impossible de mettre à jour le participant");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de mettre à jour le participant");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -4301,7 +4429,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
if (p_detail_session_class.length <= 0) {
|
||||
alert(" Vous devez choisir une session");
|
||||
// alert(" Vous devez choisir une session");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez choisir une session");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -4332,7 +4463,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setparticipant_data_changed();
|
||||
setparticipant_data_edit_mode();
|
||||
GetAttendee_Data(p_detail_mail, p_detail_session_class_id, selected_internal_url);
|
||||
alert(" La mise à jour a été correctement faite.");
|
||||
// alert(" La mise à jour a été correctement faite.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" La mise à jour a été correctement faite.");
|
||||
setalert_type("error");
|
||||
|
||||
|
||||
//myRef_head.current.scrollIntoView({ behavior: "smooth" });
|
||||
|
@ -4399,8 +4533,8 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Partner_List_Partner_Client/";
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Get_List_Partner_Clients res.data.status = " + res.data.status);
|
||||
//console.log(" In Get_List_Partner_Clients res.data.message r_class = " + res.data.message);
|
||||
// console.log(" In Get_List_Partner_Clients res.data.status = " + res.data.status);
|
||||
// console.log(" In Get_List_Partner_Clients res.data.message r_class = " + res.data.message);
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setGet_List_Partner_Clients_api("true");
|
||||
|
@ -4440,6 +4574,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
if (new_data2.length > 0)
|
||||
setNew_Get_List_Partner_Clients_result(new_data2);
|
||||
else
|
||||
setNew_Get_List_Partner_Clients_result([]);
|
||||
|
||||
//console.log(" ### setNew_Get_List_Partner_Clients_result new_data2 = ", new_data2)
|
||||
}
|
||||
else if (String(res.data.status) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + res.data.message);
|
||||
|
@ -5525,7 +5663,6 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
if (String(actionmass_ftion_val) === String("valide_inscr")) {
|
||||
Accept_List_Inscritpion(liste_session);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -5559,9 +5696,95 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setDialog_PUSH_DOCUMENT_TO_ENT_open(true);
|
||||
setent_push_doc_message_notif("");
|
||||
}
|
||||
|
||||
if (String(actionmass_ftion_val) === String("archive_desarchive")) {
|
||||
Archive_Given_Stagiaire();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const [Archive_Given_Stagiaire_api, setArchive_Given_Stagiaire_api] = useState();
|
||||
const [Archive_Given_Stagiaire_message, setArchive_Given_Stagiaire_message] = useState();
|
||||
const [Archive_Given_Stagiaire_result, setArchive_Given_Stagiaire_result] = useState();
|
||||
|
||||
function Archive_Given_Stagiaire() {
|
||||
|
||||
var archive_statut = "1"
|
||||
|
||||
var tab_tmp = []
|
||||
|
||||
for (var i = 0; i < selectionModel.length; i++) {
|
||||
var myid = parseInt(String(selectionModel[i]));
|
||||
var line = JSON.parse(rowss[myid]);
|
||||
tab_tmp.push(line._id);
|
||||
//console.log(rowss[myid]['external_code']);
|
||||
|
||||
// Si une seule ligne est a le statut "non archivé", alors on archive
|
||||
if (line.archive && String(line.archive) === "0")
|
||||
archive_statut = String(line.archive)
|
||||
}
|
||||
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("tab_stagiaire_ids", tab_tmp);
|
||||
|
||||
|
||||
var myurl = "";
|
||||
if (archive_statut !== "1")
|
||||
myurl = process.env.REACT_APP_API_URL + "myclass/api/archive_stagiaire/";
|
||||
else
|
||||
myurl = process.env.REACT_APP_API_URL + "myclass/api/unarchive_stagiaire/";
|
||||
|
||||
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Archive_Given_Stagiaire res.data.status = " + res.data.status);
|
||||
//console.log(" In Archive_Given_Stagiaire res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setArchive_Given_Stagiaire_api("true");
|
||||
setArchive_Given_Stagiaire_result(res.data.message);
|
||||
|
||||
setSelectionModel([]);
|
||||
setactionmass_ftion_val("");
|
||||
|
||||
Getall_TrainingParticipant();
|
||||
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
|
||||
}
|
||||
else {
|
||||
setArchive_Given_Stagiaire_api("false");
|
||||
setArchive_Given_Stagiaire_message(res.data.message);
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("error");
|
||||
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
|
||||
|
||||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Archive_Given_Stagiaire = ' + error);
|
||||
setArchive_Given_Stagiaire_api("false");
|
||||
|
||||
alert(" Impossible d'archiver/deséarchiver les stagiaires ");
|
||||
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function Export_Inscriptions(tab_class) {
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
|
@ -5650,7 +5873,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
tab_tmp.push(line.email);
|
||||
tab_tmp_inscription_id.push(line._id);
|
||||
tab_tmp_session_id.push(line.session_id);
|
||||
console.log(" ### line = ", line); // zzzz
|
||||
|
||||
}
|
||||
setselectedtraining_emails(tab_tmp);
|
||||
|
||||
|
@ -5912,7 +6135,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
|
||||
|
||||
if (p_detail_session_class.length <= 0) {
|
||||
alert(" Vous devez choisir une session");
|
||||
// alert(" Vous devez choisir une session");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez choisir une session");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
|
@ -5940,7 +6166,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
if (p_detail_tuteur1_email && String(p_detail_tuteur1_email).trim() !== "") {
|
||||
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||
if (!p_detail_tuteur1_email.trim().match(validRegex)) {
|
||||
alert("L'adresse email du tuteur est invalide.");
|
||||
// alert("L'adresse email du tuteur est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("L'adresse email du tuteur est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -6005,7 +6234,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
if (p_detail_tuteur2_email && String(p_detail_tuteur2_email).trim() !== "") {
|
||||
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||
if (!p_detail_tuteur2_email.trim().match(validRegex)) {
|
||||
alert("L'adresse email du tuteur est invalide.");
|
||||
// alert("L'adresse email du tuteur est invalide.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("L'adresse email du tuteur est invalide.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
form.append("tuteur2_email", p_detail_tuteur2_email.trim());
|
||||
|
@ -6583,6 +6815,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
{ "id": "3", "label": "Desactiver Recyclage", "value": "recyclage_disable" },
|
||||
{ "id": "4", "label": "Contacter par Email", "value": "sendemail" },
|
||||
{ "id": "5", "label": "Partager Document", "value": "pushdocument" },
|
||||
{ "id": "6", "label": "Archiver/Désarch.", "value": "archive_desarchive" },
|
||||
]
|
||||
|
||||
|
||||
|
@ -6617,6 +6850,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
{ "id": "code_session", "label": "Code Promo", "value": "code_session" },
|
||||
{ "id": "class_title", "label": "Titre Formation", "value": "class_title" },
|
||||
{ "id": "client_nom", "label": "Lié au Client (nom client) ", "value": "client_nom" },
|
||||
{ "id": "archive", "label": "Archive", "value": "archive" },
|
||||
{ "id": "", "label": "", "value": "" },
|
||||
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
|
||||
]
|
||||
|
@ -7145,6 +7379,15 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
const [ent_push_doc_message_notif, setent_push_doc_message_notif] = useState(false);
|
||||
|
||||
const New_Option_Is_archive = [
|
||||
{ "id": "1", "label": "Oui", "value": "1" },
|
||||
{ "id": "0", "label": "Non", "value": "0" },
|
||||
{ "id": "2", "label": "Tout", "value": "2" },
|
||||
{ "id": "", "label": "", "value": "" },
|
||||
]
|
||||
|
||||
const [is_recherche, setis_recherche] = useState("0");
|
||||
|
||||
return (
|
||||
<div className="displaypartnerstagiaire">
|
||||
{isLoading && <div className="loader-container">
|
||||
|
@ -7304,8 +7547,8 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup_annuler"
|
||||
<button
|
||||
className="gest_bton_popup_annuler"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
|
@ -8532,7 +8775,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
|
||||
<div className="div_row_droite texte_area_filter_value" >
|
||||
{String(p_filtre1) !== "archive" && <div className="div_row_droite texte_area_filter_value" >
|
||||
{p_filtre1 &&
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
@ -8562,7 +8805,35 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
/>
|
||||
|
||||
}
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
{String(p_filtre1) === "archive" && <div className="div_row_droite texte_area_filter_value" >
|
||||
{p_filtre1 &&
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
name="filtre1_value"
|
||||
id="filtre1_value"
|
||||
value={New_Option_Is_archive.filter((data) => (data).id === String(p_filtre1_value))[0].label}
|
||||
sx={{ float: "right" }}
|
||||
className="disabled_style"
|
||||
|
||||
options={New_Option_Is_archive}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setp_filtre1_value(value.value);
|
||||
} else {
|
||||
setp_filtre1_value("");
|
||||
}
|
||||
}}
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>}
|
||||
/>
|
||||
|
||||
}
|
||||
</div>}
|
||||
|
||||
{p_filtre1 && <div className='filter_bton_add'>
|
||||
<Tooltip className="tooltip_css" id="my-tooltip01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="my-tooltip01" data-tooltip-html="Ajouter une nouvelle ligne de filtre">
|
||||
|
@ -8612,29 +8883,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
/>}
|
||||
|
||||
|
||||
{/*<TextField
|
||||
name="filtre2"
|
||||
label="Choisir un champ"
|
||||
select
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
options={filters}
|
||||
value={p_filtre2}
|
||||
onChange={(e) => {
|
||||
setp_filtre2(e.target.value);
|
||||
|
||||
}}
|
||||
>
|
||||
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email </MenuItem>
|
||||
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom </MenuItem>
|
||||
<MenuItem value="code_session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Code Session </MenuItem>
|
||||
<MenuItem value="class_title" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Titre Formation </MenuItem>
|
||||
<MenuItem value="client_nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié au Client (nom client) </MenuItem>
|
||||
|
||||
|
||||
</TextField>*/}
|
||||
</div>
|
||||
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
|
||||
{String(p_filtre2).length > 2 &&
|
||||
{String(p_filtre2).length > 2 && String(p_filtre2) !== "archive" &&
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
|
@ -8661,6 +8913,29 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
}}
|
||||
|
||||
/>}
|
||||
|
||||
{String(p_filtre2).length > 2 && String(p_filtre2) === "archive" &&
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
name="filtre2_value"
|
||||
id="filtre2_value"
|
||||
value={New_Option_Is_archive.filter((data) => (data).id === String(p_filtre2_value))[0].label}
|
||||
sx={{ float: "right" }}
|
||||
className="disabled_style"
|
||||
|
||||
options={New_Option_Is_archive}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setp_filtre2_value(value.value);
|
||||
} else {
|
||||
setp_filtre2_value("");
|
||||
}
|
||||
}}
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>}
|
||||
/>}
|
||||
</div>
|
||||
|
||||
{String(p_filtre2).length > 2 && <div className='filter_bton_add' >
|
||||
|
@ -8718,28 +8993,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
/>}
|
||||
|
||||
|
||||
{/*<TextField
|
||||
name="filtre3"
|
||||
label="Choisir un champ"
|
||||
select
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
options={filters}
|
||||
value={p_filtre3}
|
||||
onChange={(e) => {
|
||||
setp_filtre3(e.target.value)
|
||||
}}
|
||||
>
|
||||
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email </MenuItem>
|
||||
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom </MenuItem>
|
||||
<MenuItem value="code_session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Code Session </MenuItem>
|
||||
<MenuItem value="class_title" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Titre Formation </MenuItem>
|
||||
<MenuItem value="client_nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié au Client (nom client) </MenuItem>
|
||||
|
||||
|
||||
</TextField>*/}
|
||||
</div>
|
||||
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
|
||||
{String(p_filtre3).length > 2 &&
|
||||
{String(p_filtre3).length > 2 && String(p_filtre3) !== "archive" &&
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
|
@ -8766,6 +9023,31 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
}}
|
||||
|
||||
/>}
|
||||
|
||||
{String(p_filtre3).length > 3 && String(p_filtre3) === "archive" &&
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
name="filtre2_value"
|
||||
id="filtre2_value"
|
||||
value={New_Option_Is_archive.filter((data) => (data).id === String(p_filtre3_value))[0].label}
|
||||
sx={{ float: "right" }}
|
||||
className="disabled_style"
|
||||
|
||||
options={New_Option_Is_archive}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setp_filtre3_value(value.value);
|
||||
} else {
|
||||
setp_filtre3_value("");
|
||||
}
|
||||
}}
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>}
|
||||
/>
|
||||
}
|
||||
|
||||
</div>
|
||||
|
||||
{String(p_filtre2).length > 2 && <div className='filter_bton_add' >
|
||||
|
@ -8819,26 +9101,6 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
/>}
|
||||
|
||||
|
||||
|
||||
{/*<TextField
|
||||
name="filtre4"
|
||||
label="Choisir un champ"
|
||||
select
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
options={filters}
|
||||
value={p_filtre4}
|
||||
onChange={(e) => {
|
||||
setp_filtre4(e.target.value)
|
||||
}}
|
||||
>
|
||||
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email </MenuItem>
|
||||
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom </MenuItem>
|
||||
<MenuItem value="code_session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Code Session </MenuItem>
|
||||
<MenuItem value="class_title" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Titre Formation </MenuItem>
|
||||
<MenuItem value="client_nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié au Client (nom client) </MenuItem>
|
||||
|
||||
|
||||
</TextField> */}
|
||||
</div>
|
||||
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
|
||||
{String(p_filtre4).length > 2 &&
|
||||
|
@ -8889,12 +9151,21 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
<div className="div_row" ref={myRef_head} id="myRef_head" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
<Button variant="contained" className="bton_enreg" onClick={Getall_TrainingParticipant}>Rechercher
|
||||
<Button variant="contained" className="bton_enreg"
|
||||
onClick={(event) => {
|
||||
Getall_TrainingParticipant();
|
||||
setis_recherche("1");
|
||||
}} >Rechercher
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
<Button variant="contained" className="bton_annule" onClick={clean_all_filters}>Annuler
|
||||
<Button variant="contained" className="bton_annule"
|
||||
onClick={(event) => {
|
||||
clean_all_filters();
|
||||
setis_recherche("");
|
||||
}}
|
||||
>Annuler
|
||||
</Button>
|
||||
|
||||
</div>
|
||||
|
@ -8986,6 +9257,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
}}
|
||||
>
|
||||
<DataGrid
|
||||
loading={loading_datagrid}
|
||||
checkboxSelection
|
||||
components={{
|
||||
Toolbar: CustomToolbar
|
||||
|
@ -9048,6 +9320,8 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
nb_jour_avant_recyclage: JSON.parse(item).nb_jour_avant_recyclage,
|
||||
warning_recyclage: JSON.parse(item).warning_recyclage,
|
||||
warning_recyclage_alert: JSON.parse(item).warning_recyclage,
|
||||
|
||||
archive: JSON.parse(item).archive,
|
||||
}
|
||||
))}
|
||||
|
||||
|
@ -9393,11 +9667,13 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
if (String(value.value) === "supprimer"
|
||||
|| String(value.value) === "convention" || String(value.value) === "exporter"
|
||||
|| String(value.value) === "convention"
|
||||
|| String(value.value) === "exporter"
|
||||
|| String(value.value) === "valide_inscr"
|
||||
|| String(value.value) === "recyclage_disable"
|
||||
|| String(value.value) === "sendemail"
|
||||
|| String(value.value) === "pushdocument") {
|
||||
|| String(value.value) === "pushdocument"
|
||||
|| String(value.value) === "archive_desarchive") {
|
||||
setactionmass_ftion_val(value.value);
|
||||
}
|
||||
else {
|
||||
|
@ -9462,6 +9738,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
<font> Confirmer la <b> rédaction d'un email </b> en masse pour {selectionModel.length} lignes.
|
||||
</font>}
|
||||
|
||||
{String(actionmass_ftion_val) === "archive_desarchive" &&
|
||||
<font> Confirmer la <b> l'archivage / désarchivage </b> en masse pour {selectionModel.length} lignes.
|
||||
</font>}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
@ -9516,7 +9796,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
<Button variant="outlined" onClick={submenu_import_stagiaire} className="detail_class_submenu bton_import_excel"
|
||||
id='menu_import_participant' name='menu_import_participant'>Importer des participants excel
|
||||
id='menu_import_participant' name='menu_import_participant' style={{ maxWidth: "20rem" }}>Importer des participants excel
|
||||
<img src={excel_icone} alt="ajout csv" className="icon_excel" />
|
||||
</Button>
|
||||
|
||||
|
@ -10152,7 +10432,11 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
{String(display_detail_stagiaire) === "1" && selected_code_session && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Détail inscrit </nav>
|
||||
{p_detail_archive && String(p_detail_archive) === "1" &&
|
||||
<div class="block_archive"> Document Archivé </div>}
|
||||
|
||||
|
||||
<nav style={{ "border": "None", "fontSize": "16px", "fontWeight": "600", fontFamily: 'DM Sans' }}> Détail inscrit </nav>
|
||||
{String(GetAttendee_api) === "true" && <div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
{String(Resend_LMS_Credentials_api) === "true" && <div className="div_row okUpdateData" style={{ "textAlign": "center" }}>
|
||||
|
@ -11808,7 +12092,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
{Get_List_Of_All_PJ_result && Get_List_Of_All_PJ_result.map((val) => (
|
||||
<div className="div_row_list_pj" >
|
||||
<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 />
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Popup
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Popup
|
||||
trigger={
|
||||
<nav style={{ "color": "red", "cursor": "pointer" }} > Supprimer</nav>
|
||||
|
||||
|
@ -11929,7 +12213,6 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
/>
|
||||
}
|
||||
/>
|
||||
|
||||
}
|
||||
|
||||
</div>
|
||||
|
|
|
@ -1385,7 +1385,7 @@ const Display_Partner_Catalog_DetailClass_new_v2 = (props) => {
|
|||
else {
|
||||
setGet_Subdomain_Partner_Data_api("false");
|
||||
setGet_Subdomain_Partner_Data_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
//alert(res.data.message);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
|
|
|
@ -1,60 +1,37 @@
|
|||
import React, { useRef, useState, useEffect } from "react";
|
||||
import TextField from '@mui/material/TextField';
|
||||
import MenuItem from '@mui/material/MenuItem';
|
||||
|
||||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||
import Button from '@mui/material/Button';
|
||||
import axios from "axios";
|
||||
import { getCookie, setCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
import CheckOut from "./CheckOut";
|
||||
|
||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
import { Editor } from '@tinymce/tinymce-react';
|
||||
import parse from 'html-react-parser';
|
||||
import { FcViewDetails, FcDisapprove } from "react-icons/fc";
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
import Popup from 'reactjs-popup';
|
||||
import 'reactjs-popup/dist/index.css';
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
|
||||
import DatePicker from "react-datepicker";
|
||||
import "react-datepicker/dist/react-datepicker.css";
|
||||
import { format } from 'date-fns'
|
||||
import moment from "moment";
|
||||
import InputAdornment from '@mui/material/InputAdornment';
|
||||
import { AiFillCloseCircle } from "react-icons/ai";
|
||||
import Box from '@mui/material/Box';
|
||||
import { Typography, LinearProgress } from '@mui/material';
|
||||
import styled from 'styled-components';
|
||||
import { CiTrash } from "react-icons/ci";
|
||||
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
|
||||
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 { TransitionProps } from '@mui/material/transitions';
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
import { useParams } from 'react-router-dom'
|
||||
import Header from "./Header";
|
||||
import Footer from "./Fotter";
|
||||
import { FcInfo } from "react-icons/fc";
|
||||
import { Document, Page } from 'react-pdf'
|
||||
|
||||
import { gridClasses } from '@mui/x-data-grid';
|
||||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree } from "react-icons/pi";
|
||||
import SignatureCanvas from 'react-signature-canvas';
|
||||
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
|
||||
import { makeStyles } from "@material-ui/core/styles";
|
||||
import Paper from '@material-ui/core/Paper';
|
||||
import Draggable from 'react-draggable';
|
||||
import { IconButton } from '@material-ui/core';
|
||||
import AutoFixHighOutlinedIcon from '@mui/icons-material/AutoFixHighOutlined';
|
||||
|
||||
import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
|
||||
|
||||
function PaperComponent(props) {
|
||||
|
@ -279,6 +256,12 @@ function Emarge_QR_Code() {
|
|||
var liste_formation = GetSelectedRows_Emarg_Ids();
|
||||
var tab_emargement = [];
|
||||
|
||||
if (liste_formation.length <= 0) {
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Vous devez sélectionner une ligne d'émargement");
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
for (var i = 0; i < liste_formation.length; i++) {
|
||||
var line = JSON.parse(get_E_Document_result[liste_formation[i]]);
|
||||
tab_emargement.push(line._id)
|
||||
|
@ -507,17 +490,41 @@ function Emarge_QR_Code() {
|
|||
|
||||
const [pad_signature_img, setpad_signature_img] = React.useState("");
|
||||
|
||||
const [display_alert_mysy, setdisplay_alert_mysy] = useState("");
|
||||
const [alert_message, setalert_message] = useState("");
|
||||
const [alert_type, setalert_type] = useState("");
|
||||
|
||||
function clear_alert_message() {
|
||||
setalert_message("");
|
||||
}
|
||||
function clear_alert_type() {
|
||||
setalert_type("");
|
||||
}
|
||||
function clear_display_alert_mysy() {
|
||||
setdisplay_alert_mysy("");
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="emarge_qr_code">
|
||||
{/*** 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*/}
|
||||
|
||||
|
||||
|
||||
{/* POUR SIGNATURE MANUSCRITE */}
|
||||
<Dialog
|
||||
open={Dialog_SIGN_MANUSCRITE_open}
|
||||
// onClose={Dialog_SIGN_MANUSCRITE_handleClose}
|
||||
// onClose={Dialog_SIGN_MANUSCRITE_handleClose}
|
||||
className="esign"
|
||||
|
||||
|
||||
|
||||
static
|
||||
onClose={() => null}
|
||||
|
@ -544,7 +551,7 @@ function Emarge_QR_Code() {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">Signature Manuscrite </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title">Signature Manuscrite </DialogTitle>
|
||||
|
||||
<DialogContent className="DialogContent_width" >
|
||||
<div style={{ width: "100%" }}>
|
||||
|
@ -556,9 +563,9 @@ function Emarge_QR_Code() {
|
|||
}} />
|
||||
</div>
|
||||
|
||||
<div style={{ width: "100%", marginLeft:'auto', marginRight:'auto', width:315 }}>
|
||||
|
||||
<nav className="bton_supprime_image_class" style={{width:'100%'}} onClick={(e) => {
|
||||
<div style={{ width: "100%", marginLeft: 'auto', marginRight: 'auto', width: 315 }}>
|
||||
|
||||
<nav className="bton_supprime_image_class" style={{ width: '100%' }} onClick={(e) => {
|
||||
clearCanvas();
|
||||
|
||||
}}>Effacer </nav>
|
||||
|
@ -571,7 +578,7 @@ function Emarge_QR_Code() {
|
|||
|
||||
<DialogActions>
|
||||
|
||||
<IconButton
|
||||
<IconButton
|
||||
autoFocus
|
||||
onClick={Dialog_SIGN_MANUSCRITE_handleClose_buton}
|
||||
color="primary"
|
||||
|
@ -602,10 +609,10 @@ function Emarge_QR_Code() {
|
|||
onClose={Dialog_SIGN_VALIDATION_handleClose}
|
||||
className="esign"
|
||||
|
||||
>
|
||||
>
|
||||
|
||||
{!erreur_recup_e_doc && <DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> Signature </DialogTitle>}
|
||||
{erreur_recup_e_doc && <DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> Signature - <font color="red"> Identifiants invalides </font></DialogTitle>}
|
||||
{!erreur_recup_e_doc && <DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> Signature </DialogTitle>}
|
||||
{erreur_recup_e_doc && <DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> Signature - <font color="red"> Identifiants invalides </font></DialogTitle>}
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
|
||||
|
@ -678,8 +685,8 @@ function Emarge_QR_Code() {
|
|||
|
||||
>
|
||||
|
||||
{!erreur_recup_e_doc && <DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> Authentification </DialogTitle>}
|
||||
{erreur_recup_e_doc && <DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> Authentification - <font color="red"> Identifiants invalides </font></DialogTitle>}
|
||||
{!erreur_recup_e_doc && <DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> Authentification </DialogTitle>}
|
||||
{erreur_recup_e_doc && <DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> Authentification - <font color="red"> Identifiants invalides </font></DialogTitle>}
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
|
||||
|
@ -749,7 +756,7 @@ function Emarge_QR_Code() {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> Information </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> Information </DialogTitle>
|
||||
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
|
@ -782,7 +789,7 @@ function Emarge_QR_Code() {
|
|||
</div>}
|
||||
|
||||
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Emargement électronique </h3>
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Emargement électronique </h3>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="block_guide_line" >
|
||||
|
@ -1026,7 +1033,7 @@ function Emarge_QR_Code() {
|
|||
<div className="div_row">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ import tick_ko from "../../mysy_img/tick_KO.png";
|
|||
import img_header from "../../mysy_img2/img_header.png"
|
||||
import img_header_jmg from "../../mysy_img2/img_jmj_modif.jpg"
|
||||
|
||||
import jmj_banniere_for_mobile from "../../mysy_img/jmj_bannier_mobile.png";
|
||||
|
||||
import { TbArrowsDownUp } from "react-icons/tb";
|
||||
|
||||
|
@ -1238,7 +1239,7 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
form.append("user_longitude", longitude);
|
||||
form.append("user_state", state);
|
||||
form.append("subdomain", "colasrail");
|
||||
// form.append("subdomain", "nousformons");
|
||||
// form.append("subdomain", "nousformons");
|
||||
|
||||
|
||||
var myurl = ""
|
||||
|
@ -1307,7 +1308,7 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
setResult([]);
|
||||
|
||||
|
||||
|
||||
|
||||
//Get Criterias
|
||||
var crit_SearchText = "";
|
||||
var myurl = "";
|
||||
|
@ -2463,7 +2464,7 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
var form = new FormData();
|
||||
|
||||
form.append("subdomain", "colasrail");
|
||||
// form.append("subdomain", "nousformons");
|
||||
// form.append("subdomain", "nousformons");
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Partner_Data_From_Subdomain/";
|
||||
|
||||
|
@ -2766,7 +2767,6 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
|
||||
return (
|
||||
|
||||
|
||||
<div className="mon_catalogue_public jmj_formation" >
|
||||
|
||||
|
||||
|
@ -3536,7 +3536,7 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
|
||||
<div className="bloc_logo_indic_contact">
|
||||
|
||||
<font className="bloc_logo_indic_contact_text"> Contact </font> <br />
|
||||
<font className="bloc_logo_indic_contact_text"> Contact </font> <br />
|
||||
Tel : {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_contact_public_telephone} <br />
|
||||
Email : {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_contact_public_email}
|
||||
</div>
|
||||
|
@ -4082,31 +4082,39 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
<div className="jmj_block_header">
|
||||
|
||||
<div className="jmj_block_header_img">
|
||||
<div style={{ "width": "100%", float: "left" }}>
|
||||
<div style={{ "width": "100%", float: "left" }} >
|
||||
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
|
||||
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_banniere_img && <div >
|
||||
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_banniere_img &&
|
||||
<div className="jmj_banniere_no_mobile">
|
||||
<img src={New_Get_Subdomain_Partner_Data_result[0].catalog_pub_banniere_img} className="Partner_Catalog_Background_Header_jmj"></img>
|
||||
</div>}
|
||||
|
||||
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
|
||||
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_banniere_img &&
|
||||
<div className="jmj_banniere_mobile">
|
||||
<img src={jmj_banniere_for_mobile} className="Partner_Catalog_Background_Header_jmj"></img>
|
||||
</div>}
|
||||
|
||||
|
||||
<div className="jmj_header_gauche">
|
||||
|
||||
<div className="bloc_logo_indic" style={{ position: "unset" }}>
|
||||
<div className="bloc_logo_indic" style={{ position: "unset", width: '100%' }}>
|
||||
|
||||
<div className="bloc_logo_indic_logo">
|
||||
<div className="jmj_bloc_logo_indic_logo" >
|
||||
<img src={New_Get_Subdomain_Partner_Data_result[0].catalog_pub_logo} />
|
||||
</div>
|
||||
|
||||
<div className="bloc_logo_indic_contact">
|
||||
{String(New_Get_Subdomain_Partner_Data_result[0].affiche_contact) === "1" && <div className="jmj_bloc_logo_indic_contact"
|
||||
>
|
||||
|
||||
<font className="bloc_logo_indic_contact_text"> Contact </font> <br />
|
||||
<font className="bloc_logo_indic_contact_text" style={{ fontSize: '25px', color: '#16274F', }}> Contactez-nous </font> <br />
|
||||
Tel : {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_contact_public_telephone} <br />
|
||||
Email : {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_contact_public_email}
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
{String(New_Get_Subdomain_Partner_Data_result[0].affiche_indicateur) === "1" && <div className="bloc_logo_indic_indic">
|
||||
<font className="bloc_logo_indic_indic_text"> Indicateurs </font> <br />
|
||||
{String(New_Get_Subdomain_Partner_Data_result[0].affiche_indicateur) === "1" && <div className="jmj_bloc_logo_indic_indic">
|
||||
|
||||
<font className="bloc_logo_indic_indic_text" style={{ fontSize: '25px', color: '#16274F', }}> Nos performances </font> <br />
|
||||
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
|
||||
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_txt &&
|
||||
<div style={{
|
||||
|
@ -4114,6 +4122,7 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
width: '100%',
|
||||
fontSize: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_taille}` + "px",
|
||||
color: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_color}`,
|
||||
color: '#16274F',
|
||||
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_gras}`,
|
||||
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_txt}
|
||||
</div>}
|
||||
|
@ -4125,6 +4134,7 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
width: '100%',
|
||||
fontSize: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_2_taille}` + "px",
|
||||
color: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_2_color}`,
|
||||
color: '#16274F',
|
||||
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_2_gras}`,
|
||||
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_2_txt}
|
||||
</div>}
|
||||
|
@ -4136,6 +4146,7 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
width: '100%',
|
||||
fontSize: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_3_taille}` + "px",
|
||||
color: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_3_color}`,
|
||||
color: '#16274F',
|
||||
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_3_gras}`,
|
||||
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_3_txt}
|
||||
</div>}
|
||||
|
@ -4147,12 +4158,13 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
width: '100%',
|
||||
fontSize: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_taille}` + "px",
|
||||
color: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_color}`,
|
||||
color: '#16274F',
|
||||
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_gras}`,
|
||||
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_txt}
|
||||
</div>}
|
||||
</div>}
|
||||
|
||||
<div className="bloc_milieu" style={{ position: "unset" }}>
|
||||
{String(New_Get_Subdomain_Partner_Data_result[0].affiche_raison_sociale) === "1" && <div className="bloc_milieu" style={{ position: "unset" }}>
|
||||
<div className="bloc_milieu_text">
|
||||
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0 &&
|
||||
|
||||
|
@ -4188,15 +4200,15 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
src={img_header_jmg} />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="jmj_header_droite">
|
||||
{/*<div className="jmj_header_droite">
|
||||
<img src={img_header_jmg} style={{ width: '100%', paddingTop: '3rem' }} />
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -4409,7 +4421,7 @@ const Jmjformation_Catalogue_Public = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div style={{ width: '100%', marginBottom:"1rem" }}>
|
||||
<div style={{ width: '100%', marginBottom: "1rem" }}>
|
||||
|
||||
<div className="block_display_flex_formation" style={{ width: '100%' }}>
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
background: transparent !important;
|
||||
color: white !important;
|
||||
z-index: 999;
|
||||
}
|
||||
}
|
||||
|
||||
.css-qbdosj-Input {
|
||||
background: transparent !important;
|
||||
|
@ -163,7 +163,7 @@
|
|||
margin-top: 0.5rem;
|
||||
margin-right: auto;
|
||||
margin-bottom: 10px;
|
||||
height: auto;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.rech_middlebox {
|
||||
|
@ -2255,6 +2255,12 @@
|
|||
flex-wrap: wrap;
|
||||
justify-content: left;
|
||||
}
|
||||
|
||||
.jmj_banniere_no_mobile {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jmj_banniere_mobile {}
|
||||
}
|
||||
|
||||
|
||||
|
@ -2341,9 +2347,9 @@
|
|||
.rech_leftbox {
|
||||
border-width: 1px;
|
||||
|
||||
height: auto;
|
||||
height: auto;
|
||||
padding: 0.1rem;
|
||||
border-radius: 1rem;
|
||||
border-radius: 0px;
|
||||
margin-bottom: 0.1rem;
|
||||
font-family: "DM Sans" !important;
|
||||
background: white;
|
||||
|
@ -2351,8 +2357,8 @@
|
|||
margin-top: 0.5rem;
|
||||
padding-left: 5px;
|
||||
|
||||
width: 80%;
|
||||
margin-left: 10%;
|
||||
width: 98%;
|
||||
margin-left: 1%;
|
||||
}
|
||||
|
||||
.rech_middlebox {
|
||||
|
@ -5348,6 +5354,12 @@
|
|||
justify-content: left;
|
||||
}
|
||||
|
||||
.jmj_banniere_no_mobile {}
|
||||
|
||||
.jmj_banniere_mobile {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -5426,7 +5438,7 @@
|
|||
float: left;
|
||||
border-width: 1px;
|
||||
width: 100%;
|
||||
|
||||
|
||||
padding: 0.1rem;
|
||||
border-radius: 1rem;
|
||||
margin-bottom: 0.1rem;
|
||||
|
@ -5435,7 +5447,7 @@
|
|||
margin-left: 5px;
|
||||
margin-top: 0.5rem;
|
||||
padding-left: 5px;
|
||||
height: auto;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.rech_middlebox {
|
||||
|
@ -8413,6 +8425,13 @@
|
|||
}
|
||||
|
||||
|
||||
|
||||
.jmj_banniere_no_mobile {}
|
||||
|
||||
.jmj_banniere_mobile {
|
||||
display: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 1200px) and (max-width: 1919px) {
|
||||
|
@ -8477,7 +8496,7 @@
|
|||
margin-left: 5px;
|
||||
|
||||
padding-left: 5px;
|
||||
height: auto;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.rech_middlebox {
|
||||
|
@ -11510,6 +11529,11 @@
|
|||
}
|
||||
|
||||
|
||||
.jmj_banniere_no_mobile {}
|
||||
|
||||
.jmj_banniere_mobile {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 1920px) {
|
||||
|
@ -11567,7 +11591,7 @@
|
|||
float: left;
|
||||
border-width: 1px;
|
||||
width: 100%;
|
||||
|
||||
|
||||
padding: 0.5rem;
|
||||
border-radius: 1rem;
|
||||
margin-bottom: 0.1rem;
|
||||
|
@ -14641,6 +14665,11 @@
|
|||
}
|
||||
|
||||
|
||||
.jmj_banniere_no_mobile {}
|
||||
|
||||
.jmj_banniere_mobile {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -107,7 +107,7 @@ const useStyles = makeStyles((theme) => ({
|
|||
color: 'gray',
|
||||
},
|
||||
}));
|
||||
|
||||
|
||||
const Module_Editique = (props) => {
|
||||
|
||||
const classes = useStyles();
|
||||
|
@ -207,6 +207,7 @@ const Module_Editique = (props) => {
|
|||
setInvoice_Session_Formation_result(res.data.message);
|
||||
Getall_Editable_Document_By_Partner_By_Collection();
|
||||
props.GetListeInscrit(props.related_collection_recid, props.internal_url);
|
||||
props.Get_List_Partner_Clients();
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
|
|
|
@ -3137,7 +3137,8 @@ const Module_Session_Planification = (props) => {
|
|||
var event_start = String(selected_sequence_startDate);
|
||||
var event_end = String(selected_sequence_endDate);
|
||||
|
||||
console.log(" ### sequence_startDate 333 = ", sequence_startDate)
|
||||
console.log(" ### sequence_startDate 333 = ", sequence_startDate);
|
||||
console.log(" ### selected_sequence_startDate 444 = ", selected_sequence_startDate)
|
||||
|
||||
var local_event_start = moment(sequence_startDate).format("DD/MM/YYYY HH:mm");
|
||||
var local_event_end = moment(sequence_endDate).format("DD/MM/YYYY HH:mm");
|
||||
|
@ -3192,6 +3193,58 @@ const Module_Session_Planification = (props) => {
|
|||
})
|
||||
}
|
||||
|
||||
function Get_Ressource_Avabilities_from_list(local_related_collection_recid) {
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("related_collection", Dialog_seq_ressource_1_selected_type_ressource);
|
||||
form.append("related_collection_recid", local_related_collection_recid);
|
||||
|
||||
|
||||
form.append("event_start", String(selected_sequence_startDate));
|
||||
form.append("event_end", String(selected_sequence_endDate));
|
||||
|
||||
//console.log(" ### form = ", form)
|
||||
|
||||
//return;
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Is_Ressource_Available/";
|
||||
|
||||
setLoading(true);
|
||||
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
/*console.log(" In Get_Ressource_Avabilities res.data.status = " + res.data.status);
|
||||
console.log(" In Get_Ressource_Avabilities res.data.message r_class = " + res.data.message);
|
||||
console.log(" In Get_Ressource_Avabilities res.data.avability_check r_class = " + res.data.avability_check);
|
||||
*/
|
||||
setGet_Ressource_Avabilities_api("true");
|
||||
setGet_Ressource_Avabilities_result(res.data.message);
|
||||
setGet_Ressource_Avabilities_avability_check(res.data.avability_check);
|
||||
|
||||
}
|
||||
else {
|
||||
setGet_Ressource_Avabilities_api("false");
|
||||
setGet_Ressource_Avabilities_message(res.data.message);
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.warn('Not good man :( Get_Ressource_Avabilities = ', error);
|
||||
setGet_Ressource_Avabilities_api("false");
|
||||
alert("Impossible de récuperer la liste des ressources de la sequence")
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
||||
const [check_ressource_avabilities, setcheck_ressource_avabilities] = useState("");
|
||||
|
||||
|
@ -4547,9 +4600,8 @@ const Module_Session_Planification = (props) => {
|
|||
onChange={(event, value) => {
|
||||
if (value && value._id) {
|
||||
|
||||
|
||||
setDialog_seq_ressource_1_selected_ressource_id(value._id);
|
||||
Get_Ressource_Avabilities(value._id);
|
||||
Get_Ressource_Avabilities_from_list(value._id);
|
||||
|
||||
} else {
|
||||
setGet_Ressource_Avabilities_avability_check("");
|
||||
|
@ -4564,7 +4616,7 @@ const Module_Session_Planification = (props) => {
|
|||
<div className="session_caract_Dialog koUpdateData">
|
||||
<Tooltip className="tooltip_css" id="ressource_indispo_01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="ressource_indispo_01" data-tooltip-html="Cette ressource n'est pas disponible sur ce créneau. Verifiez son agenda">
|
||||
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {moment(sequence_startDate).format("DD/MM/YYYY HH:mm")} au {moment(sequence_endDate).format("DD/MM/YYYY HH:mm")} </font>
|
||||
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {String(selected_sequence_startDate)} au {String(selected_sequence_endDate)} </font>
|
||||
</a>
|
||||
</div>
|
||||
}
|
||||
|
@ -4597,7 +4649,7 @@ const Module_Session_Planification = (props) => {
|
|||
if (value && value._id) {
|
||||
setDialog_seq_ressource_1_selected_ressource_id(value._id);
|
||||
// On ne fait le controle de disponibilité que si on une sequence precise. pas quand c'est en masse.
|
||||
Get_Ressource_Avabilities(value._id);
|
||||
Get_Ressource_Avabilities_from_list(value._id);
|
||||
|
||||
|
||||
} else {
|
||||
|
@ -4614,7 +4666,7 @@ const Module_Session_Planification = (props) => {
|
|||
<div className="session_caract_Dialog koUpdateData">
|
||||
<Tooltip className="tooltip_css" id="ressource_indispo_01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="ressource_indispo_01" data-tooltip-html="Cette ressource n'est pas disponible sur ce créneau. Verifiez son agenda">
|
||||
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {moment(sequence_startDate).format("DD/MM/YYYY HH:mm")} au {moment(sequence_endDate).format("DD/MM/YYYY HH:mm")} </font>
|
||||
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {String(selected_sequence_startDate)} au {String(selected_sequence_endDate)} </font>
|
||||
</a>
|
||||
</div>
|
||||
}
|
||||
|
@ -6651,7 +6703,7 @@ const Module_Session_Planification = (props) => {
|
|||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
<Button variant="outlined"
|
||||
className="detail_class_submenu bton_add_session bton_add_session_create_automatic" style={{ "width": "40%" , maxWidth:'20rem'}}
|
||||
className="detail_class_submenu bton_add_session bton_add_session_create_automatic" style={{ "width": "40%", maxWidth: '20rem' }}
|
||||
id='menu_import_participant' name='menu_import_participant' onClick={(event) => {
|
||||
if (String(props.selected_session_invoiced_statut) === "1") {
|
||||
alert(" La session est en cours de facturation ")
|
||||
|
|
|
@ -2876,7 +2876,7 @@ const Mon_Catalogue_Public = (props) => {
|
|||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="bloc_milieu_model_2">
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import Button from '@mui/material/Button';
|
|||
import { getCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import DialogContent from '@mui/material/DialogContent';
|
||||
|
@ -302,6 +302,70 @@ const Partner_Client = (props) => {
|
|||
|
||||
|
||||
|
||||
const [Delete_LIST_Client_Data_api, setDelete_LIST_Client_Data_api] = useState();
|
||||
const [Delete_LIST_Client_Data_message, setDelete_LIST_Client_Data_message] = useState();
|
||||
const [Delete_LIST_Client_Data_result, setDelete_LIST_Client_Data_result] = useState();
|
||||
function Delete_LIST_Client_Data() {
|
||||
|
||||
var form = new FormData();
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
|
||||
var tab_tmp = []
|
||||
for (var i = 0; i < selectionModel.length; i++) {
|
||||
var myid = parseInt(String(selectionModel[i]));
|
||||
var line = JSON.parse(rows_list_clients[myid]);
|
||||
tab_tmp.push(line._id);
|
||||
|
||||
}
|
||||
|
||||
form.append("token", stored_cookie);
|
||||
form.append("tab_ids", tab_tmp);
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_List_Partner_Client/";
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Delete_LIST_Client_Data res.data.status = " + res.data.status);
|
||||
//console.log(" In Delete_LIST_Client_Data res.data.message r_class = " + res.data.message);
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setDelete_LIST_Client_Data_api("true");
|
||||
setDelete_LIST_Client_Data_result(res.data.message);
|
||||
Get_List_Partner_Clients();
|
||||
setSelectionModel([]);
|
||||
setEdite_Client();
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
}
|
||||
else if (String(res.data.status) === String("Err_Connexion")) {
|
||||
alert(res.data.message);
|
||||
|
||||
history.push("/Connexion");
|
||||
}
|
||||
else {
|
||||
setDelete_LIST_Client_Data_api("false");
|
||||
setDelete_LIST_Client_Data_message(res.data.message);
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( Delete_LIST_Client_Data = ', error);
|
||||
setDelete_LIST_Client_Data_api("false");
|
||||
// alert(" Impossible de supprimer le client");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de supprimer la liste de clients");
|
||||
setalert_type("error");
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
const [Delete_Client_Data_api, setDelete_Client_Data_api] = useState();
|
||||
const [Delete_Client_Data_message, setDelete_Client_Data_message] = useState();
|
||||
const [Delete_Client_Data_result, setDelete_Client_Data_result] = useState();
|
||||
|
@ -356,15 +420,20 @@ const Partner_Client = (props) => {
|
|||
})
|
||||
}
|
||||
|
||||
const [loading_datagrid, setloading_datagrid] = useState(true);
|
||||
|
||||
const [Get_List_Partner_Clients_api, setGet_List_Partner_Clients_api] = useState();
|
||||
const [Get_List_Partner_Clients_message, setGet_List_Partner_Clients_message] = useState();
|
||||
const [Get_List_Partner_Clients_result, setGet_List_Partner_Clients_result] = useState([]);
|
||||
function Get_List_Partner_Clients(event) {
|
||||
|
||||
setloading_datagrid(true);
|
||||
|
||||
var form = new FormData();
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
|
||||
form.append("token", stored_cookie);
|
||||
form.append("archive", "0");
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Partner_List_Partner_Client/";
|
||||
|
@ -377,19 +446,23 @@ const Partner_Client = (props) => {
|
|||
setGet_List_Partner_Clients_api("true");
|
||||
setGet_List_Partner_Clients_result(res.data.message);
|
||||
setrows_list_clients(res.data.message);
|
||||
setloading_datagrid(false);
|
||||
}
|
||||
else if (String(res.data.status) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + res.data.message);
|
||||
history.push("/Connexion");
|
||||
setloading_datagrid(false);
|
||||
}
|
||||
else {
|
||||
setGet_List_Partner_Clients_api("false");
|
||||
setGet_List_Partner_Clients_message(res.data.message);
|
||||
setloading_datagrid(false);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( Get_List_Partner_Clients = ', error);
|
||||
setGet_List_Partner_Clients_api("false");
|
||||
setloading_datagrid(false);
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -494,6 +567,7 @@ const Partner_Client = (props) => {
|
|||
}, []);
|
||||
|
||||
|
||||
const [isLoading, setLoading] = useState();
|
||||
|
||||
const [part_client_file_name, setpart_client_file_name] = useState();
|
||||
function submenu_import_part_client_mass() {
|
||||
|
@ -530,7 +604,7 @@ const Partner_Client = (props) => {
|
|||
const stored_cookie = getCookie('tokenmysypart');
|
||||
|
||||
formData.append("token", stored_cookie);
|
||||
|
||||
setLoading(true);
|
||||
//console.log("token = " + stored_cookie);
|
||||
|
||||
fetch(
|
||||
|
@ -543,6 +617,7 @@ const Partner_Client = (props) => {
|
|||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
if (String(result['status']) === String("true")) {
|
||||
setLoading(false);
|
||||
//console.log('Success:', result['message']);
|
||||
setliste_part_client_file_change_result(result['message']);
|
||||
setliste_part_client_file_change_api("true");
|
||||
|
@ -556,11 +631,13 @@ const Partner_Client = (props) => {
|
|||
|
||||
|
||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||
setLoading(false);
|
||||
alert('Erreur: ' + result['message']);
|
||||
history.push("/Connexion");
|
||||
}
|
||||
|
||||
else {
|
||||
setLoading(false);
|
||||
setliste_part_client_file_change_message(result['message']);
|
||||
setliste_part_client_file_change_api("false");
|
||||
// alert(result['message']);
|
||||
|
@ -572,6 +649,7 @@ const Partner_Client = (props) => {
|
|||
|
||||
})
|
||||
.catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
setliste_part_client_file_change_api("false");
|
||||
});
|
||||
|
@ -654,8 +732,8 @@ const Partner_Client = (props) => {
|
|||
const [p_filtre1, setp_filtre1] = useState("");
|
||||
const [p_filtre1_value, setp_filtre1_value] = useState("");
|
||||
|
||||
const [p_filtre2, setp_filtre2] = useState();
|
||||
const [p_filtre2_value, setp_filtre2_value] = useState();
|
||||
const [p_filtre2, setp_filtre2] = useState("");
|
||||
const [p_filtre2_value, setp_filtre2_value] = useState("");
|
||||
|
||||
|
||||
function clean_all_filters() {
|
||||
|
@ -713,10 +791,144 @@ const Partner_Client = (props) => {
|
|||
const New_Option_Filter = [
|
||||
{ "id": "nom", "label": "Nom ", "value": "nom" },
|
||||
{ "id": "email", "label": "Email ", "value": "email" },
|
||||
{ "id": "archive", "label": "Archive", "value": "archive" },
|
||||
{ "id": "", "label": "", "value": "" },
|
||||
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
|
||||
]
|
||||
|
||||
const New_Option = [
|
||||
{ "id": "0", "label": "Archiver/Désarch.", "value": "archive_desarchive" },
|
||||
{ "id": "1", "label": "Supprimer", "value": "supprimer" },
|
||||
|
||||
]
|
||||
|
||||
// Action en mass
|
||||
|
||||
const [actionmass_ftion_val, setactionmass_ftion_val] = useState("");
|
||||
const actionmass_ftion = (event) => {
|
||||
const value = event.target.value;
|
||||
|
||||
if (String(value) === "supprimer" || String(value) === "archive_desarchive") {
|
||||
setactionmass_ftion_val(value);
|
||||
}
|
||||
else {
|
||||
setactionmass_ftion_val();
|
||||
}
|
||||
}
|
||||
|
||||
async function actionmass_ftion_Traitemet() {
|
||||
|
||||
if (String(actionmass_ftion_val) === String("archive_desarchive")) {
|
||||
Archive_Given_Client(); // zzzz
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (String(actionmass_ftion_val) === String("supprimer")) {
|
||||
Delete_LIST_Client_Data();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
const New_Option_Is_archive = [
|
||||
{ "id": "1", "label": "Oui", "value": "1" },
|
||||
{ "id": "0", "label": "Non", "value": "0" },
|
||||
{ "id": "2", "label": "Tout", "value": "2" },
|
||||
{ "id": "", "label": "", "value": "" },
|
||||
]
|
||||
|
||||
|
||||
const [is_recherche, setis_recherche] = useState("0");
|
||||
|
||||
const [Archive_Given_Client_api, setArchive_Given_Client_api] = useState();
|
||||
const [Archive_Given_Client_message, setArchive_Given_Client_message] = useState();
|
||||
const [Archive_Given_Client_result, setArchive_Given_Client_result] = useState();
|
||||
|
||||
function Archive_Given_Client() {
|
||||
|
||||
var archive_statut = "1"
|
||||
|
||||
var tab_tmp = []
|
||||
for (var i = 0; i < selectionModel.length; i++) {
|
||||
var myid = parseInt(String(selectionModel[i]));
|
||||
var line = JSON.parse(rows_list_clients[myid]);
|
||||
tab_tmp.push(line._id);
|
||||
|
||||
// Si une seule ligne est a le statut "non archivé", alors on archive
|
||||
if (line.archive && String(line.archive) === "0")
|
||||
archive_statut = String(line.archive)
|
||||
|
||||
//console.log(rowss[myid]['external_code']);
|
||||
}
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("tab_partner_client_ids", tab_tmp);
|
||||
|
||||
|
||||
var myurl = "";
|
||||
if (archive_statut !== "1")
|
||||
myurl = process.env.REACT_APP_API_URL + "myclass/api/archive_partner_client/";
|
||||
else
|
||||
myurl = process.env.REACT_APP_API_URL + "myclass/api/unarchive_partner_client/";
|
||||
|
||||
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Archive_Given_Client res.data.status = " + res.data.status);
|
||||
//console.log(" In Archive_Given_Client res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setArchive_Given_Client_api("true");
|
||||
setArchive_Given_Client_result(res.data.message);
|
||||
|
||||
setSelectionModel([]);
|
||||
setactionmass_ftion_val("");
|
||||
|
||||
console.log(" ### is_recherche = ", is_recherche);
|
||||
|
||||
if (String(is_recherche) === "1") {
|
||||
Get_List_Partner_Clients();
|
||||
} else {
|
||||
Get_List_Partner_Clients_With_Filter();
|
||||
}
|
||||
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
|
||||
}
|
||||
else {
|
||||
setArchive_Given_Client_api("false");
|
||||
setArchive_Given_Client_message(res.data.message);
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("error");
|
||||
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
|
||||
|
||||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Archive_Given_Client = ' + error);
|
||||
setArchive_Given_Client_api("false");
|
||||
|
||||
alert(" Impossible d'archiver/deséarchiver les clients ");
|
||||
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
function display_child_alert_success(message) {
|
||||
setdisplay_alert_mysy("1");
|
||||
|
@ -743,6 +955,11 @@ const Partner_Client = (props) => {
|
|||
|
||||
<div className="partner_client">
|
||||
|
||||
{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}
|
||||
|
@ -954,7 +1171,7 @@ const Partner_Client = (props) => {
|
|||
|
||||
|
||||
|
||||
<div className="div_row_droite texte_area_filter_value" >
|
||||
{String(p_filtre1) !== "archive" && <div className="div_row_droite texte_area_filter_value" >
|
||||
{p_filtre1 &&
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
@ -984,7 +1201,36 @@ const Partner_Client = (props) => {
|
|||
/>
|
||||
|
||||
}
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
{String(p_filtre1) === "archive" && <div className="div_row_droite texte_area_filter_value" >
|
||||
{p_filtre1 &&
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
name="filtre1_value"
|
||||
id="filtre1_value"
|
||||
value={New_Option_Is_archive.filter((data) => (data).id === String(p_filtre1_value))[0].label}
|
||||
sx={{ float: "right" }}
|
||||
className="disabled_style"
|
||||
|
||||
options={New_Option_Is_archive}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setp_filtre1_value(value.value);
|
||||
} else {
|
||||
setp_filtre1_value("");
|
||||
}
|
||||
}}
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>}
|
||||
/>
|
||||
|
||||
}
|
||||
</div>}
|
||||
|
||||
|
||||
{p_filtre1 && <div className='filter_bton_add'>
|
||||
<Tooltip className="tooltip_css" id="my-tooltip01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="my-tooltip01" data-tooltip-html="Ajouter une nouvelle ligne de filtre">
|
||||
|
@ -1030,24 +1276,10 @@ const Partner_Client = (props) => {
|
|||
/>
|
||||
}
|
||||
/>}
|
||||
{/* <TextField
|
||||
name="filtre2"
|
||||
label="Choisir un champ"
|
||||
select
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_filtre2}
|
||||
onChange={(e) => {
|
||||
setp_filtre2(e.target.value)
|
||||
}}
|
||||
>
|
||||
|
||||
<MenuItem value="nom_client" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Nom </MenuItem>
|
||||
<MenuItem value="email_client" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email </MenuItem>
|
||||
|
||||
</TextField> */}
|
||||
</div>
|
||||
<div className="div_row_droite texte_area_filter" >
|
||||
{String(p_filtre2).length > 3 &&
|
||||
{String(p_filtre2).length > 3 && String(p_filtre2) !== "archive" &&
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
|
@ -1074,6 +1306,30 @@ const Partner_Client = (props) => {
|
|||
}}
|
||||
|
||||
/>}
|
||||
|
||||
{String(p_filtre2).length > 3 && String(p_filtre2) === "archive" &&
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
name="filtre2_value"
|
||||
id="filtre2_value"
|
||||
value={New_Option_Is_archive.filter((data) => (data).id === String(p_filtre2_value))[0].label}
|
||||
sx={{ float: "right" }}
|
||||
className="disabled_style"
|
||||
|
||||
options={New_Option_Is_archive}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setp_filtre2_value(value.value);
|
||||
} else {
|
||||
setp_filtre2_value("");
|
||||
}
|
||||
}}
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>}
|
||||
/>}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -1095,12 +1351,21 @@ const Partner_Client = (props) => {
|
|||
{<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
<Button variant="contained" className="bton_enreg" onClick={Get_List_Partner_Clients_With_Filter} ref={myRef_head}>Rechercher
|
||||
<Button variant="contained" className="bton_enreg"
|
||||
onClick={(event) => {
|
||||
Get_List_Partner_Clients_With_Filter();
|
||||
setis_recherche("1");
|
||||
}}
|
||||
ref={myRef_head}>Rechercher
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
<Button variant="contained" className="bton_annule" onClick={clean_all_filters}>Annuler
|
||||
<Button variant="contained" className="bton_annule" onClick={(event) => {
|
||||
clean_all_filters();
|
||||
setis_recherche("");
|
||||
}}
|
||||
>Annuler
|
||||
</Button>
|
||||
|
||||
</div>
|
||||
|
@ -1111,13 +1376,13 @@ const Partner_Client = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="div_row" style={{ paddingRight: '10px' }}>
|
||||
<div style={{ height: 550, width: '100%', paddingRight: '1px' }}>
|
||||
<div className="div_row session_data" >
|
||||
<div style={{ height: 650, width: '100%', paddingRight: '1px' }}>
|
||||
|
||||
|
||||
<Box
|
||||
sx={{
|
||||
height: "500px",
|
||||
height: "600px",
|
||||
width: '100%',
|
||||
paddingRight: '1px',
|
||||
'& .cell--presentiel': {
|
||||
|
@ -1152,6 +1417,7 @@ const Partner_Client = (props) => {
|
|||
>
|
||||
<DataGrid
|
||||
disableSelectionOnClick
|
||||
loading={loading_datagrid}
|
||||
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
|
||||
rows={rows_list_clients.map((item, index) => (
|
||||
{
|
||||
|
@ -1235,8 +1501,101 @@ const Partner_Client = (props) => {
|
|||
</Box>
|
||||
<br />
|
||||
|
||||
<div className="div_row">
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && selectionModel && selectionModel.length >= 1 &&
|
||||
<div className="block_en_mass">
|
||||
<nav >Traitement en masse </nav>
|
||||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
id="combo-box-demo"
|
||||
className="block_en_mass_select"
|
||||
fullWidth
|
||||
options={New_Option}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
if (String(value.value) === "supprimer"
|
||||
|| String(value.value) === "archive_desarchive") {
|
||||
setactionmass_ftion_val(value.value);
|
||||
}
|
||||
else {
|
||||
setactionmass_ftion_val();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>
|
||||
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && 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">
|
||||
{' '}
|
||||
|
||||
{String(actionmass_ftion_val) === "archive_desarchive" &&
|
||||
<font> Confirmer la <b> l'archivage / désarchivage </b> en masse pour {selectionModel.length} lignes.
|
||||
</font>}
|
||||
|
||||
{String(actionmass_ftion_val) === "supprimer" &&
|
||||
<font color="red"> Confirmer la <b> suppression </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_annuler"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</nav>
|
||||
}
|
||||
|
||||
</div>}
|
||||
</div>
|
||||
|
||||
<br />
|
||||
{/* <Button variant="contained" onClick={GetAllClass_new}>Contained</Button>*/}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1280,11 +1639,11 @@ const Partner_Client = (props) => {
|
|||
|
||||
{String(Edite_Client) === "1" && <div className="div_row" style={{ "paddingRight": "10px" }}>
|
||||
|
||||
<div className="titre1"> Detail client / Financeur {Client_email}</div>
|
||||
<div className="titre1"> Detail client / Financeur <b>{Client_email} </b></div>
|
||||
|
||||
<AddParnerClient client_mail={Client_email} close_detail_client={close_detail_client} father_scroll_to_top={father_scroll_to_top}
|
||||
client_id={selected_id} check_user_acces_right={props.check_user_acces_right}
|
||||
Get_List_Partner_Clients={Get_List_Partner_Clients}/>
|
||||
client_id={selected_id} check_user_acces_right={props.check_user_acces_right}
|
||||
Get_List_Partner_Clients={Get_List_Partner_Clients} />
|
||||
|
||||
</div>}
|
||||
|
||||
|
|
|
@ -574,6 +574,7 @@ const Partner_Config_Formulaires = (props) => {
|
|||
const [p_detail_one_from_commentaire, setp_detail_one_from_commentaire] = useState("");
|
||||
|
||||
const [p_detail_one_from_default, setp_detail_one_from_default] = useState("");
|
||||
const [p_detail_one_from_default_bool, setp_detail_one_from_default_bool] = useState(false);
|
||||
|
||||
|
||||
const [p_detail_one_from_list_question, setp_detail_one_from_list_question] = useState([]);
|
||||
|
@ -2939,7 +2940,7 @@ const Partner_Config_Formulaires = (props) => {
|
|||
String(add_new_form) === "1" && <div className="div_row">
|
||||
|
||||
<div className="session_data">
|
||||
Ajouter un nouveau formulaire
|
||||
<h5 style={{ textAlign: "center", paddingTop: '5px', fontFamily: "DM Sans" }} >Ajouter un nouveau formulaire </h5>
|
||||
<br />
|
||||
|
||||
<div className="session_caract"> Code <br />
|
||||
|
@ -3058,8 +3059,11 @@ const Partner_Config_Formulaires = (props) => {
|
|||
id="detail_config_par_defaut"
|
||||
|
||||
// className="disabled_style"
|
||||
checked={false}
|
||||
|
||||
checked={p_detail_one_from_default_bool}
|
||||
onChange={(e) => {
|
||||
setp_detail_one_from_default_bool(e.target.checked);
|
||||
|
||||
if (e.target.checked) {
|
||||
setp_detail_one_from_default("1");
|
||||
} else {
|
||||
|
@ -3069,7 +3073,7 @@ const Partner_Config_Formulaires = (props) => {
|
|||
// style={{ background: '#FFFFFF' }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="div_row">
|
||||
<div className="session_caract"> Message d'introduction <br />
|
||||
|
|
|
@ -77,7 +77,6 @@ function SurveyDocument() {
|
|||
var local_node = {}
|
||||
new_data2[String(obj_name)] = "";
|
||||
|
||||
|
||||
});
|
||||
|
||||
settab_variable(new_data2);
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 99 KiB |
|
@ -1,5 +1,5 @@
|
|||
import Jmjformation_Catalogue_Public from "../components/Jmj_Theme/Jmjformation_Catalogue_Public";
|
||||
import New_C_Footer_2025_V2 from "../components/footer_automatic_files/Layout";
|
||||
|
||||
|
||||
const jmjformation_catalogue_public = () => {
|
||||
|
||||
|
@ -8,8 +8,7 @@ const jmjformation_catalogue_public = () => {
|
|||
<div>
|
||||
|
||||
<div>
|
||||
<Jmjformation_Catalogue_Public />
|
||||
|
||||
<Jmjformation_Catalogue_Public />
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -13,6 +13,23 @@
|
|||
}
|
||||
|
||||
|
||||
.block_archive {
|
||||
background-color: #774a10;
|
||||
width: calc(100% - 20px);
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
border-radius: 5px;
|
||||
text-align: center;
|
||||
font-family: DM sans;
|
||||
color: white;
|
||||
margin-bottom: 0.5rem;
|
||||
font-style: italic;
|
||||
opacity: 80%;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
|
||||
.div_row {
|
||||
|
|
|
@ -644,7 +644,7 @@
|
|||
width: 100%;
|
||||
border-left: 3mm ridge rgba(211, 220, 50, .6);
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
|
||||
.block_en_mass {
|
||||
width: 100%;
|
||||
|
|
|
@ -23,6 +23,23 @@
|
|||
left: 0px;
|
||||
}
|
||||
|
||||
.block_archive {
|
||||
background-color: #774a10;
|
||||
width: calc(100% - 20px);
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
border-radius: 5px;
|
||||
text-align: center;
|
||||
font-family: DM sans;
|
||||
color: white;
|
||||
margin-bottom: 0.5rem;
|
||||
font-style: italic;
|
||||
opacity: 80%;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
|
||||
.spinner {
|
||||
width: 20rem;
|
||||
height: 10rem;
|
||||
|
|
|
@ -2315,6 +2315,13 @@
|
|||
}
|
||||
|
||||
|
||||
.jmj_bloc_logo_indic_logo {
|
||||
width: 100%;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bloc_logo_indic_contact {
|
||||
width: 100%;
|
||||
|
@ -2323,6 +2330,17 @@
|
|||
}
|
||||
|
||||
|
||||
.jmj_bloc_logo_indic_contact {
|
||||
width: 100%;
|
||||
float: right;
|
||||
text-align: center;
|
||||
|
||||
margin-top: 15rem;
|
||||
text-align: center;
|
||||
font-family: 'DM Sans';
|
||||
color: #16274F;
|
||||
}
|
||||
|
||||
.bloc_logo_indic_indic {
|
||||
width: 100%;
|
||||
float: left;
|
||||
|
@ -2332,6 +2350,16 @@
|
|||
}
|
||||
|
||||
|
||||
.jmj_bloc_logo_indic_indic {
|
||||
width: 100%;
|
||||
float: left;
|
||||
padding: 10px;
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bloc_milieu {
|
||||
min-height: 5rem;
|
||||
width: 100%;
|
||||
|
@ -2580,12 +2608,11 @@
|
|||
border: none;
|
||||
padding-top: 15px;
|
||||
margin-bottom: 1rem;
|
||||
min-height: 10rem;
|
||||
}
|
||||
|
||||
.jmj_header_gauche {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 500px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jmj_header_droite {
|
||||
|
@ -2619,11 +2646,12 @@
|
|||
.jmj_block_milieu_droite {
|
||||
margin: auto;
|
||||
width: 100%;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
.Partner_Catalog_Background_Header_jmj {
|
||||
width: 100%;
|
||||
height: 600px;
|
||||
max-height: 12rem;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
z-index: -1;
|
||||
|
@ -5726,8 +5754,8 @@
|
|||
|
||||
.bloc_logo_indic {
|
||||
min-height: 5rem;
|
||||
width: 90%;
|
||||
margin-left: 5%;
|
||||
width: 100%;
|
||||
margin-left: 0%;
|
||||
float: left;
|
||||
position: absolute;
|
||||
top: 1rem;
|
||||
|
@ -5740,6 +5768,12 @@
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
.jmj_bloc_logo_indic_logo {
|
||||
width: 25%;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bloc_logo_indic_contact {
|
||||
|
@ -5748,12 +5782,37 @@
|
|||
text-align: right;
|
||||
}
|
||||
|
||||
.jmj_bloc_logo_indic_contact {
|
||||
width: 18%;
|
||||
float: right;
|
||||
text-align: right;
|
||||
|
||||
margin-top: 15rem;
|
||||
text-align: center;
|
||||
font-family: 'DM Sans';
|
||||
width: 25%;
|
||||
color: #16274F;
|
||||
margin-right: 2rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bloc_logo_indic_indic {
|
||||
width: 18%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.jmj_bloc_logo_indic_indic {
|
||||
float: left;
|
||||
|
||||
margin-top: 15rem;
|
||||
text-align: left;
|
||||
font-family: 'DM Sans';
|
||||
width: 30%;
|
||||
margin-left: 2rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bloc_milieu {
|
||||
min-height: 5rem;
|
||||
|
@ -5950,7 +6009,7 @@
|
|||
}
|
||||
|
||||
.jmj_header_gauche {
|
||||
width: 70%;
|
||||
width: 100%;
|
||||
float: left;
|
||||
height: 400px;
|
||||
}
|
||||
|
@ -5959,6 +6018,7 @@
|
|||
width: 25%;
|
||||
float: left;
|
||||
height: 400px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jmj_block_milieu {
|
||||
|
@ -5980,14 +6040,13 @@
|
|||
}
|
||||
|
||||
.jmj_block_milieu_gauche {
|
||||
padding: auto;
|
||||
width: 100%;
|
||||
margin-left: auto;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jmj_block_milieu_droite {
|
||||
margin: auto;
|
||||
width: 100%;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
.Partner_Catalog_Background_Header_jmj {
|
||||
|
@ -9085,6 +9144,11 @@
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
.jmj_bloc_logo_indic_logo {
|
||||
width: 40%;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.bloc_logo_indic_contact {
|
||||
|
@ -9093,12 +9157,35 @@
|
|||
text-align: right;
|
||||
}
|
||||
|
||||
.jmj_bloc_logo_indic_contact {
|
||||
width: 18%;
|
||||
float: right;
|
||||
text-align: right;
|
||||
|
||||
margin-top: 15rem;
|
||||
text-align: center;
|
||||
font-family: 'DM Sans';
|
||||
width: 25%;
|
||||
color: #16274F;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bloc_logo_indic_indic {
|
||||
width: 18%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.jmj_bloc_logo_indic_indic {
|
||||
width: 18%;
|
||||
float: left;
|
||||
|
||||
margin-top: 15rem;
|
||||
text-align: left;
|
||||
font-family: 'DM Sans';
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
|
||||
.bloc_milieu {
|
||||
min-height: 5rem;
|
||||
|
@ -9319,7 +9406,7 @@
|
|||
}
|
||||
|
||||
.jmj_header_gauche {
|
||||
width: 70%;
|
||||
width: 100%;
|
||||
float: left;
|
||||
height: 400px;
|
||||
}
|
||||
|
@ -9328,6 +9415,7 @@
|
|||
width: 25%;
|
||||
float: left;
|
||||
height: 400px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jmj_block_milieu {
|
||||
|
@ -9360,6 +9448,7 @@
|
|||
margin: auto;
|
||||
width: 70%;
|
||||
min-height: 100vh;
|
||||
margin-top: 0px;
|
||||
|
||||
}
|
||||
|
||||
|
@ -12462,6 +12551,12 @@
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
.jmj_bloc_logo_indic_logo {
|
||||
width: 40%;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bloc_logo_indic_contact {
|
||||
|
@ -12470,12 +12565,37 @@
|
|||
text-align: right;
|
||||
}
|
||||
|
||||
.jmj_bloc_logo_indic_contact {
|
||||
width: 18%;
|
||||
float: right;
|
||||
text-align: right;
|
||||
|
||||
margin-top: 15rem;
|
||||
text-align: center;
|
||||
font-family: 'DM Sans';
|
||||
width: 25%;
|
||||
color: #16274F;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bloc_logo_indic_indic {
|
||||
width: 18%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
||||
.jmj_bloc_logo_indic_indic {
|
||||
width: 18%;
|
||||
float: left;
|
||||
|
||||
margin-top: 15rem;
|
||||
text-align: left;
|
||||
font-family: 'DM Sans';
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
|
||||
.bloc_milieu {
|
||||
min-height: 5rem;
|
||||
width: 90%;
|
||||
|
@ -12718,7 +12838,7 @@
|
|||
}
|
||||
|
||||
.jmj_header_gauche {
|
||||
width: 70%;
|
||||
width: 100%;
|
||||
float: left;
|
||||
height: 400px;
|
||||
}
|
||||
|
@ -12727,6 +12847,7 @@
|
|||
width: 25%;
|
||||
float: left;
|
||||
height: 400px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jmj_block_milieu {
|
||||
|
@ -15899,6 +16020,18 @@
|
|||
text-align: right;
|
||||
}
|
||||
|
||||
.jmj_bloc_logo_indic_contact {
|
||||
width: 18%;
|
||||
float: right;
|
||||
text-align: right;
|
||||
|
||||
margin-top: 15rem;
|
||||
text-align: center;
|
||||
font-family: 'DM Sans';
|
||||
width: 25%;
|
||||
color: #16274F;
|
||||
}
|
||||
|
||||
|
||||
.bloc_logo_indic_indic {
|
||||
width: 18%;
|
||||
|
@ -15906,6 +16039,18 @@
|
|||
}
|
||||
|
||||
|
||||
.jmj_bloc_logo_indic_indic {
|
||||
width: 18%;
|
||||
float: left;
|
||||
|
||||
margin-top: 15rem;
|
||||
text-align: left;
|
||||
font-family: 'DM Sans';
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bloc_milieu {
|
||||
min-height: 5rem;
|
||||
width: 90%;
|
||||
|
@ -16151,7 +16296,7 @@
|
|||
}
|
||||
|
||||
.jmj_header_gauche {
|
||||
width: 70%;
|
||||
width: 100%;
|
||||
float: left;
|
||||
height: 400px;
|
||||
}
|
||||
|
@ -16160,6 +16305,7 @@
|
|||
width: 25%;
|
||||
float: left;
|
||||
height: 400px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jmj_block_milieu {
|
||||
|
@ -16214,6 +16360,36 @@
|
|||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.jmj_bloc_logo_indic_logo {
|
||||
width: 40%;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.jmj_bloc_logo_indic_indic {
|
||||
width: 18%;
|
||||
float: left;
|
||||
|
||||
margin-top: 15rem;
|
||||
text-align: left;
|
||||
font-family: 'DM Sans';
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
.jmj_bloc_logo_indic_contact {
|
||||
width: 18%;
|
||||
float: right;
|
||||
text-align: right;
|
||||
|
||||
margin-top: 15rem;
|
||||
text-align: center;
|
||||
font-family: 'DM Sans';
|
||||
width: 25%;
|
||||
color: #16274F;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// end media
|
||||
|
|
|
@ -176,7 +176,7 @@
|
|||
border-radius: 10px;
|
||||
border: 1px solid;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.training_caract {
|
||||
width: 100%;
|
||||
|
@ -1625,6 +1625,26 @@
|
|||
font-weight: normal;
|
||||
}
|
||||
|
||||
.block_en_mass {
|
||||
width: 50%;
|
||||
float: left;
|
||||
margin-bottom: 1rem;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.block_en_mass_select {
|
||||
width: 45%;
|
||||
float: left;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.block_en_mass_bton_action {
|
||||
width: 45%;
|
||||
float: left;
|
||||
margin-bottom: 1rem;
|
||||
padding-top: 0.5rem !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 1200px) {
|
||||
|
@ -1846,6 +1866,26 @@
|
|||
margin-left: 10rem;
|
||||
}
|
||||
|
||||
.block_en_mass {
|
||||
width: 50%;
|
||||
float: left;
|
||||
margin-bottom: 1rem;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.block_en_mass_select {
|
||||
width: 45%;
|
||||
float: left;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.block_en_mass_bton_action {
|
||||
width: 45%;
|
||||
float: left;
|
||||
margin-bottom: 1rem;
|
||||
padding-top: 0.5rem !important;
|
||||
}
|
||||
|
||||
|
||||
.action_mass {
|
||||
border-radius: 5px;
|
||||
|
@ -1858,12 +1898,6 @@
|
|||
|
||||
|
||||
|
||||
.block_en_mass {
|
||||
width: 50%;
|
||||
float: left;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.session_open_close {
|
||||
cursor: pointer;
|
||||
text-align: right;
|
||||
|
@ -2172,6 +2206,7 @@
|
|||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// end media
|
||||
|
|
Loading…
Reference in New Issue