30/01/2025 - 16h

recette2
cherif 2025-01-30 16:36:42 +01:00
parent 83257f9bbb
commit e7fef8373f
34 changed files with 2768 additions and 1095 deletions

View File

@ -158,8 +158,6 @@ function App() {
<Route path="/fonctionnalites" exact component={Fonctionnalites} /> <Route path="/fonctionnalites" exact component={Fonctionnalites} />
<Route path="/markeplace" exact component={Contact} /> <Route path="/markeplace" exact component={Contact} />
<Route path="/contact" exact component={Contact} /> <Route path="/contact" exact component={Contact} />
<Route path="/mysy-user-account" exact component={Account} /> <Route path="/mysy-user-account" exact component={Account} />
<Route path="/create_account" exact component={CreateAccount} /> <Route path="/create_account" exact component={CreateAccount} />

View File

@ -1,5 +1,4 @@
import React, { useState, useEffect } from "react"; import React, { useState, useEffect } from "react";
import UpdateUserInfo from "../components/UpdateUserInfo";
import Button from '@mui/material/Button'; import Button from '@mui/material/Button';
import { AiOutlineEdit } from "react-icons/ai"; import { AiOutlineEdit } from "react-icons/ai";
@ -34,8 +33,9 @@ import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip' import { Tooltip } from 'react-tooltip'
import Popup from 'reactjs-popup'; import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css'; import 'reactjs-popup/dist/index.css';
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
function Abonnement(props) { function Abonnement(props) {
const [myApiResponse, setmyApiResponse] = useState(""); const [myApiResponse, setmyApiResponse] = useState("");
@ -52,10 +52,10 @@ function Abonnement(props) {
const columns = [ const columns = [
{ field: 'id', headerName: 'id', hide: true }, { field: 'id', headerName: 'id', hide: true },
{ field: 'num_facture', headerName: 'Num Facture', width: 200, flex: 1 }, { field: 'num_facture', headerName: 'Num Facture', width: 200, flex: 1 },
{ field: 'client_nom', headerName: 'Client', width: 200, flex: 1 }, { field: 'client_nom', headerName: 'Client', width: 200, flex: 1 },
{ field: 'montant_ht', headerName: 'Montant HT €', width: 200, flex: 1 }, { field: 'montant_ht', headerName: 'Montant HT €', width: 200, flex: 1 },
{ field: 'montant_ttc', headerName: 'Montant TTC €', width: 100, flex: 1 }, { field: 'montant_ttc', headerName: 'Montant TTC €', width: 100, flex: 1 },
{ field: 'reduction', headerName: 'Discount', width: 150, flex: 1 }, { field: 'reduction', headerName: 'Discount', width: 150, flex: 1 },
{ field: 'date_facture', headerName: 'Date Facture', width: 150, flex: 1 }, { field: 'date_facture', headerName: 'Date Facture', width: 150, flex: 1 },
{ field: 'mode_payement', headerName: 'Mode paiement', width: 150, flex: 1 }, { field: 'mode_payement', headerName: 'Mode paiement', width: 150, flex: 1 },
@ -137,7 +137,9 @@ function Abonnement(props) {
} }
else { else {
setmyApiResponse("True"); setmyApiResponse("True");
setdisplay_alert_mysy("1");
setalert_message(data['message']);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -189,7 +191,10 @@ function Abonnement(props) {
} }
else if (String(data['status']) === String("Err_Connexion")) { else if (String(data['status']) === String("Err_Connexion")) {
alert('Erreur: ' + data['message']); // alert('Erreur: ' + data['message']);
setdisplay_alert_mysy("1");
setalert_message(data['message']);
setalert_type("error");
history.push("/Connexion"); history.push("/Connexion");
return; return;
} }
@ -328,7 +333,10 @@ function Abonnement(props) {
desablefield1(); desablefield1();
} }
else if (String(result['status']) === String("Err_Connexion")) { else if (String(result['status']) === String("Err_Connexion")) {
alert('Erreur: ' + result['message']); // alert('Erreur: ' + result['message']);
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("error");
history.push("/Connexion"); history.push("/Connexion");
} }
@ -572,7 +580,12 @@ function Abonnement(props) {
} }
if (!paymentmode || Object.keys(paymentmode).length <= 0) { if (!paymentmode || Object.keys(paymentmode).length <= 0) {
alert(" Vous devez ajouter un mode de Paiement pour activer de ce pack") // alert(" Vous devez ajouter un mode de Paiement pour activer de ce pack")
setdisplay_alert_mysy("1");
setalert_message("Vous devez ajouter un mode de paiement pour activer de ce pack");
setalert_type("error");
return; return;
} else { } else {
@ -675,7 +688,10 @@ function Abonnement(props) {
} }
if (!paymentmode || Object.keys(paymentmode).length <= 0) { if (!paymentmode || Object.keys(paymentmode).length <= 0) {
alert(" Vous devez ajouter un mode de Paiement pour activer de ce pack") // alert(" Vous devez ajouter un mode de Paiement pour activer de ce pack")
setdisplay_alert_mysy("1");
setalert_message("Vous devez ajouter un mode de paiement pour activer de ce pack");
setalert_type("error");
return; return;
} else { } else {
@ -992,12 +1008,20 @@ function Abonnement(props) {
// Mise à jour du plan de payement // Mise à jour du plan de payement
Update_Payement_Plan_Qty(); Update_Payement_Plan_Qty();
setLoading(false); setLoading(false);
setdisplay_alert_mysy("1");
setalert_message(data['message']);
setalert_type("success");
} }
else { else {
setNew_Ordervalidation_api("false"); setNew_Ordervalidation_api("false");
setNew_Ordervalidation_message(data['message']); setNew_Ordervalidation_message(data['message']);
setLoading(false); setLoading(false);
setdisplay_alert_mysy("1");
setalert_message(data['message']);
setalert_type("error");
} }
@ -1006,6 +1030,10 @@ function Abonnement(props) {
setneworderid(""); setneworderid("");
setNew_Ordervalidation_api("false"); setNew_Ordervalidation_api("false");
setLoading(false); setLoading(false);
setdisplay_alert_mysy("1");
setalert_message("Impossible de créer la commande");
setalert_type("error");
}); });
// setLoading(false); // setLoading(false);
@ -1105,7 +1133,10 @@ function Abonnement(props) {
//console.log(" old qty = ", parnternbformation, " New qty = ", new_nb_formations); //console.log(" old qty = ", parnternbformation, " New qty = ", new_nb_formations);
if (parnternbformation == new_nb_formations) { if (parnternbformation == new_nb_formations) {
alert(" Le nombre de formations est identique à l'abonnement actuel."); // alert(" Le nombre de formations est identique à l'abonnement actuel.");
setdisplay_alert_mysy("1");
setalert_message("Le nombre de formations est identique à l'abonnement actuel.");
setalert_type("error");
return; return;
} }
@ -1117,13 +1148,22 @@ function Abonnement(props) {
*/ */
if (active_class_in_lms && parseInt(active_class_in_lms) > parseInt(new_nb_formations)) { if (active_class_in_lms && parseInt(active_class_in_lms) > parseInt(new_nb_formations)) {
alert("Vous avez " + active_class_in_lms + " formation(s) active(s) dans le LMS, vous devez réduire ce nombre à au moins " + new_nb_formations + "."); // alert("Vous avez " + active_class_in_lms + " formation(s) active(s) dans le LMS, vous devez réduire ce nombre à au moins " + new_nb_formations + ".");
var txt = "Vous avez " + active_class_in_lms + " formation(s) active(s) dans le LMS, vous devez réduire ce nombre à au moins " + new_nb_formations + ".";
setdisplay_alert_mysy("1");
setalert_message(txt);
setalert_type("error");
return; return;
} }
if (active_class_in_mysy && parseInt(active_class_in_mysy) > parseInt(new_nb_formations)) { if (active_class_in_mysy && parseInt(active_class_in_mysy) > parseInt(new_nb_formations)) {
alert("Vous avez " + active_class_in_mysy + " formation(s) publiée(s) dans le moteur de recherche, vous devez réduire ce nombre à au moins " + new_nb_formations + "."); // alert("Vous avez " + active_class_in_mysy + " formation(s) publiée(s) dans le moteur de recherche, vous devez réduire ce nombre à au moins " + new_nb_formations + ".");
var txt = "Vous avez " + active_class_in_mysy + " formation(s) publiée(s) dans le moteur de recherche, vous devez réduire ce nombre à au moins " + new_nb_formations + ".";
setdisplay_alert_mysy("1");
setalert_message(txt);
setalert_type("error");
return; return;
} }
@ -1202,12 +1242,40 @@ function Abonnement(props) {
}) })
} }
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 ( return (
<div className="abonnement"> <div className="abonnement">
{isLoading && <div className="loader-container"> {isLoading && <div className="loader-container">
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div> <div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>} </div>}
{/*** Affichage des messages d'alerte*/}
{display_alert_mysy && String(display_alert_mysy) === "1" &&
<Module_Alert_Confirmation alert_message={alert_message}
alert_type={alert_type}
clear_alert_message={clear_alert_message}
clear_alert_type={clear_alert_type}
clear_display_alert_mysy={clear_display_alert_mysy}
/>
}
{/*** FIN Affichage des messages d'alerte*/}
{String(gotocheckout) === String("1") && <div> {String(gotocheckout) === String("1") && <div>
<Button onClick={returntoorder} className="btn_retour_ps"> Retour aux produits & Services </Button> <Button onClick={returntoorder} className="btn_retour_ps"> Retour aux produits & Services </Button>
@ -1761,7 +1829,7 @@ function Abonnement(props) {
<div className="div_basique_header"> &nbsp; <div className="div_basique_header"> &nbsp;
</div> </div>
<div style={{ "marginBottom": "1rem", "background": "#E9ECEF" }}> <div style={{ "marginBottom": "1rem", "background": "#E9ECEF" }}>
Tarifs Tarifs
</div> </div>
<div className="produits_service_label height_publication_header"> <div className="produits_service_label height_publication_header">
<b> Marketplace </b> <b> Marketplace </b>
@ -1998,74 +2066,74 @@ function Abonnement(props) {
</div> </div>
<div className="div_row_standard"> <div className="div_row_standard">
<div className="div_standard_header"> Standard </div> <div className="div_standard_header"> Standard </div>
<hr style={{ "margin": "0.2rem" }} /> <hr style={{ "margin": "0.2rem" }} />
<div style={{ "marginBottom": "0.8rem", "fontSize": "small" }}> <div style={{ "marginBottom": "0.8rem", "fontSize": "small" }}>
Pour chaque Formation Pour chaque Formation
</div> </div>
<div className="produits_service_label height_publication_header"> <div className="produits_service_label height_publication_header">
&nbsp; &nbsp;
</div> </div>
<div className="produits_service_tick height_publication"> <div className="produits_service_tick height_publication">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_price_1"> <div className="produits_service_tick height_price_1">
<img src={tick_ko} alt="KO" className="tick_ok_ko" /> <img src={tick_ko} alt="KO" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_affichage_ftion"> <div className="produits_service_tick height_affichage_ftion">
<img src={tick_ko} alt="KO" className="tick_ok_ko" /> <img src={tick_ko} alt="KO" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_leads"> <div className="produits_service_tick height_leads">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_appel_offre"> <div className="produits_service_tick height_appel_offre">
<img src={tick_ko} alt="KO" className="tick_ok_ko" /> <img src={tick_ko} alt="KO" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_label height_publication_header"> <div className="produits_service_label height_publication_header">
&nbsp; &nbsp;
</div> </div>
<div className="produits_service_tick height_gestion_admin"> <div className="produits_service_tick height_gestion_admin">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_gestion_crm"> <div className="produits_service_tick height_gestion_crm">
<img src={tick_ko} alt="KO" className="tick_ok_ko" /> <img src={tick_ko} alt="KO" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_label height_publication_header"> <div className="produits_service_label height_publication_header">
&nbsp; &nbsp;
</div> </div>
<div className="produits_service_tick height_intranet"> <div className="produits_service_tick height_intranet">
<img src={tick_ko} alt="KO" className="tick_ok_ko" /> <img src={tick_ko} alt="KO" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_e_learning_persona"> <div className="produits_service_tick height_e_learning_persona">
<img src={tick_ko} alt="KO" className="tick_ok_ko" /> <img src={tick_ko} alt="KO" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_e_learning"> <div className="produits_service_tick height_e_learning">
<img src={tick_ko} alt="KO" className="tick_ok_ko" /> <img src={tick_ko} alt="KO" className="tick_ok_ko" />
</div> </div>
<div className="div_row_standard_price"> <div className="div_row_standard_price">
50 HT /mois 50 HT /mois
</div> </div>
<div className="div_row_standard_price"> <div className="div_row_standard_price">
&nbsp; &nbsp;
</div> </div>
{String(currentpack2).toLowerCase() !== "standard" && <div className="abonnement"> {String(currentpack2).toLowerCase() !== "standard" && <div className="abonnement">
<Button variant="contained" <Button variant="contained"
color="success" color="success"
className="btn_abonnement" className="btn_abonnement"
@ -2094,77 +2162,77 @@ function Abonnement(props) {
> Arrêt le {(JSON.parse(result).end_date_abonnement)} </Button> > Arrêt le {(JSON.parse(result).end_date_abonnement)} </Button>
</div>} </div>}
</div> </div>
<div className="div_row_gold"> <div className="div_row_gold">
<div className="div_gold_header"> Gold </div> <div className="div_gold_header"> Gold </div>
<hr style={{ "margin": "0.2rem" }} /> <hr style={{ "margin": "0.2rem" }} />
<div style={{ "marginBottom": "0.8rem", "fontSize": "small" }}> <div style={{ "marginBottom": "0.8rem", "fontSize": "small" }}>
Pour chaque Formation Pour chaque Formation
</div> </div>
<div className="produits_service_label height_publication_header"> <div className="produits_service_label height_publication_header">
&nbsp; &nbsp;
</div> </div>
<div className="produits_service_tick height_publication"> <div className="produits_service_tick height_publication">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_price_1"> <div className="produits_service_tick height_price_1">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_affichage_ftion"> <div className="produits_service_tick height_affichage_ftion">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_leads"> <div className="produits_service_tick height_leads">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_appel_offre"> <div className="produits_service_tick height_appel_offre">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_label height_publication_header"> <div className="produits_service_label height_publication_header">
&nbsp; &nbsp;
</div> </div>
<div className="produits_service_tick height_gestion_admin"> <div className="produits_service_tick height_gestion_admin">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_gestion_crm"> <div className="produits_service_tick height_gestion_crm">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_label height_publication_header"> <div className="produits_service_label height_publication_header">
&nbsp; &nbsp;
</div> </div>
<div className="produits_service_tick height_intranet"> <div className="produits_service_tick height_intranet">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_e_learning_persona"> <div className="produits_service_tick height_e_learning_persona">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="produits_service_tick height_e_learning"> <div className="produits_service_tick height_e_learning">
<img src={tick_ok} alt="OK" className="tick_ok_ko" /> <img src={tick_ok} alt="OK" className="tick_ok_ko" />
</div> </div>
<div className="div_row_gold_price"> <div className="div_row_gold_price">
90 HT /mois 90 HT /mois
</div> </div>
<div className="div_row_gold_price"> <div className="div_row_gold_price">
&nbsp; &nbsp;
</div> </div>
{String(currentpack2).toLowerCase() !== "gold" && <div className="abonnement"> {String(currentpack2).toLowerCase() !== "gold" && <div className="abonnement">
<Button variant="contained" <Button variant="contained"
color="success" color="success"
className="btn_abonnement" className="btn_abonnement"
@ -2195,7 +2263,7 @@ function Abonnement(props) {
</div>} </div>}
</div> </div>

View File

@ -58,7 +58,7 @@ function Account() {
if (typeof (stored_user) === "undefined" || String(stored_user) === '') { if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
//alert(" début puch"); //alert(" début puch");
history.push("/mysy-training-login/0/0"); history.push("/Connexion");
} }
@ -138,7 +138,7 @@ function Account() {
/* si c'est une connexion partner qui est active */ /* si c'est une connexion partner qui est active */
if (typeof (stored_user) != "undefined") { if (typeof (stored_user) != "undefined") {
removeCookie('tokenmysych', { path: '/' }); removeCookie('tokenmysych', { path: '/' });
history.push("/mysy-training-login/0/0"); history.push("/Connexion");
} }
} }
@ -187,6 +187,11 @@ function Account() {
}; };
const displayProfil_Attestation = () => {
setmenu("mes_attestations");
};
const displayProfil_Stagiaires = () => { const displayProfil_Stagiaires = () => {
setmenu("mes_stagiaires"); setmenu("mes_stagiaires");
}; };
@ -416,8 +421,11 @@ function Account() {
{String(menu) !== "mes_conventions" && <div className="sousmenu" onClick={displayProfil_Convention}> CONVENTIONS </div>} {String(menu) !== "mes_conventions" && <div className="sousmenu" onClick={displayProfil_Convention}> CONVENTIONS </div>}
{String(menu) === "mes_conventions" && <div className="sousmenu sousmenu_selected" onClick={displayProfil_Convention}> CONVENTIONS </div>} {String(menu) === "mes_conventions" && <div className="sousmenu sousmenu_selected" onClick={displayProfil_Convention}> CONVENTIONS </div>}
<hr className="my_hr" /> <hr className="my_hr" />
{String(menu) !== "mes_convocations" && <div className="sousmenu" onClick={displayProfil_Convocation}> CONVOCATION </div>} {String(menu) !== "mes_convocations" && <div className="sousmenu" onClick={displayProfil_Convocation}> CONVOCATIONS </div>}
{String(menu) === "mes_convocations" && <div className="sousmenu sousmenu_selected" onClick={displayProfil_Convocation}> CONVOCATION </div>} {String(menu) === "mes_convocations" && <div className="sousmenu sousmenu_selected" onClick={displayProfil_Convocation}> CONVOCATIONS </div>}
<hr className="my_hr" />
{String(menu) !== "mes_attestations" && <div className="sousmenu" onClick={displayProfil_Attestation}> ATTESTATIONS </div>}
{String(menu) === "mes_attestations" && <div className="sousmenu sousmenu_selected" onClick={displayProfil_Attestation}> ATTESTATIONS </div>}
<hr className="my_hr" /> <hr className="my_hr" />
{String(menu) !== "mes_devis" && <div className="sousmenu" onClick={displayProfil_Devis}> DEVIS</div>} {String(menu) !== "mes_devis" && <div className="sousmenu" onClick={displayProfil_Devis}> DEVIS</div>}
{String(menu) === "mes_devis" && <div className="sousmenu sousmenu_selected" onClick={displayProfil_Devis}> DEVIS</div>} {String(menu) === "mes_devis" && <div className="sousmenu sousmenu_selected" onClick={displayProfil_Devis}> DEVIS</div>}
@ -429,8 +437,8 @@ function Account() {
{String(menu) !== "modules_mes_documents" && <div className="sousmenu" onClick={displayProfil_Modules_Mes_Documents}> TOUS LES DOCUMENTS</div>} {String(menu) !== "modules_mes_documents" && <div className="sousmenu" onClick={displayProfil_Modules_Mes_Documents}> TOUS LES DOCUMENTS</div>}
{String(menu) === "modules_mes_documents" && <div className="sousmenu sousmenu_selected" onClick={displayProfil_Modules_Mes_Documents}> TOUS LES DOCUMENTS</div>} {String(menu) === "modules_mes_documents" && <div className="sousmenu sousmenu_selected" onClick={displayProfil_Modules_Mes_Documents}> TOUS LES DOCUMENTS</div>}
<hr className="my_hr" /> <hr className="my_hr" />
<div className="sousmenu" onClick={deletemyaccount}> SUPPRIMER MON COMPTE</div> {/*<div className="sousmenu" onClick={deletemyaccount}> SUPPRIMER MON COMPTE</div>
<hr className="my_hr" /> <hr className="my_hr" />*/}
</div>} </div>}
{/** Menu pour un utilisateur NON type 'user' exemple un apprenant */} {/** Menu pour un utilisateur NON type 'user' exemple un apprenant */}
@ -447,8 +455,8 @@ function Account() {
<hr className="my_hr" /> <hr className="my_hr" />
<div className="sousmenu" onClick={displayProfil_Facture}> MES FACTURES</div> <div className="sousmenu" onClick={displayProfil_Facture}> MES FACTURES</div>
<hr className="my_hr" /> <hr className="my_hr" />
<div className="sousmenu" onClick={deletemyaccount}> SUPPRIMER MON COMPTE</div> {/* <div className="sousmenu" onClick={deletemyaccount}> SUPPRIMER MON COMPTE</div>
<hr className="my_hr" /> <hr className="my_hr" />*/}
</div>} </div>}
</div> </div>
@ -486,6 +494,10 @@ function Account() {
connected_user_data.partner_client_id && connected_user_data.partner_client_id &&
<Intranet_Factures_Client partner_client_id={connected_user_data.partner_client_id} <Intranet_Factures_Client partner_client_id={connected_user_data.partner_client_id}
partner_owner_recid={connected_user_data.partner_owner_recid} partner_owner_recid={connected_user_data.partner_owner_recid}
my_title={"MES DEVIS"}
type_document={"devis"}
type_user_connected={"user_account"}
filter_all_document={"0"}
/>} />}
{/*String(menu) === String("tout_documents") && connected_user_data && connected_user_data.partner_owner_recid && {/*String(menu) === String("tout_documents") && connected_user_data && connected_user_data.partner_owner_recid &&
@ -507,11 +519,13 @@ function Account() {
{String(menu) === String("mes_devis") && connected_user_data && connected_user_data.partner_owner_recid && {String(menu) === String("mes_devis") && connected_user_data && connected_user_data.partner_owner_recid &&
connected_user_data.partner_client_id && connected_user_data.partner_client_id &&
<Modules_Mes_Documents partner_client_id={connected_user_data.partner_client_id} <Modules_Mes_Documents
partner_client_id={connected_user_data.partner_client_id}
partner_owner_recid={""} partner_owner_recid={""}
my_title={"MES DEVIS"} my_title={"MES DEVIS"}
type_document={"devis"} type_document={"devis"}
type_user_connected={"user_account"} type_user_connected={"user_account"}
filter_all_document={"0"}
/>} />}
{String(menu) === String("mes_conventions") && connected_user_data && connected_user_data.partner_owner_recid && {String(menu) === String("mes_conventions") && connected_user_data && connected_user_data.partner_owner_recid &&
@ -521,6 +535,7 @@ function Account() {
my_title={"MES CONVENTIONS"} my_title={"MES CONVENTIONS"}
type_document={"convention"} type_document={"convention"}
type_user_connected={"user_account"} type_user_connected={"user_account"}
filter_all_document={"0"}
/>} />}
@ -531,6 +546,17 @@ function Account() {
my_title={"MES CONVOCATIONS"} my_title={"MES CONVOCATIONS"}
type_document={"convocation"} type_document={"convocation"}
type_user_connected={"user_account"} type_user_connected={"user_account"}
filter_all_document={"0"}
/>}
{String(menu) === String("mes_attestations") && connected_user_data && connected_user_data.partner_owner_recid &&
connected_user_data.partner_client_id &&
<Modules_Mes_Documents partner_client_id={connected_user_data.partner_client_id}
partner_owner_recid={""}
my_title={"MES ATTESTATIONS"}
type_document={"attestation"}
type_user_connected={"user_account"}
filter_all_document={"0"}
/>} />}

View File

@ -677,7 +677,11 @@ const AddClassManual = (props) => {
else { else {
setGetall_Partner_List_UE_api("false"); setGetall_Partner_List_UE_api("false");
setGetall_Partner_List_UE_message(res.data.message); setGetall_Partner_List_UE_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -756,7 +760,11 @@ const AddClassManual = (props) => {
else { else {
setGetall_Partner_Type_Evalution_List_api("false"); setGetall_Partner_Type_Evalution_List_api("false");
setGetall_Partner_Type_Evalution_List_message(res.data.message); setGetall_Partner_Type_Evalution_List_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -797,7 +805,7 @@ const AddClassManual = (props) => {
setLoading(false); setLoading(false);
if (String(res.data.status) === String("true")) { if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Class_List_Evalution res.data.status = " + res.data.status); //console.log(" In Getall_Class_List_Evalution res.data.status = " + res.data.status);
// console.log(" In Getall_Class_List_Evalution res.data.message r_class = " + res.data.message); // console.log(" In Getall_Class_List_Evalution res.data.message r_class = " + res.data.message);
setGetall_Class_List_Evalution_api("true"); setGetall_Class_List_Evalution_api("true");
setGetall_Class_List_Evalution_result(res.data.message); setGetall_Class_List_Evalution_result(res.data.message);
@ -847,7 +855,11 @@ const AddClassManual = (props) => {
else { else {
setGetall_Class_List_Evalution_api("false"); setGetall_Class_List_Evalution_api("false");
setGetall_Class_List_Evalution_message(res.data.message); setGetall_Class_List_Evalution_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1060,7 +1072,7 @@ const AddClassManual = (props) => {
//document.getElementsByName("objectif")[0].value = ""; //document.getElementsByName("objectif")[0].value = "";
//document.getElementsByName("programme")[0].value = ""; //document.getElementsByName("programme")[0].value = "";
//document.getElementsByName("prerequis")[0].value = ""; //document.getElementsByName("prerequis")[0].value = "";
// alert(" La formation a été correctement supprimée."); // alert(" La formation a été correctement supprimée.");
history.push({ history.push({
pathname: "/Partner/", pathname: "/Partner/",
@ -1071,10 +1083,10 @@ const AddClassManual = (props) => {
}); });
window.location.reload(); window.location.reload();
} else if (String(result['status']) === "false") { } else if (String(result['status']) === "false") {
// alert(result['message']); // alert(result['message']);
setdisplay_alert_mysy("1"); setdisplay_alert_mysy("1");
setalert_message(result['message']); setalert_message(result['message']);
setalert_type("error"); setalert_type("error");
} else if (String(result['status']) === String("Err_Connexion")) { } else if (String(result['status']) === String("Err_Connexion")) {
alert('Erreur: ' + result['message']); alert('Erreur: ' + result['message']);
@ -1149,7 +1161,11 @@ const AddClassManual = (props) => {
else { else {
setGetall_Training_Employee_No_Filter_api("false"); setGetall_Training_Employee_No_Filter_api("false");
setGetall_Training_Employee_No_Filter_message(res.data.message); setGetall_Training_Employee_No_Filter_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -2702,7 +2718,11 @@ const AddClassManual = (props) => {
else { else {
setGet_Partner_Object_Specific_Fields_api("false"); setGet_Partner_Object_Specific_Fields_api("false");
setGet_Partner_Object_Specific_Fields_message(res.data.message); setGet_Partner_Object_Specific_Fields_message(res.data.message);
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -3412,15 +3432,22 @@ const AddClassManual = (props) => {
setAdd_Update_UE_To_Class_result(res.data.message); setAdd_Update_UE_To_Class_result(res.data.message);
Getall_Class_List_UE(); Getall_Class_List_UE();
Dialog_Unite_Enseignement_handleClose_buton(); Dialog_Unite_Enseignement_handleClose_buton();
alert(res.data.message);
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
else { else {
setAdd_Update_UE_To_Class_api("false"); setAdd_Update_UE_To_Class_api("false");
setAdd_Update_UE_To_Class_message(res.data.message); setAdd_Update_UE_To_Class_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -3484,13 +3511,21 @@ const AddClassManual = (props) => {
Dialog_Evaluation_Unite_Enseignement_handleClose_buton(); Dialog_Evaluation_Unite_Enseignement_handleClose_buton();
alert(res.data.message);
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
else { else {
setAdd_Update_Evaluation_to_UE_api("false"); setAdd_Update_Evaluation_to_UE_api("false");
setAdd_Update_Evaluation_to_UE_message(res.data.message); setAdd_Update_Evaluation_to_UE_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -3625,7 +3660,11 @@ const AddClassManual = (props) => {
else { else {
setGetall_Employee_Statistic_Question_List_api("false"); setGetall_Employee_Statistic_Question_List_api("false");
setGetall_Employee_Statistic_Question_List_message(res.data.message); setGetall_Employee_Statistic_Question_List_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -3740,7 +3779,11 @@ const AddClassManual = (props) => {
else { else {
setGetall_Qry_Survey_Data_api("false"); setGetall_Qry_Survey_Data_api("false");
setGetall_Qry_Survey_Data_message(res.data.message); setGetall_Qry_Survey_Data_message(res.data.message);
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -3875,7 +3918,7 @@ const AddClassManual = (props) => {
function clear_display_alert_mysy() { function clear_display_alert_mysy() {
setdisplay_alert_mysy(""); setdisplay_alert_mysy("");
} }
return ( return (
@ -3890,7 +3933,7 @@ const AddClassManual = (props) => {
alert_type={alert_type} alert_type={alert_type}
clear_alert_message={clear_alert_message} clear_alert_message={clear_alert_message}
clear_alert_type={clear_alert_type} clear_alert_type={clear_alert_type}
clear_display_alert_mysy = {clear_display_alert_mysy} clear_display_alert_mysy={clear_display_alert_mysy}
/> />
} }
{/*** FIN Affichage des messages d'alerte*/} {/*** FIN Affichage des messages d'alerte*/}
@ -3936,7 +3979,7 @@ const AddClassManual = (props) => {
<DialogActions> <DialogActions>
<IconButton <IconButton
autoFocus // autoFocus
onClick={Dialog_mysy_ia_handleClose} onClick={Dialog_mysy_ia_handleClose}
color="primary" color="primary"
className={classes.customizedButton} className={classes.customizedButton}
@ -3955,8 +3998,30 @@ const AddClassManual = (props) => {
{/* Dialog pour gerer les Unite_Enseignement */} {/* Dialog pour gerer les Unite_Enseignement */}
<Dialog <Dialog
open={Dialog_Unite_Enseignement_open} open={Dialog_Unite_Enseignement_open}
onClose={Dialog_Unite_Enseignement_handleClose} // onClose={Dialog_Unite_Enseignement_handleClose}
className="displaypartnersession" className="displaypartnersession"
static
onClose={() => null}
PaperProps={{
className: classes.paper, // Apply the paper style
style: {
overflowY: 'unset',
position: 'absolute',
top: '5rem',
margin: "2px",
},
}}
hideBackdrop={true}
disableScrollLock
classes={{
paper: classes.dialog
}}
PaperComponent={PaperComponent}
aria-labelledby="draggable-dialog-title"
> >
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">MySy Information</DialogTitle> <DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">MySy Information</DialogTitle>
@ -4091,6 +4156,16 @@ const AddClassManual = (props) => {
</DialogContent> </DialogContent>
<DialogActions> <DialogActions>
<IconButton
// autoFocus
onClick={Dialog_Unite_Enseignement_handleClose_buton}
color="primary"
className={classes.customizedButton}
>
<CancelPresentationIcon />
</IconButton>
<div className="div_row"> <div className="div_row">
<div className="div_row_gauche"> <div className="div_row_gauche">
<Button onClick={(e) => { <Button onClick={(e) => {
@ -4122,8 +4197,30 @@ const AddClassManual = (props) => {
{/* Dialog pour gerer une EVALUATION à une Unite_Enseignement */} {/* Dialog pour gerer une EVALUATION à une Unite_Enseignement */}
<Dialog <Dialog
open={Dialog_Evaluation_Unite_Enseignement_open} open={Dialog_Evaluation_Unite_Enseignement_open}
onClose={Dialog_Evaluation_Unite_Enseignement_handleClose} // onClose={Dialog_Evaluation_Unite_Enseignement_handleClose}
className="displaypartnersession" className="displaypartnersession"
static
onClose={() => null}
PaperProps={{
className: classes.paper, // Apply the paper style
style: {
overflowY: 'unset',
position: 'absolute',
top: '5rem',
margin: "2px",
},
}}
hideBackdrop={true}
disableScrollLock
classes={{
paper: classes.dialog
}}
PaperComponent={PaperComponent}
aria-labelledby="draggable-dialog-title"
> >
<DialogTitle>MySy Information</DialogTitle> <DialogTitle>MySy Information</DialogTitle>
@ -4247,6 +4344,15 @@ const AddClassManual = (props) => {
</DialogContent> </DialogContent>
<DialogActions> <DialogActions>
<IconButton
// autoFocus
onClick={Dialog_Evaluation_Unite_Enseignement_handleClose_buton}
color="primary"
className={classes.customizedButton}
>
<CancelPresentationIcon />
</IconButton>
<div className="div_row"> <div className="div_row">
<div className="div_row_gauche"> <div className="div_row_gauche">

View File

@ -727,7 +727,7 @@ const Article = (props) => {
aria-labelledby="draggable-dialog-title" aria-labelledby="draggable-dialog-title"
> >
<DialogTitle>Votre article </DialogTitle> <DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">Votre article </DialogTitle>
<DialogContent className="DialogContent_width DialogContent_width_session_800px" > <DialogContent className="DialogContent_width DialogContent_width_session_800px" >

View File

@ -102,7 +102,28 @@ const ButtonHilight = () => {
useEffect(() => { useEffect(() => {
whosisconnected(); var local_user_connect = 0;
var local_part_connect = 0;
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
setuserconnected("0");
local_user_connect = 0;
} else {
setuserconnected("1");
setsomeoneconnected("1");
local_user_connect = 1;
//alert(" user connected OK");
}
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
setpartnerconnected("0");
local_part_connect = 0;
} else {
setpartnerconnected("1");
setsomeoneconnected("1");
local_part_connect = 1;
//alert(" partner connected OK");
}
if (typeof window !== 'undefined') { if (typeof window !== 'undefined') {
window.addEventListener('scroll', controlNavbar); window.addEventListener('scroll', controlNavbar);
@ -199,11 +220,20 @@ const ButtonHilight = () => {
function user_logout_confirmation() { function user_logout_confirmation() {
/* si c'est une connexion partner qui est active */ /* si c'est une connexion partner qui est active */
if (typeof (stored_user) != "undefined") { if (typeof (stored_user) != "undefined") {
setCookie("tokenmysych", ""); const stored_cookie = getCookie('tokenmysych');
var acces_right_token_name = stored_cookie + "_uar";
setpartCookie("tokenmysych", "", { path: '/' });
setpartCookie(acces_right_token_name, "", { path: '/' });
removeCookie(acces_right_token_name, { path: '/' });
removeCookie("tokenmysych", { path: '/' });
} }
history.push("/recherche-formation"); history.push("/intranet");
} }
function user_logout() { function user_logout() {
confirmAlert({ confirmAlert({
title: '', title: '',
@ -224,8 +254,7 @@ const ButtonHilight = () => {
function part_logout_confirmation() { function part_logout_confirmation() {
/* si c'est une connexion partner qui est active */ /* si c'est une connexion partner qui est active */
//alert(" deccc");
//console.log(" ### AVANNN deconnexion iciiii");
if (typeof (stored_part) != "undefined") { if (typeof (stored_part) != "undefined") {
const stored_cookie = getCookie('tokenmysypart'); const stored_cookie = getCookie('tokenmysypart');
var acces_right_token_name = stored_cookie + "_uar"; var acces_right_token_name = stored_cookie + "_uar";
@ -233,9 +262,20 @@ const ButtonHilight = () => {
setpartCookie("tokenmysypart", "", { path: '/' }); setpartCookie("tokenmysypart", "", { path: '/' });
setpartCookie(acces_right_token_name, "", { path: '/' }); setpartCookie(acces_right_token_name, "", { path: '/' });
removeCookie(acces_right_token_name, { path: '/' }); removeCookie(acces_right_token_name, { path: '/' });
}
setsomeoneconnected('0');
setpartCookie("mysy_session_display_view", "", { path: '/' });
setpartCookie("mysy_menu_gauche_reduit", "", { path: '/' });
setpartCookie("mysy_catalog_data_row_grouped_by", "", { path: '/' });
removeCookie("tokenmysypart", { path: '/' });
removeCookie("mysy_session_display_view", { path: '/' });
removeCookie("mysy_menu_gauche_reduit", { path: '/' });
removeCookie("mysy_catalog_data_row_grouped_by", { path: '/' });
}
setsomeoneconnected("0");
setDialog_1_open(false); setDialog_1_open(false);
history.push("/recherche-formation"); history.push("/recherche-formation");
} }
@ -596,7 +636,14 @@ const ButtonHilight = () => {
<DialogActions> <DialogActions>
<div className="div_row"> <div className="div_row">
<div className="div_row_gauche"> <div className="div_row_gauche">
<Button onClick={part_logout_confirmation} className="bton_enreg_dialog">Deconnexion</Button> <Button onClick={(e) => {
if (partnerconnected && String(partnerconnected) === '1')
part_logout_confirmation();
if (userconnected && String(userconnected) === '1')
user_logout_confirmation();
}} className="bton_enreg_dialog">Deconnexion</Button>
</div> </div>
<div className="div_row_droite" style={{ "textAlign": 'center' }}> <div className="div_row_droite" style={{ "textAlign": 'center' }}>
<Button onClick={Dialog_1_handleClose_buton} className="bton_annule_dialog" >Annuler</Button> <Button onClick={Dialog_1_handleClose_buton} className="bton_annule_dialog" >Annuler</Button>
@ -755,26 +802,36 @@ const ButtonHilight = () => {
Une Demo ? Une Demo ?
</div>} </div>}
<div className="hilight_menuPrincipal" onClick={(event) => { {String(userconnected) !== String("1") && <div className="hilight_menuPrincipal" onClick={(event) => {
setDialog_contact_open(true); setDialog_contact_open(true);
}}> }}>
Contact Contact
</div> </div>}
<div className="hilight_menuPrincipal" onClick={handleProduitService}> {String(userconnected) === String("1") && <div className="hilight_menuPrincipal" onClick={(event) => {
setDialog_contact_open(true);
}}>
Contact Editeur
</div>}
{String(userconnected) !== String("1") && <div className="hilight_menuPrincipal" onClick={handleProduitService}>
Tarifs Tarifs
</div> </div>}
<div className="hilight_menuPrincipal" onClick={(e) => { {String(userconnected) !== String("1") && <div className="hilight_menuPrincipal" onClick={(e) => {
history.push("/fonctionnalites") history.push("/fonctionnalites")
}}> }}>
Fonctionnalites Fonctionnalites
</div> </div>}
<div className="hilight_menuPrincipal" onClick={handleQuisommesNousMenu}> {String(userconnected) !== String("1") && <div className="hilight_menuPrincipal" onClick={handleQuisommesNousMenu}>
A propos A propos de
</div> </div>}
{String(userconnected) === String("1") && <div className="hilight_menuPrincipal" onClick={handleQuisommesNousMenu}>
L'editeur MySy Training
</div>}
@ -782,18 +839,7 @@ const ButtonHilight = () => {
</div> </div>
{/* <div className={`button1 ${show && 'hidden'}`} >
<div style={{ "width": "100%", "backgroundColor": "white" }}>
<Button variant="outlined"
className={`button1 ${show && 'hidden'}`}
onClick={(e) => {
e.preventDefault();
window.location.href = "/Recherche-Article-formation";
}}> Le blog </Button> <br />
</div>
</div>*/}
</div> </div>
</div> </div>

View File

@ -33,7 +33,7 @@ import Popup from 'reactjs-popup';
import 'react-tooltip/dist/react-tooltip.css' import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip' import { Tooltip } from 'react-tooltip'
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
const stripePromise = loadStripe('pk_test_51LUUfAAbmaEugrFTI25uZBD3IFjbtaL6jUfRV83diDf7nco8worna4NGKhMHbPP71WCwT5EHFRdDNatxPrJWwgZ300kgH5EO4p'); const stripePromise = loadStripe('pk_test_51LUUfAAbmaEugrFTI25uZBD3IFjbtaL6jUfRV83diDf7nco8worna4NGKhMHbPP71WCwT5EHFRdDNatxPrJWwgZ300kgH5EO4p');
//const stripePromise_PROD = loadStripe('pk_live_51LUUfAAbmaEugrFTyfNe4Dj0vbxc5qXQqNs0rztjAKy8oSlc5EEQyJGjA8Z5kXmP2gvUMcYLUBYCIyWWzLCw59RY00PtGInkVf'); //const stripePromise_PROD = loadStripe('pk_live_51LUUfAAbmaEugrFTyfNe4Dj0vbxc5qXQqNs0rztjAKy8oSlc5EEQyJGjA8Z5kXmP2gvUMcYLUBYCIyWWzLCw59RY00PtGInkVf');
@ -586,7 +586,7 @@ function CheckOut(props) {
if (String(data['status']) === String("true")) { if (String(data['status']) === String("true")) {
console.log(" status = OKKK "); // console.log(" status = OKKK ");
//console.log(" subscriptionId = " + subscriptionId + " -- et clientSecret = " + clientSecret); //console.log(" subscriptionId = " + subscriptionId + " -- et clientSecret = " + clientSecret);
//setclientSecret_id(data['payment_intent_client_secret']); //setclientSecret_id(data['payment_intent_client_secret']);
//setpayement_id(data['subscription_id']); //setpayement_id(data['subscription_id']);
@ -651,7 +651,7 @@ function CheckOut(props) {
}) })
.then((data) => data.json()) .then((data) => data.json())
.then((data) => { .then((data) => {
//console.log('Success:', data['message'], "data['status'] = ", data['status'], "ORDER ID = ", data['order_id']); //console.log('message:', data['message'], "data['status'] = ", data['status'], "ORDER ID = ", data['order_id']);
if (String(data['status']) === String("true")) { if (String(data['status']) === String("true")) {
setorderid(data['order_id']); setorderid(data['order_id']);
setapiorderid("1"); setapiorderid("1");
@ -660,7 +660,11 @@ function CheckOut(props) {
setpaymentmode(""); setpaymentmode("");
setgotocheckout(""); setgotocheckout("");
console.log(" ### packprice = ", packprice); setdisplay_alert_mysy("1");
setalert_message(data['message']);
setalert_type("success");
// console.log(" ### packprice = ", packprice);
/* /*
IMPORTANT : IMPORTANT :
@ -674,7 +678,7 @@ function CheckOut(props) {
window.location.reload(); window.location.reload();
} }
} else { } else {
console.log(" laaaaa ") // console.log(" laaaaa ")
if (String(props.packs).toLowerCase() === String("decouverte")) { if (String(props.packs).toLowerCase() === String("decouverte")) {
MySy_LMS_Account_Management(); MySy_LMS_Account_Management();
setLoading(false); setLoading(false);
@ -687,17 +691,15 @@ function CheckOut(props) {
window.location.reload(); window.location.reload();
} }
} }
} }
else { else {
setapiorderid("0"); setapiorderid("0");
setapiorderidmessage(data['message']); setapiorderidmessage(data['message']);
setLoading(false); setLoading(false);
setdisplay_alert_mysy("1");
setalert_message(data['message']);
setalert_type("error");
} }
@ -705,6 +707,9 @@ function CheckOut(props) {
console.error('Error:', error); console.error('Error:', error);
setapiorderid("0"); setapiorderid("0");
setLoading(false); setLoading(false);
setdisplay_alert_mysy("1");
setalert_message("Impossible de mettre à jour votre abonnement ");
setalert_type("error");
}); });
@ -1217,6 +1222,21 @@ function CheckOut(props) {
}) })
} }
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 ( return (
<div className="checkout"> <div className="checkout">
@ -1225,6 +1245,16 @@ function CheckOut(props) {
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div> <div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>} </div>}
{/*** Affichage des messages d'alerte*/}
{display_alert_mysy && String(display_alert_mysy) === "1" &&
<Module_Alert_Confirmation alert_message={alert_message}
alert_type={alert_type}
clear_alert_message={clear_alert_message}
clear_alert_type={clear_alert_type}
clear_display_alert_mysy={clear_display_alert_mysy}
/>
}
{/*** FIN Affichage des messages d'alerte*/}
{String(apiorderid) === String("0") && <div className="koUpdateData"> {String(apiorderid) === String("0") && <div className="koUpdateData">
Impossible de créer la commande.<br /> Impossible de créer la commande.<br />
{apiorderidmessage} {apiorderidmessage}
@ -1265,7 +1295,7 @@ function CheckOut(props) {
</ul> </ul>
))} ))}
</div> </div>
<div className="div_row_droite"> <div className="titre1"> Détail prix </div> <div className="div_row_droite"> <div className="titre1"> Détail prix </div>

View File

@ -408,8 +408,8 @@ const DisplayDetailClass_new_v3 = (props) => {
//alert("myurl = "+myurl); //alert("myurl = "+myurl);
axios.post(myurl, form).then(res => { axios.post(myurl, form).then(res => {
// console.log(" In Display res.data.status = " + res.data.status); // console.log(" In Display res.data.status = " + res.data.status);
// console.log(" In Display res.data.message = " + res.data.message); // console.log(" In Display res.data.message = " + res.data.message);
if (String(res.data.status) === String("true")) { if (String(res.data.status) === String("true")) {
if (res.data.message.length > 0) { if (res.data.message.length > 0) {
@ -2273,7 +2273,7 @@ const DisplayDetailClass_new_v3 = (props) => {
</div> </div>
{/****** Stick droire */} {/****** Stick droite */}
<div style={{ width: '29%', float: 'left', "marginRight": "5px" }}> <div style={{ width: '29%', float: 'left', "marginRight": "5px" }}>

File diff suppressed because it is too large Load Diff

View File

@ -157,7 +157,12 @@ const DistplayPartnerTraningsPage = (props) => {
//console.log("file_size = ",file_size," file_type = ",file_type); //console.log("file_size = ",file_size," file_type = ",file_type);
if (file_size > 1000000) { 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; return;
} }
@ -200,6 +205,11 @@ const DistplayPartnerTraningsPage = (props) => {
}); });
alert(local_message); alert(local_message);
setdisplay_alert_mysy("1");
setalert_message(local_message);
setalert_type("success");
//history.push("/Partner/affichage"); //history.push("/Partner/affichage");
//window.location.reload(); //window.location.reload();
//return; //return;
@ -216,7 +226,11 @@ const DistplayPartnerTraningsPage = (props) => {
top: 0, top: 0,
behavior: "smooth", behavior: "smooth",
}); });
alert(result['message']); // alert(result['message']);
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("error");
setformation_file_name(""); setformation_file_name("");
@ -230,7 +244,13 @@ const DistplayPartnerTraningsPage = (props) => {
setmyApiResponse("false"); setmyApiResponse("false");
setapiexcelimportmessage("-1"); setapiexcelimportmessage("-1");
sethandleSubmission_api("false"); sethandleSubmission_api("false");
alert(" Impossible d'importer/mettre à jour les formations"); // alert(" Impossible d'importer/mettre à jour les formations");
// alert(result['message']);
setdisplay_alert_mysy("1");
setalert_message("Impossible d'importer/mettre à jour les formations");
setalert_type("error");
}); });
}; };
@ -356,7 +376,7 @@ const DistplayPartnerTraningsPage = (props) => {
.then((data) => data.json()) .then((data) => data.json())
.then((data) => { .then((data) => {
// console.log('GetAllClass_new ==> Success:', data['message'], "data['status'] = ", data['status']); // console.log('GetAllClass_new ==> Success:', data['message'], "data['status'] = ", data['status']);
// console.log(" String(data['status'] = ", String(data['status'])); // console.log(" String(data['status'] = ", String(data['status']));
setTableData(data['message']); setTableData(data['message']);
setRows(data['message']); setRows(data['message']);
if (String(data['status']) === String("false")) { if (String(data['status']) === String("false")) {
@ -1464,13 +1484,22 @@ const DistplayPartnerTraningsPage = (props) => {
else { else {
setGet_Partner_Object_Specific_Fields_api("false"); setGet_Partner_Object_Specific_Fields_api("false");
setGet_Partner_Object_Specific_Fields_message(res.data.message); setGet_Partner_Object_Specific_Fields_message(res.data.message);
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
console.warn('Not good man :( Get_Partner_Object_Specific_Fields = ', error); console.warn('Not good man :( Get_Partner_Object_Specific_Fields = ', error);
setGet_Partner_Object_Specific_Fields_api("false"); setGet_Partner_Object_Specific_Fields_api("false");
alert(" Impossible de recuperer la liste des collection et champs personnalisables");
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message("Impossible de recuperer la liste des collection et champs personnalisables");
setalert_type("error");
// alert(" Impossible de recuperer la liste des collection et champs personnalisables");
//setmyApimyApiMessage("") //setmyApimyApiMessage("")
}) })
} }
@ -1823,12 +1852,18 @@ const DistplayPartnerTraningsPage = (props) => {
setDelete_Class_result(res.data.message); setDelete_Class_result(res.data.message);
GetAllClass_new(); GetAllClass_new();
alert(res.data.message) // alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
else { else {
setDelete_Class_api("false"); setDelete_Class_api("false");
setDelete_Class_message(res.data.message); setDelete_Class_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -1836,7 +1871,13 @@ const DistplayPartnerTraningsPage = (props) => {
console.log('Delete_Class : Not good man :( Delete_Class = ' + error); console.log('Delete_Class : Not good man :( Delete_Class = ' + error);
setDelete_Class_api("false"); setDelete_Class_api("false");
alert(" Impossible de supprimer la formation");
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message("Impossible de supprimer la formation");
setalert_type("error");
//alert(" Impossible de supprimer la formation");
}) })
} }
@ -1852,7 +1893,12 @@ const DistplayPartnerTraningsPage = (props) => {
function handlepush_to_lms(event, cellValues) { function handlepush_to_lms(event, cellValues) {
if (cellValues.row.lms_class_code && String(cellValues.row.lms_class_code).length > 2) { if (cellValues.row.lms_class_code && String(cellValues.row.lms_class_code).length > 2) {
alert(" Cette formation est déjà publiée sur la plateforme de E-Learning"); // alert(" Cette formation est déjà publiée sur la plateforme de E-Learning");
setdisplay_alert_mysy("1");
setalert_message(" Cette formation est déjà publiée sur la plateforme de E-Learning");
setalert_type("error");
return; return;
} }
@ -1876,7 +1922,10 @@ const DistplayPartnerTraningsPage = (props) => {
setLoading(false); setLoading(false);
GetAllClass_new(); GetAllClass_new();
alert(res.data.message); // alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
@ -1890,7 +1939,13 @@ const DistplayPartnerTraningsPage = (props) => {
sethandlepush_to_lms_api("false"); sethandlepush_to_lms_api("false");
sethandlepush_to_lms_message(res.data.message); sethandlepush_to_lms_message(res.data.message);
setLoading(false); setLoading(false);
alert("Erreur : " + res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
//alert("Erreur : " + res.data.message);
} }
}).catch((error) => { }).catch((error) => {
@ -2070,12 +2125,18 @@ const DistplayPartnerTraningsPage = (props) => {
setSelectionModel([]); setSelectionModel([]);
GetAllClass_new(); GetAllClass_new();
alert(res.data.message); // alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
else { else {
setDelete_LIST_Formations_api("false"); setDelete_LIST_Formations_api("false");
setDelete_LIST_Formations_message(res.data.message); setDelete_LIST_Formations_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -2083,7 +2144,12 @@ const DistplayPartnerTraningsPage = (props) => {
console.warn('Delete_LIST_Formations : Not good man :( mysearchtext = ' + error); console.warn('Delete_LIST_Formations : Not good man :( mysearchtext = ' + error);
setDelete_LIST_Formations_api("false"); setDelete_LIST_Formations_api("false");
alert(" Impossible de supprimer la liste des sessions de formation"); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message("Impossible de supprimer la liste des sessions de formation");
setalert_type("error");
//alert(" Impossible de supprimer la liste des sessions de formation");
}) })
} }
@ -2257,7 +2323,7 @@ const DistplayPartnerTraningsPage = (props) => {
var local_tmp = data_row_grouped_field; var local_tmp = data_row_grouped_field;
var local_tab_array = []; var local_tab_array = [];
if (param[local_tmp]) { if (param[local_tmp]) {
local_tab_array.push(String(param[local_tmp])); local_tab_array.push(String(param[local_tmp]));
} else { } else {
@ -2292,6 +2358,22 @@ const DistplayPartnerTraningsPage = (props) => {
setcookie_catalog_display_view("mysy_catalog_data_row_grouped_by", String(grouped_by), { path: '/' }); setcookie_catalog_display_view("mysy_catalog_data_row_grouped_by", String(grouped_by), { path: '/' });
} }
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 ( return (
<div className='displaypartnertrainingpagination'> <div className='displaypartnertrainingpagination'>
@ -2299,7 +2381,16 @@ const DistplayPartnerTraningsPage = (props) => {
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div> <div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>} </div>}
{/*** Affichage des messages d'alerte*/}
{display_alert_mysy && String(display_alert_mysy) === "1" &&
<Module_Alert_Confirmation alert_message={alert_message}
alert_type={alert_type}
clear_alert_message={clear_alert_message}
clear_alert_type={clear_alert_type}
clear_display_alert_mysy={clear_display_alert_mysy}
/>
}
{/*** FIN Affichage des messages d'alerte*/}
<Dialog <Dialog
open={Dialog_formation_open} open={Dialog_formation_open}
@ -3009,8 +3100,8 @@ const DistplayPartnerTraningsPage = (props) => {
</div> </div>
</div>} </div>}
{data_row_grouped_by && (String(data_row_grouped_by) === "domain" || String(data_row_grouped_by) === "metier" || {data_row_grouped_by && (String(data_row_grouped_by) === "domain" || String(data_row_grouped_by) === "metier" ||
String(data_row_grouped_by) === "categorie") && String(data_row_grouped_by) === "categorie") &&
<div className="div_row"> <div className="div_row">
<Box <Box
sx={{ sx={{

View File

@ -16,8 +16,7 @@ import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip' import { Tooltip } from 'react-tooltip'
import add_plus from "../mysy_img/plus.png"; import add_plus from "../mysy_img/plus.png";
import excel_icone from "../mysy_img/excel_icone.png"; import excel_icone from "../mysy_img/excel_icone.png";
import participants from "../mysy_img/participants.png";
import fileDownload from 'js-file-download'
import Popup from 'reactjs-popup'; import Popup from 'reactjs-popup';
import { FcInfo } from "react-icons/fc"; import { FcInfo } from "react-icons/fc";
import Autocomplete from '@mui/material/Autocomplete'; import Autocomplete from '@mui/material/Autocomplete';
@ -46,7 +45,7 @@ import { gridClasses } from '@mui/x-data-grid';
import Link from '@mui/material/Link'; import Link from '@mui/material/Link';
import { PiDotsThree } from "react-icons/pi"; import { PiDotsThree } from "react-icons/pi";
import Chip from "@mui/material/Chip"; import Chip from "@mui/material/Chip";
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
const DisplayPartnerUnite_Enseignement = (props) => { const DisplayPartnerUnite_Enseignement = (props) => {
const history = useHistory(); const history = useHistory();
@ -387,14 +386,21 @@ const DisplayPartnerUnite_Enseignement = (props) => {
setadd_one_ue(""); setadd_one_ue("");
setsubmenu(""); setsubmenu("");
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
alert(res.data.message)
} }
else { else {
setDelete_Given_UE_api("false"); setDelete_Given_UE_api("false");
setDelete_Given_UE_message(res.data.message); setDelete_Given_UE_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -435,13 +441,20 @@ const DisplayPartnerUnite_Enseignement = (props) => {
setDelete_Given_UE_Planif_Line_api("true"); setDelete_Given_UE_Planif_Line_api("true");
setDelete_Given_UE_Planif_Line_result(res.data.message); setDelete_Given_UE_Planif_Line_result(res.data.message);
Getall_UE_Planif_data(selected_id); Getall_UE_Planif_data(selected_id);
alert(res.data.message); // alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
else { else {
setDelete_Given_UE_Planif_Line_api("false"); setDelete_Given_UE_Planif_Line_api("false");
setDelete_Given_UE_Planif_Line_message(res.data.message); setDelete_Given_UE_Planif_Line_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -508,7 +521,11 @@ const DisplayPartnerUnite_Enseignement = (props) => {
else { else {
setGetall_Parter_Unite_Enseignement_api("false"); setGetall_Parter_Unite_Enseignement_api("false");
setGetall_Parter_Unite_Enseignement_message(res.data.message); setGetall_Parter_Unite_Enseignement_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -576,7 +593,11 @@ const DisplayPartnerUnite_Enseignement = (props) => {
else { else {
setGetall_Parter_Unite_Enseignement_with_Filter_api("false"); setGetall_Parter_Unite_Enseignement_with_Filter_api("false");
setGetall_Parter_Unite_Enseignement_with_Filter_message(res.data.message); setGetall_Parter_Unite_Enseignement_with_Filter_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -783,7 +804,11 @@ const DisplayPartnerUnite_Enseignement = (props) => {
else { else {
setGet_Given_Unite_Enseignement_api("false"); setGet_Given_Unite_Enseignement_api("false");
setGet_Given_Unite_Enseignement_message(res.data.message); setGet_Given_Unite_Enseignement_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1048,7 +1073,10 @@ const DisplayPartnerUnite_Enseignement = (props) => {
seteu_changed(""); seteu_changed("");
setdisplay_ue(""); setdisplay_ue("");
clean_fields(); clean_fields();
alert(res.data.message); // alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
if (document.getElementById('myRef_head')) { if (document.getElementById('myRef_head')) {
@ -1062,7 +1090,11 @@ const DisplayPartnerUnite_Enseignement = (props) => {
else { else {
setAdd_Update_UE_Data_api("false"); setAdd_Update_UE_Data_api("false");
setAdd_Update_UE_Data_message(res.data.message); setAdd_Update_UE_Data_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1457,7 +1489,11 @@ const DisplayPartnerUnite_Enseignement = (props) => {
else { else {
setGetall_UE_Planif_data_api("false"); setGetall_UE_Planif_data_api("false");
setGetall_UE_Planif_data_message(res.data.message); setGetall_UE_Planif_data_message(res.data.message);
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1544,13 +1580,21 @@ const DisplayPartnerUnite_Enseignement = (props) => {
Getall_UE_Planif_data(selected_id); Getall_UE_Planif_data(selected_id);
alert(res.data.message); // alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Close_Dialog_PLANIF_LINE_buton(); Close_Dialog_PLANIF_LINE_buton();
} }
else { else {
setAdd_Update_Unite_Enseignement_Planif_api("false"); setAdd_Update_Unite_Enseignement_Planif_api("false");
setAdd_Update_Unite_Enseignement_Planif_message(res.data.message); setAdd_Update_Unite_Enseignement_Planif_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1670,12 +1714,41 @@ const DisplayPartnerUnite_Enseignement = (props) => {
)); ));
}; };
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 ( return (
<div className="displayPartnerunite_enseignement"> <div className="displayPartnerunite_enseignement">
{isLoading && <div className="loader-container"> {isLoading && <div className="loader-container">
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div> <div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>} </div>}
{/*** Affichage des messages d'alerte*/}
{display_alert_mysy && String(display_alert_mysy) === "1" &&
<Module_Alert_Confirmation alert_message={alert_message}
alert_type={alert_type}
clear_alert_message={clear_alert_message}
clear_alert_type={clear_alert_type}
clear_display_alert_mysy={clear_display_alert_mysy}
/>
}
{/*** FIN Affichage des messages d'alerte*/}
<Dialog <Dialog
open={Dialog_1_open} open={Dialog_1_open}
onClose={Dialog_1_handleClose} onClose={Dialog_1_handleClose}

View File

@ -485,7 +485,7 @@ function ESign() {
<div className="div_row_dialog"> <div className="div_row_dialog">
<div className="session_caract_Dialog" > <b> Email </b> <div className="session_caract_Dialog" > <b> Email </b>
<TextField <TextField
autoFocus // autoFocus
margin="dense" margin="dense"
id="new_login" id="new_login"
//label="Prix Unitaire" //label="Prix Unitaire"
@ -505,7 +505,7 @@ function ESign() {
<div className="div_row_dialog"> <div className="div_row_dialog">
<div className="session_caract_Dialog" > <b>Clé de signature </b> <div className="session_caract_Dialog" > <b>Clé de signature </b>
<TextField <TextField
autoFocus // autoFocus
margin="dense" margin="dense"
id="secrete_key" id="secrete_key"
//label="Prix Unitaire" //label="Prix Unitaire"
@ -529,7 +529,7 @@ function ESign() {
<DialogActions> <DialogActions>
<IconButton <IconButton
autoFocus // autoFocus
onClick={Dialog_SIGN_VALIDATION_handleClose_buton} onClick={Dialog_SIGN_VALIDATION_handleClose_buton}
color="primary" color="primary"
className={classes.customizedButton} className={classes.customizedButton}
@ -591,7 +591,7 @@ function ESign() {
<div className="div_row_dialog"> <div className="div_row_dialog">
<div className="session_caract_Dialog" > <b>Email </b> <div className="session_caract_Dialog" > <b>Email </b>
<TextField <TextField
autoFocus // autoFocus
margin="dense" margin="dense"
id="new_login" id="new_login"
//label="Prix Unitaire" //label="Prix Unitaire"
@ -611,7 +611,7 @@ function ESign() {
<div className="div_row_dialog"> <div className="div_row_dialog">
<div className="session_caract_Dialog" > <b> Clé d'ouverture </b> <div className="session_caract_Dialog" > <b> Clé d'ouverture </b>
<TextField <TextField
autoFocus // autoFocus
margin="dense" margin="dense"
id="secrete_key" id="secrete_key"
//label="Prix Unitaire" //label="Prix Unitaire"
@ -634,7 +634,7 @@ function ESign() {
<DialogActions> <DialogActions>
<IconButton <IconButton
autoFocus // autoFocus
onClick={Dialog_1_handleClose_buton} onClick={Dialog_1_handleClose_buton}
color="primary" color="primary"
className={classes.customizedButton} className={classes.customizedButton}

View File

@ -129,11 +129,11 @@ const Header = () => {
const handleAvis = () => { const handleAvis = () => {
setavisMenu(null); setavisMenu(null);
history.push("/Recherche-Article-formation") history.push("/Recherche-Article-formation")
}; };
function user_logout_confirmation() { function user_logout_confirmation() {
/* si c'est une connexion partner qui est active */ /* si c'est une connexion partner qui est active */
if (typeof (stored_user) != "undefined") { if (typeof (stored_user) != "undefined") {
const stored_cookie = getCookie('tokenmysych'); const stored_cookie = getCookie('tokenmysych');
var acces_right_token_name = stored_cookie + "_uar"; var acces_right_token_name = stored_cookie + "_uar";
@ -283,6 +283,14 @@ const Header = () => {
history.push("/recherche-formation") history.push("/recherche-formation")
}; };
const handlePartner_Catalog = (event) => {
// history.push("/moncatalog")
const win = window.open("/moncatalog", "_blank");
win.focus();
};
const [Dialog_1_message, setDialog_1_message] = React.useState(false); const [Dialog_1_message, setDialog_1_message] = React.useState(false);
const [Dialog_1_open, setDialog_1_open] = React.useState(false); const [Dialog_1_open, setDialog_1_open] = React.useState(false);
function Dialog_1_handle_change_participant_session(message) { function Dialog_1_handle_change_participant_session(message) {
@ -561,7 +569,9 @@ const Header = () => {
<DialogTitle>MySy Information</DialogTitle> <DialogTitle>MySy Information</DialogTitle>
<DialogContent className="DialogContent_width"> <DialogContent className="DialogContent_width">
<DialogContentText> <DialogContentText>
Confirmez la deconnexion Confirmez la deconnexion <br />
</DialogContentText> </DialogContentText>
</DialogContent> </DialogContent>
@ -569,15 +579,18 @@ const Header = () => {
<DialogActions> <DialogActions>
<div className="div_row"> <div className="div_row">
<div className="div_row_gauche"> <div className="div_row_gauche">
<Button <Button
onClick={(e) => {
part_logout_confirmation();
user_logout_confirmation();
}}
className="bton_enreg_dialog">Deconnexion</Button> onClick={(e) => {
if (partnerconnected && String(partnerconnected) === '1')
part_logout_confirmation();
if (userconnected && String(userconnected) === '1')
user_logout_confirmation();
}}
className="bton_enreg_dialog">Deconnexion</Button>
</div> </div>
<div className="div_row_droite" style={{ "textAlign": 'center' }}> <div className="div_row_droite" style={{ "textAlign": 'center' }}>
<Button onClick={Dialog_1_handleClose_buton} className="bton_annule_dialog" >Annuler</Button> <Button onClick={Dialog_1_handleClose_buton} className="bton_annule_dialog" >Annuler</Button>
@ -688,9 +701,13 @@ const Header = () => {
</a> </a>
</div> </div>
<div className="header_menuPrincipal_left" onClick={handleMarketplace}> {String(userconnected) !== "1" && <div className="header_menuPrincipal_left" onClick={handleMarketplace}>
Marketplace Marketplace
</div> </div>}
{String(userconnected) === "1" && <div className="header_menuPrincipal_left" onClick={handlePartner_Catalog}>
Catalogue
</div>}
</div> </div>
<div className="header_div_003"> <div className="header_div_003">
@ -735,25 +752,36 @@ const Header = () => {
Reserver une Demo Reserver une Demo
</div> </div>
<div className="header_menuPrincipal" onClick={(event) => { {String(userconnected) !== String("1") && <div className="header_menuPrincipal" onClick={(event) => {
setDialog_contact_open(true); setDialog_contact_open(true);
}}> }}>
Contact Contact
</div> </div>}
{String(userconnected) === String("1") && <div className="header_menuPrincipal" onClick={(event) => {
<div className="header_menuPrincipal" onClick={handleProduitService} > setDialog_contact_open(true);
}}>
Contact Editeur
</div>}
{String(userconnected) !== String("1") && <div className="header_menuPrincipal" onClick={handleProduitService} >
Tarifs Tarifs
</div> </div>}
<div className="header_menuPrincipal" onClick={(e) => { history.push("/fonctionnalites") }}> {String(userconnected) !== String("1") && <div className="header_menuPrincipal" onClick={(e) => { history.push("/fonctionnalites") }}>
Fonctionnalites Fonctionnalites
</div> </div>}
<div className="header_menuPrincipal" onClick={handleQuisommesNousMenu}> {String(userconnected) !== String("1") && <div className="header_menuPrincipal" onClick={handleQuisommesNousMenu}>
A propos A propos
</div> </div>}
{String(userconnected) === String("1") && <div className="header_menuPrincipal" onClick={handleQuisommesNousMenu}>
L'editeur MySy Training
</div>}
</div> </div>
</div> </div>

View File

@ -4,20 +4,9 @@ import { getCookie } from 'react-use-cookie';
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
import axios from "axios"; import axios from "axios";
import Box from '@mui/material/Box'; import Box from '@mui/material/Box';
import InputLabel from '@mui/material/InputLabel';
import InputAdornment from '@mui/material/InputAdornment';
import FormControl from '@mui/material/FormControl';
import TextField from '@mui/material/TextField';
import AccountCircle from '@mui/icons-material/AccountCircle';
import PhoneIcon from '@mui/icons-material/Phone'
import EmailIcon from '@mui/icons-material/Email'
import HomeIcon from '@mui/icons-material/Home'
import { useHistory } from "react-router-dom"; import { useHistory } from "react-router-dom";
import OrderConfirmation from "./OrderConfirmation";
import { IoAddCircleOutline } from "react-icons/io5";
import MyPaymentMethode from "./PaymentMethode";
import img_visa_mastercard from "./../mysy_img/visa_mastercard.png"
import img_logo_stripe from "./../mysy_img/logo-stripe-secure.png";
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import img_paypal from "./../mysy_img/paypal.png" import img_paypal from "./../mysy_img/paypal.png"
import moment from "moment"; import moment from "moment";
@ -34,9 +23,13 @@ import SendIcon from '@mui/icons-material/Send';
import 'react-tooltip/dist/react-tooltip.css' import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip' import { Tooltip } from 'react-tooltip'
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
import EditIcon from '@mui/icons-material/Edit';
import { MdDeleteForever } from "react-icons/md";
import Fab from '@mui/material/Fab';
import { IoIosAddCircleOutline, IoMdTrash } from "react-icons/io";
//const stripePromise = loadStripe('pk_test_51LUUfAAbmaEugrFTI25uZBD3IFjbtaL6jUfRV83diDf7nco8worna4NGKhMHbPP71WCwT5EHFRdDNatxPrJWwgZ300kgH5EO4p');
const stripePromise = loadStripe('pk_test_51LUUfAAbmaEugrFTI25uZBD3IFjbtaL6jUfRV83diDf7nco8worna4NGKhMHbPP71WCwT5EHFRdDNatxPrJWwgZ300kgH5EO4p');
//const stripePromise_PROD = loadStripe('pk_live_51LUUfAAbmaEugrFTyfNe4Dj0vbxc5qXQqNs0rztjAKy8oSlc5EEQyJGjA8Z5kXmP2gvUMcYLUBYCIyWWzLCw59RY00PtGInkVf'); //const stripePromise_PROD = loadStripe('pk_live_51LUUfAAbmaEugrFTyfNe4Dj0vbxc5qXQqNs0rztjAKy8oSlc5EEQyJGjA8Z5kXmP2gvUMcYLUBYCIyWWzLCw59RY00PtGInkVf');
@ -87,10 +80,18 @@ function HebergementLms(props) {
//console.log(" In GetLms_Themes res.data.message r_class = " + res.data.message); //console.log(" In GetLms_Themes res.data.message r_class = " + res.data.message);
setGetLms_Themes_api("true"); setGetLms_Themes_api("true");
setGetLms_Themes_result(res.data.message); setGetLms_Themes_result(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("success");
} }
else { else {
setGetLms_Themes_api("false"); setGetLms_Themes_api("false");
setGetLms_Themes_message(res.data.message); setGetLms_Themes_message(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -136,6 +137,10 @@ function HebergementLms(props) {
else { else {
setGetLms_Themes_Logo_Banniere_api("false"); setGetLms_Themes_Logo_Banniere_api("false");
setGetLms_Themes_Logo_Banniere_message(res.data.message); setGetLms_Themes_Logo_Banniere_message(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -167,12 +172,22 @@ function HebergementLms(props) {
setRecordData_api("true"); setRecordData_api("true");
setRecordData_result(res.data.message); setRecordData_result(res.data.message);
setLoading(false); setLoading(false);
alert(" La mise à jour du theme a été correctement effectuée. ");
setdisplay_alert_mysy("1");
setalert_message(" La mise à jour du theme a été correctement effectuée. ");
setalert_type("success");
// alert(" La mise à jour du theme a été correctement effectuée. ");
} }
else { else {
setRecordData_api("false"); setRecordData_api("false");
setRecordData_message(res.data.message); setRecordData_message(res.data.message);
setLoading(false); setLoading(false);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -246,7 +261,7 @@ function HebergementLms(props) {
} }
//image/png //image/png
if (String(file_type) !== "image/png" && String(file_type) !== "image/jpg" && String(file_type) !== "image/webp" ) { if (String(file_type) !== "image/png" && String(file_type) !== "image/jpg" && String(file_type) !== "image/webp") {
alert("Le fichier n'est pas au format PNG"); alert("Le fichier n'est pas au format PNG");
return; return;
} }
@ -335,7 +350,12 @@ function HebergementLms(props) {
if (String(result['status']) === String("true")) { if (String(result['status']) === String("true")) {
setSend_logo_Img_api("true"); setSend_logo_Img_api("true");
alert(" La mise à jour du logo a été correctement effectuée. "); // alert(" La mise à jour du logo a été correctement effectuée. ");
setdisplay_alert_mysy("1");
setalert_message("La mise à jour du logo a été correctement effectuée.");
setalert_type("success");
} else if (String(result['status']) === String("Err_Connexion")) { } else if (String(result['status']) === String("Err_Connexion")) {
alert('Erreur: ' + result['message']); alert('Erreur: ' + result['message']);
@ -345,6 +365,11 @@ function HebergementLms(props) {
else { else {
setSend_logo_Img_api("false"); setSend_logo_Img_api("false");
setSend_logo_Img_message(result['message']); setSend_logo_Img_message(result['message']);
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("error");
} }
setLoading(false); setLoading(false);
@ -390,7 +415,11 @@ function HebergementLms(props) {
if (String(result['status']) === String("true")) { if (String(result['status']) === String("true")) {
setDelete_logo_Img_api("true"); setDelete_logo_Img_api("true");
setGetLms_Themes_Logo_Img(''); setGetLms_Themes_Logo_Img('');
alert(" Le logo a été correctement supprimé "); // alert(" Le logo a été correctement supprimé ");
setdisplay_alert_mysy("1");
setalert_message(" Le logo a été correctement supprimé ");
setalert_type("success");
} else if (String(result['status']) === String("Err_Connexion")) { } else if (String(result['status']) === String("Err_Connexion")) {
alert('Erreur: ' + result['message']); alert('Erreur: ' + result['message']);
@ -400,6 +429,11 @@ function HebergementLms(props) {
else { else {
setDelete_logo_Img_api("false"); setDelete_logo_Img_api("false");
setDelete_logo_Img_message(result['message']); setDelete_logo_Img_message(result['message']);
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("error");
} }
setLoading(false); setLoading(false);
@ -445,7 +479,12 @@ function HebergementLms(props) {
if (String(result['status']) === String("true")) { if (String(result['status']) === String("true")) {
setDelete_Banniere_Img_api("true"); setDelete_Banniere_Img_api("true");
setGetLms_Themes_Banniere_Img(''); setGetLms_Themes_Banniere_Img('');
alert(" La bannière a été correctement supprimée "); // alert(" La bannière a été correctement supprimée ");
setdisplay_alert_mysy("1");
setalert_message("La bannière a été correctement supprimée");
setalert_type("success");
} else if (String(result['status']) === String("Err_Connexion")) { } else if (String(result['status']) === String("Err_Connexion")) {
alert('Erreur: ' + result['message']); alert('Erreur: ' + result['message']);
@ -455,6 +494,12 @@ function HebergementLms(props) {
else { else {
setDelete_Banniere_Img_api("false"); setDelete_Banniere_Img_api("false");
setDelete_Banniere_Img_message(result['message']); setDelete_Banniere_Img_message(result['message']);
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("error");
} }
setLoading(false); setLoading(false);
@ -492,7 +537,7 @@ function HebergementLms(props) {
} }
//image/png //image/png
if (String(file_type) !== "image/png" && String(file_type) !== "image/jpg" && String(file_type) !== "image/webp" ) { if (String(file_type) !== "image/png" && String(file_type) !== "image/jpg" && String(file_type) !== "image/webp") {
alert("Le fichier n'est pas au format PNG"); alert("Le fichier n'est pas au format PNG");
return; return;
} }
@ -584,7 +629,11 @@ function HebergementLms(props) {
if (String(result['status']) === String("true")) { if (String(result['status']) === String("true")) {
setSendBackground_Img_api("true"); setSendBackground_Img_api("true");
alert(" L'image bannière a été correctement mise à jour") setdisplay_alert_mysy("1");
setalert_message("L'image bannière a été correctement mise à jour");
setalert_type("success");
// alert(" L'image bannière a été correctement mise à jour")
} else if (String(result['status']) === String("Err_Connexion")) { } else if (String(result['status']) === String("Err_Connexion")) {
alert('Erreur: ' + result['message']); alert('Erreur: ' + result['message']);
@ -594,6 +643,11 @@ function HebergementLms(props) {
else { else {
setSendBackground_Img_api("false"); setSendBackground_Img_api("false");
setSendBackground_Img_message(result['message']); setSendBackground_Img_message(result['message']);
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("error");
} }
setLoading(false); setLoading(false);
@ -658,6 +712,22 @@ function HebergementLms(props) {
setlogo_file_name(); setlogo_file_name();
} }
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 ( return (
<div className="hebergementlms"> <div className="hebergementlms">
@ -665,6 +735,20 @@ function HebergementLms(props) {
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div> <div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>} </div>}
{/*** Affichage des messages d'alerte*/}
{display_alert_mysy && String(display_alert_mysy) === "1" &&
<Module_Alert_Confirmation alert_message={alert_message}
alert_type={alert_type}
clear_alert_message={clear_alert_message}
clear_alert_type={clear_alert_type}
clear_display_alert_mysy={clear_display_alert_mysy}
/>
}
{/*** FIN Affichage des messages d'alerte*/}
{String(menu) === String("default") && <div> {String(menu) === String("default") && <div>
<h2 style={{ "textAlign": "center", "marginBottom": "2rem" }} ref={scrollDiv}> Parametrage de l'environnement E-Learning</h2> <h2 style={{ "textAlign": "center", "marginBottom": "2rem" }} ref={scrollDiv}> Parametrage de l'environnement E-Learning</h2>
@ -738,22 +822,103 @@ function HebergementLms(props) {
Logo actuel :<br /> Logo actuel :<br />
<img src={GetLms_Themes_Logo_Img} alt={""} /> <img src={GetLms_Themes_Logo_Img} alt={""} />
<br /> <br />
<Button variant="contained" className="btn_enreg" onClick={Delete_logo_Img}>Supprimer Logo
</Button>
</div>} </div>}
<div style={{ "width": "250px", textAlign:'left' , "marginTop": "1rem", marginBottom: '1rem' }} onClick={(e) => {
e.preventDefault();
}}>
<Tooltip className="tooltip_css" id="tooltip_add_img_01" />
<a data-tooltip-id="tooltip_add_img_01" data-tooltip-html=" Ajouter un nouveau logo. <br/> <i>Important : longueur entre 140px et 250px et largeur entre 60px et 150px, au format PNG
Le nom du fichier ne contient que des caractères alphanumériques </i>">
<nav style={{
"width": "40%", "float": "left", "textAlign": "left", "paddingLeft": "2px", "paddingRight": "2px",
}}
>
<Box sx={{ '& > :not(style)': { m: 1 }, }} >
<Fab size="small" color="primary" aria-label="edit" variant="extended" onClick={changeHandler2_logo}>
<IoIosAddCircleOutline sx={{ pr: 1 }} />
</Fab>
</Box>
</nav>
</a>
<Tooltip className="tooltip_css" id="tooltip_add_img_02" />
<a data-tooltip-id="tooltip_add_img_02" data-tooltip-html="Supprimer le logo.">
<nav style={{ "width": "40%", "float": "right", "textAlign": "right", "paddingLeft": "2px", "paddingRight": "2px" }} >
<Popup
trigger={
<Box sx={{ '& > :not(style)': { m: 1 }, }} onClick={(e) => {
}}>
<Fab size="small" color="warning" aria-label="edit" variant="extended">
<IoMdTrash sx={{ pr: 1 }} /> <font style={{ "fontsize": "9px" }}> </font>
</Fab>
</Box>
}
modal
nested
position="center center"
>
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
En confirmant cette opération, le logo sera <i><font color="red"> définitivement supprimé</font></i>. <br />
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
Delete_logo_Img();
close();
}}> Valider </button>
</div>
<div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup"
onClick={() => {
console.log('modal closed ');
close();
}}
>
Annuler
</button>
</div>
</div>
</div>
)}
</Popup>
</nav>
</a>
</div>
<div className="div_row"> Import du logo <br /> <div className="div_row"> Import du logo <br />
<div className="div_row" style={{ "border": "None" }}> <div className="div_row" style={{ "border": "None" }}>
&nbsp; &nbsp;
</div> </div>
<Button variant="outlined" onClick={changeHandler2_logo} className="detail_class_submenu" style={{ {/*<Button variant="outlined" onClick={changeHandler2_logo} className="detail_class_submenu" style={{
"background": "#c8cfd5", "background": "#c8cfd5",
"minWidth": "15rem", "color": "black", "width": "auto" "minWidth": "15rem", "color": "black", "width": "auto"
}} }}
id='menu_import_formation' name='menu_import_formation'>Choisir une image &nbsp; <br /> id='menu_import_formation' name='menu_import_formation'>Choisir une image mm &nbsp; <br />
</Button><br /> </Button>
<br />
<nav className="koUpdateData" style={{ "color": "orange" }}> <nav className="koUpdateData" style={{ "color": "orange" }}>
<Tooltip className="tooltip_css" id="tooltip_2" /> <Tooltip className="tooltip_css" id="tooltip_2" />
@ -761,7 +926,8 @@ function HebergementLms(props) {
<i> Important : Taille du logo : longueur entre 140px et 250px et largeur entre 60px et 150px, au format PNG <br /> <i> Important : Taille du logo : longueur entre 140px et 250px et largeur entre 60px et 150px, au format PNG <br />
Le nom du fichier ne contient que des caractères alphanumériques </i> Le nom du fichier ne contient que des caractères alphanumériques </i>
</a> </a>
</nav> </nav>*/}
<br />
{logo_file_name && <nav className="okUpdateData"><i>{logo_file_name}</i></nav>} {logo_file_name && <nav className="okUpdateData"><i>{logo_file_name}</i></nav>}
<input type="file" <input type="file"
accept=".png" accept=".png"
@ -821,15 +987,97 @@ function HebergementLms(props) {
Bannière actuelle : <br /> Bannière actuelle : <br />
<img src={GetLms_Themes_Banniere_Img} alt={""} className="img_bg_file_css" /> <img src={GetLms_Themes_Banniere_Img} alt={""} className="img_bg_file_css" />
<br /> <br />
<Button variant="contained" className="btn_enreg" onClick={Delete_Banniere_Img }>Supprimer Bannière {/* <Button variant="contained" className="btn_enreg" onClick={Delete_Banniere_Img}>Supprimer Bannière
</Button> </Button>*/}
</div>} </div>}
<div className="div_row"> Import Bannière <br />
<div style={{ "width": "250px", marginLeft:'auto', marginRight:'auto' , "marginTop": "1rem", marginBottom: '1rem' }} onClick={(e) => {
e.preventDefault();
}}>
<Tooltip className="tooltip_css" id="tooltip_add_img_01" />
<a data-tooltip-id="tooltip_add_img_01" data-tooltip-html=" Ajouter une nouvelle bannière. <br/> <i>Important : Taille de la bannière : longueur entre 1500px et 1930px et largeur entre 150px et 195px, au format PNG <br />
Le nom du fichier ne contient que des caractères alphanumériques </i>">
<nav style={{
"width": "40%", "float": "left", "textAlign": "left", "paddingLeft": "2px", "paddingRight": "2px",
}}
>
<Box sx={{ '& > :not(style)': { m: 1 }, }} >
<Fab size="small" color="primary" aria-label="edit" variant="extended" onClick={changeHandler2_bg}>
<IoIosAddCircleOutline sx={{ pr: 1 }} />
</Fab>
</Box>
</nav>
</a>
<Tooltip className="tooltip_css" id="tooltip_add_img_02" />
<a data-tooltip-id="tooltip_add_img_02" data-tooltip-html="Supprimer la bannière.">
<nav style={{ "width": "40%", "float": "right", "textAlign": "right", "paddingLeft": "2px", "paddingRight": "2px" }} >
<Popup
trigger={
<Box sx={{ '& > :not(style)': { m: 1 }, }} onClick={(e) => {
}}>
<Fab size="small" color="warning" aria-label="edit" variant="extended">
<IoMdTrash sx={{ pr: 1 }} /> <font style={{ "fontsize": "9px" }}> </font>
</Fab>
</Box>
}
modal
nested
position="center center"
>
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
En confirmant cette opération, la bannière sera <i><font color="red"> définitivement supprimée</font></i>. <br />
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
Delete_Banniere_Img();
close();
}}> Valider </button>
</div>
<div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup"
onClick={() => {
console.log('modal closed ');
close();
}}
>
Annuler
</button>
</div>
</div>
</div>
)}
</Popup>
</nav>
</a>
</div>
<div className="div_row"> &nbsp; <br />
<div className="div_row" style={{ "border": "None" }}> <div className="div_row" style={{ "border": "None" }}>
&nbsp; &nbsp;
</div> </div>
{/*
<Button variant="outlined" onClick={changeHandler2_bg} className="detail_class_submenu" style={{ <Button variant="outlined" onClick={changeHandler2_bg} className="detail_class_submenu" style={{
"background": "#c8cfd5", "background": "#c8cfd5",
"minWidth": "15rem", "color": "black", "width": "auto" "minWidth": "15rem", "color": "black", "width": "auto"
@ -844,7 +1092,7 @@ function HebergementLms(props) {
<i> Important : Taille de la bannière : longueur entre 1500px et 1930px et largeur entre 150px et 195px, au format PNG <br /> <i> Important : Taille de la bannière : longueur entre 1500px et 1930px et largeur entre 150px et 195px, au format PNG <br />
Le nom du fichier ne contient que des caractères alphanumériques </i> Le nom du fichier ne contient que des caractères alphanumériques </i>
</a> </a>
</nav> </nav>*/}
{bg_file_name && <nav className="okUpdateData"><i>{bg_file_name}</i></nav>} {bg_file_name && <nav className="okUpdateData"><i>{bg_file_name}</i></nav>}
<input type="file" <input type="file"

View File

@ -1,19 +1,20 @@
import React, { useRef, useState, useEffect } from "react"; import React, { useRef, useState, useEffect } from "react";
import Alert from '@mui/material/Alert'; import Alert from '@mui/material/Alert';
import Stack from '@mui/material/Stack'; import Stack from '@mui/material/Stack';
import { IoCloseCircleOutline } from "react-icons/io5";
const Module_Alert_Confirmation = (props) => { const Module_Alert_Confirmation = (props) => {
const [showElement, setShowElement] = React.useState(true); const [showElement, setShowElement] = React.useState(true);
useEffect(() => { useEffect(() => {
const timer = setTimeout(function () { const timer = setTimeout(function () {
props.clear_display_alert_mysy(); props.clear_display_alert_mysy();
setShowElement(false) setShowElement(false);
}, 4000); }, 4000);
}, },
[]) [])
@ -26,9 +27,14 @@ const Module_Alert_Confirmation = (props) => {
position: "fixed", marginLeft: '10%', top: "10px", "border-left": "1rem solid green", position: "fixed", marginLeft: '10%', top: "10px", "border-left": "1rem solid green",
zIndex: '999999', background: '#2e7d32' zIndex: '999999', background: '#2e7d32'
}}> }}>
<Stack sx={{ width: '100%' }} spacing={2}> <Stack sx={{ width: '90%', float: 'left' }} spacing={2}>
<Alert variant="filled" severity="success"> {props.alert_message}</Alert> <Alert variant="filled" severity="success"> {props.alert_message}</Alert>
</Stack> </Stack>
<Stack sx={{ width: '10%', float: 'right', textAlign: 'right', paddingRight: "10px", cursor: 'pointer', paddingLeft: '7%', paddingTop: '10px' }} onClick={() => {
props.clear_display_alert_mysy();
setShowElement(false);
}}> <IoCloseCircleOutline />
</Stack>
</div>} </div>}
{showElement && props.alert_message && String(props.alert_type) === "error" && <div style={{ {showElement && props.alert_message && String(props.alert_type) === "error" && <div style={{
@ -36,9 +42,15 @@ const Module_Alert_Confirmation = (props) => {
position: "fixed", marginLeft: '5%', top: "10px", "border-left": "1rem solid red", position: "fixed", marginLeft: '5%', top: "10px", "border-left": "1rem solid red",
zIndex: '999999', background: '#d32f2f' zIndex: '999999', background: '#d32f2f'
}}> }}>
<Stack sx={{ width: '100%' }} spacing={2}> <Stack sx={{ width: '90%', float: 'left' }} spacing={2}>
<Alert variant="filled" severity="error"> {props.alert_message}</Alert> <Alert variant="filled" severity="error"> {props.alert_message}</Alert>
</Stack> </Stack>
<Stack sx={{ width: '10%', float: 'right', textAlign: 'right', paddingRight: "10px", cursor: 'pointer', paddingLeft: '7%', paddingTop: '10px' }} onClick={() => {
props.clear_display_alert_mysy();
setShowElement(false);
}}> <IoCloseCircleOutline />
</Stack>
</div>} </div>}
{showElement && props.alert_message && String(props.alert_type) === "info" && <div style={{ {showElement && props.alert_message && String(props.alert_type) === "info" && <div style={{
@ -46,9 +58,14 @@ const Module_Alert_Confirmation = (props) => {
position: "fixed", marginLeft: '5%', top: "10px", position: "fixed", marginLeft: '5%', top: "10px",
zIndex: '999999', background: '#0288d1' zIndex: '999999', background: '#0288d1'
}}> }}>
<Stack sx={{ width: '100%' }} spacing={2}> <Stack sx={{ width: '90%', float: 'left' }} spacing={2}>
<Alert variant="filled" severity="info"> {props.alert_message}</Alert> <Alert variant="filled" severity="info"> {props.alert_message}</Alert>
</Stack> </Stack>
<Stack sx={{ width: '10%', float: 'right', textAlign: 'right', paddingRight: "10px", cursor: 'pointer', paddingLeft: '7%', paddingTop: '10px' }} onClick={() => {
props.clear_display_alert_mysy();
setShowElement(false);
}}> <IoCloseCircleOutline />
</Stack>
</div>} </div>}
@ -57,9 +74,16 @@ const Module_Alert_Confirmation = (props) => {
position: "fixed", marginLeft: '5%', top: "10px", position: "fixed", marginLeft: '5%', top: "10px",
zIndex: '999999', background: '#ed6c02' zIndex: '999999', background: '#ed6c02'
}}> }}>
<Stack sx={{ width: '100%' }} spacing={2}> <Stack sx={{ width: '90%', float: 'left' }} spacing={2}>
<Alert variant="filled" severity="warning"> {props.alert_message}</Alert> <Alert variant="filled" severity="warning"> {props.alert_message}</Alert>
</Stack> </Stack>
<Stack sx={{ width: '10%', float: 'right', textAlign: 'right', paddingRight: "10px", cursor: 'pointer', paddingLeft: '7%', paddingTop: '10px' }} onClick={() => {
props.clear_display_alert_mysy();
setShowElement(false);
}}> <IoCloseCircleOutline />
</Stack>
</div>} </div>}

View File

@ -83,6 +83,8 @@ import { IconButton } from '@material-ui/core';
import AutoFixHighOutlinedIcon from '@mui/icons-material/AutoFixHighOutlined'; import AutoFixHighOutlinedIcon from '@mui/icons-material/AutoFixHighOutlined';
import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
function PaperComponent(props) { function PaperComponent(props) {
return ( return (
<Draggable <Draggable
@ -211,13 +213,20 @@ const Module_Editique = (props) => {
setInvoice_Session_Formation_result(res.data.message); setInvoice_Session_Formation_result(res.data.message);
Getall_Editable_Document_By_Partner_By_Collection(); Getall_Editable_Document_By_Partner_By_Collection();
props.GetListeInscrit(props.related_collection_recid, props.internal_url); props.GetListeInscrit(props.related_collection_recid, props.internal_url);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
else { else {
setInvoice_Session_Formation_api("false"); setInvoice_Session_Formation_api("false");
setInvoice_Session_Formation_message(res.data.message); setInvoice_Session_Formation_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -692,7 +701,11 @@ const Module_Editique = (props) => {
else { else {
setGet_List_Stagiaire_Conventions_api("false"); setGet_List_Stagiaire_Conventions_api("false");
setGet_List_Stagiaire_Conventions_message(res.data.message); setGet_List_Stagiaire_Conventions_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -775,7 +788,11 @@ const Module_Editique = (props) => {
else { else {
setGet_List_Stagiaire_Convocations_api("false"); setGet_List_Stagiaire_Convocations_api("false");
setGet_List_Stagiaire_Convocations_message(res.data.message); setGet_List_Stagiaire_Convocations_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -885,20 +902,26 @@ const Module_Editique = (props) => {
.then((result) => { .then((result) => {
setLoading(false); setLoading(false);
console.log(" In Send_Stagiaire_Conventions_By_Email_Test res.data.status = " + result['status']); // console.log(" In Send_Stagiaire_Conventions_By_Email_Test res.data.status = " + result['status']);
console.log(" In Send_Stagiaire_Conventions_By_Email_Test res.data.message r_class = " + result['message']); //console.log(" In Send_Stagiaire_Conventions_By_Email_Test res.data.message r_class = " + result['message']);
if (String(result['status']) === String("true")) { if (String(result['status']) === String("true")) {
setSend_Stagiaire_Conventions_By_Email_Test_api("true"); setSend_Stagiaire_Conventions_By_Email_Test_api("true");
setSend_Stagiaire_Conventions_By_Email_Test_result(result['message']); setSend_Stagiaire_Conventions_By_Email_Test_result(result['message']);
alert(result['message']); // alert(result['message']);
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("success");
Dialog_convention_handleClose_buton() Dialog_convention_handleClose_buton()
} }
else { else {
setSend_Stagiaire_Conventions_By_Email_Test_api("false"); setSend_Stagiaire_Conventions_By_Email_Test_api("false");
setSend_Stagiaire_Conventions_By_Email_Test_message(result['message']); setSend_Stagiaire_Conventions_By_Email_Test_message(result['message']);
alert(result['message']); // alert(result['message']);
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -990,7 +1013,11 @@ const Module_Editique = (props) => {
setLoading(false); setLoading(false);
setGetCurrentSession_api("false"); setGetCurrentSession_api("false");
setGetCurrentSession_message(res.data.message); setGetCurrentSession_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1091,13 +1118,20 @@ const Module_Editique = (props) => {
setSend_Stagiaire_Conventions_By_Email_result(res.data.message); setSend_Stagiaire_Conventions_By_Email_result(res.data.message);
Getall_Editable_Document_By_Partner_By_Collection(); Getall_Editable_Document_By_Partner_By_Collection();
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Dialog_convention_handleClose_buton() Dialog_convention_handleClose_buton()
} }
else { else {
setSend_Stagiaire_Conventions_By_Email_api("false"); setSend_Stagiaire_Conventions_By_Email_api("false");
setSend_Stagiaire_Conventions_By_Email_message(res.data.message); setSend_Stagiaire_Conventions_By_Email_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1161,13 +1195,20 @@ const Module_Editique = (props) => {
setSend_Stagiaire_Convocations_By_Email_result(res.data.message); setSend_Stagiaire_Convocations_By_Email_result(res.data.message);
Getall_Editable_Document_By_Partner_By_Collection(); Getall_Editable_Document_By_Partner_By_Collection();
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Dialog_convention_handleClose_buton() Dialog_convention_handleClose_buton()
} }
else { else {
setSend_Stagiaire_Convocations_By_Email_api("false"); setSend_Stagiaire_Convocations_By_Email_api("false");
setSend_Stagiaire_Convocations_By_Email_message(res.data.message); setSend_Stagiaire_Convocations_By_Email_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1287,6 +1328,21 @@ const Module_Editique = (props) => {
oldExpanded_nom_traite.length === 0 ? ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] : [], oldExpanded_nom_traite.length === 0 ? ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] : [],
); );
} }
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 ( return (
<div className="module_editique"> <div className="module_editique">
@ -1294,6 +1350,18 @@ const Module_Editique = (props) => {
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div> <div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>} </div>}
{/*** Affichage des messages d'alerte*/}
{display_alert_mysy && String(display_alert_mysy) === "1" &&
<Module_Alert_Confirmation alert_message={alert_message}
alert_type={alert_type}
clear_alert_message={clear_alert_message}
clear_alert_type={clear_alert_type}
clear_display_alert_mysy={clear_display_alert_mysy}
/>
}
{/*** FIN Affichage des messages d'alerte*/}
<Dialog <Dialog
open={Dialog_1_open} open={Dialog_1_open}
onClose={Dialog_1_handleClose} onClose={Dialog_1_handleClose}
@ -1554,33 +1622,33 @@ const Module_Editique = (props) => {
{/* Dialog pour gerer les CONVOCATION_STAGIAIRE */} {/* Dialog pour gerer les CONVOCATION_STAGIAIRE */}
<Dialog <Dialog
open={Dialog_CONVOCATION_STAGIAIRE_open} open={Dialog_CONVOCATION_STAGIAIRE_open}
// onClose={Dialog_CONVOCATION_STAGIAIRE_handleClose} // onClose={Dialog_CONVOCATION_STAGIAIRE_handleClose}
// className="displaypartnersession" // className="displaypartnersession"
className="displaypartnersession" className="displaypartnersession"
static static
onClose={() => null} onClose={() => null}
PaperProps={{ PaperProps={{
className: classes.paper, // Apply the paper style className: classes.paper, // Apply the paper style
style: { style: {
overflowY: 'unset', overflowY: 'unset',
position: 'absolute', position: 'absolute',
top: '7rem', top: '7rem',
margin: "2px", margin: "2px",
}, },
}} }}
hideBackdrop={true} hideBackdrop={true}
disableScrollLock disableScrollLock
classes={{ classes={{
paper: classes.dialog paper: classes.dialog
}} }}
PaperComponent={PaperComponent} PaperComponent={PaperComponent}
aria-labelledby="draggable-dialog-title" aria-labelledby="draggable-dialog-title"
> >
@ -1830,7 +1898,7 @@ const Module_Editique = (props) => {
<DialogActions> <DialogActions>
<IconButton <IconButton
autoFocus autoFocus
onClick={Dialog_CONVOCATION_STAGIAIRE_handleClose_buton} onClick={Dialog_CONVOCATION_STAGIAIRE_handleClose_buton}
color="primary" color="primary"

View File

@ -78,6 +78,7 @@ import { makeStyles } from "@material-ui/core/styles";
import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
import { IconButton } from '@material-ui/core'; import { IconButton } from '@material-ui/core';
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
const useStyles = makeStyles((theme) => ({ const useStyles = makeStyles((theme) => ({
@ -560,13 +561,19 @@ const Module_Session_Planification = (props) => {
setDelete_Saved_Model_Planning_api("true"); setDelete_Saved_Model_Planning_api("true");
setDelete_Saved_Model_Planning_result(res.data.message); setDelete_Saved_Model_Planning_result(res.data.message);
setgridline_sequence_new_planificatio_id(""); setgridline_sequence_new_planificatio_id("");
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Getall_Partner_Modele_Planning(); Getall_Partner_Modele_Planning();
} }
else { else {
setDelete_Saved_Model_Planning_api("false"); setDelete_Saved_Model_Planning_api("false");
setDelete_Saved_Model_Planning_message(res.data.message); setDelete_Saved_Model_Planning_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -680,7 +687,10 @@ const Module_Session_Planification = (props) => {
else { else {
setGetall_List_Sequence_Ressource_api("false"); setGetall_List_Sequence_Ressource_api("false");
setGetall_List_Sequence_Ressource_message(res.data.message); setGetall_List_Sequence_Ressource_message(res.data.message);
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -732,12 +742,18 @@ const Module_Session_Planification = (props) => {
Dialog_DIALOG_AGENDA_handleClose_buton(); Dialog_DIALOG_AGENDA_handleClose_buton();
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
else { else {
setDelete_Sequence_Session_Data_api("false"); setDelete_Sequence_Session_Data_api("false");
setDelete_Sequence_Session_Data_message(res.data.message); setDelete_Sequence_Session_Data_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -797,12 +813,18 @@ const Module_Session_Planification = (props) => {
setselectionModel_sequence([]); setselectionModel_sequence([]);
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
else { else {
setDelete_Sequence_Session_Data_Mass_api("false"); setDelete_Sequence_Session_Data_Mass_api("false");
setDelete_Sequence_Session_Data_Mass_message(res.data.message); setDelete_Sequence_Session_Data_Mass_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -962,13 +984,19 @@ const Module_Session_Planification = (props) => {
setAdd_One_Sequence_Session_mass(); setAdd_One_Sequence_Session_mass();
settab_selected_sequence_id([]); settab_selected_sequence_id([]);
setselectionModel_sequence([]); setselectionModel_sequence([]);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Dialog_seq_ressource_1_handleClose_buton(); Dialog_seq_ressource_1_handleClose_buton();
} }
else { else {
setAdd_One_Sequence_Session_Ressource_api("false"); setAdd_One_Sequence_Session_Ressource_api("false");
setAdd_One_Sequence_Session_Ressource_message(res.data.message); setAdd_One_Sequence_Session_Ressource_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1028,13 +1056,19 @@ const Module_Session_Planification = (props) => {
setDialog_seq_ressource_1_selected_ressource_id(""); setDialog_seq_ressource_1_selected_ressource_id("");
setDialog_seq_ressource_1_selected_ressource_poste(""); setDialog_seq_ressource_1_selected_ressource_poste("");
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
//Dialog_seq_ressource_1_handleClose_buton(); //Dialog_seq_ressource_1_handleClose_buton();
} }
else { else {
setAdd_One_Ressource_Fom_Dialog_Sequence_api("false"); setAdd_One_Ressource_Fom_Dialog_Sequence_api("false");
setAdd_One_Ressource_Fom_Dialog_Sequence_message(res.data.message); setAdd_One_Ressource_Fom_Dialog_Sequence_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1077,13 +1111,19 @@ const Module_Session_Planification = (props) => {
Getall_List_Sequence_Ressource(selected_sequence_id); Getall_List_Sequence_Ressource(selected_sequence_id);
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
else { else {
setDelete_Sequence_Session_Ressource_Data_api("false"); setDelete_Sequence_Session_Ressource_Data_api("false");
setDelete_Sequence_Session_Ressource_Data_message(res.data.message); setDelete_Sequence_Session_Ressource_Data_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -1157,9 +1197,10 @@ const Module_Session_Planification = (props) => {
setsequence_endDate(); setsequence_endDate();
*/ */
// alert(res.data.message);
setdisplay_alert_mysy("1");
alert(res.data.message); setalert_message(res.data.message);
setalert_type("success");
//Close_Dialog_Detail_seq_open(); //Close_Dialog_Detail_seq_open();
// Dialog_DIALOG_AGENDA_handleClose_buton(); // Dialog_DIALOG_AGENDA_handleClose_buton();
@ -1167,7 +1208,10 @@ const Module_Session_Planification = (props) => {
else { else {
setAdd_One_Sequence_Session_api("false"); setAdd_One_Sequence_Session_api("false");
setAdd_One_Sequence_Session_message(res.data.message); setAdd_One_Sequence_Session_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1246,7 +1290,10 @@ const Module_Session_Planification = (props) => {
else { else {
setGetall_Training_Employee_No_Filter_api("false"); setGetall_Training_Employee_No_Filter_api("false");
setGetall_Training_Employee_No_Filter_message(res.data.message); setGetall_Training_Employee_No_Filter_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1324,7 +1371,10 @@ const Module_Session_Planification = (props) => {
else { else {
setGetall_Training_Materiel_No_Filter_api("false"); setGetall_Training_Materiel_No_Filter_api("false");
setGetall_Training_Materiel_No_Filter_message(res.data.message); setGetall_Training_Materiel_No_Filter_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1384,13 +1434,19 @@ const Module_Session_Planification = (props) => {
settab_selected_sequence_id([]); settab_selected_sequence_id([]);
setselectionModel_sequence([]); setselectionModel_sequence([]);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Dialog_seq_ressource_1_handleClose_buton(); Dialog_seq_ressource_1_handleClose_buton();
} }
else { else {
setAdd_One_Sequence_Session_Ressource_Mass_api("false"); setAdd_One_Sequence_Session_Ressource_Mass_api("false");
setAdd_One_Sequence_Session_Ressource_Mass_message(res.data.message); setAdd_One_Sequence_Session_Ressource_Mass_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1484,7 +1540,7 @@ const Module_Session_Planification = (props) => {
if (new_data2.length > 0) { if (new_data2.length > 0) {
setGetall_Sequence_Of_Session_result_planning_view(new_data2); setGetall_Sequence_Of_Session_result_planning_view(new_data2);
// console.log(" ### new_data2 Getall_Sequence_Of_Session = ", new_data2); // console.log(" ### new_data2 Getall_Sequence_Of_Session = ", new_data2);
} }
@ -1492,7 +1548,10 @@ const Module_Session_Planification = (props) => {
else { else {
setGetall_Sequence_Of_Session_api("false"); setGetall_Sequence_Of_Session_api("false");
setGetall_Sequence_Of_Session_message(res.data.message); setGetall_Sequence_Of_Session_message(res.data.message);
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1573,7 +1632,10 @@ const Module_Session_Planification = (props) => {
else { else {
setGetall_Partner_Modele_Planning_api("false"); setGetall_Partner_Modele_Planning_api("false");
setGetall_Partner_Modele_Planning_message(res.data.message); setGetall_Partner_Modele_Planning_message(res.data.message);
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1676,7 +1738,7 @@ const Module_Session_Planification = (props) => {
if (new_data2.length > 0) { if (new_data2.length > 0) {
setnew_planification_lines(new_data2); setnew_planification_lines(new_data2);
// console.log(" ### new_data2 = ", new_data2); // console.log(" ### new_data2 = ", new_data2);
} }
// console.log(" ### ENN new_data2 = ", new_data2); // console.log(" ### ENN new_data2 = ", new_data2);
@ -1684,7 +1746,10 @@ const Module_Session_Planification = (props) => {
else { else {
setGet_Given_Sequence_Planning_Model_With_Option_api("false"); setGet_Given_Sequence_Planning_Model_With_Option_api("false");
setGet_Given_Sequence_Planning_Model_With_Option_message(res.data.message); setGet_Given_Sequence_Planning_Model_With_Option_message(res.data.message);
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -2342,14 +2407,20 @@ const Module_Session_Planification = (props) => {
setDialog_seq_planif_periode_type(""); setDialog_seq_planif_periode_type("");
setplanification_ecrase_existing_seq(""); setplanification_ecrase_existing_seq("");
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Close_Dialog_Detail_seq_open(); Close_Dialog_Detail_seq_open();
} }
else { else {
setAdd_Automatic_Sequence_Session_api("false"); setAdd_Automatic_Sequence_Session_api("false");
setAdd_Automatic_Sequence_Session_message(res.data.message); setAdd_Automatic_Sequence_Session_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -2419,7 +2490,10 @@ const Module_Session_Planification = (props) => {
setupdate_sequence(); setupdate_sequence();
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Dialog_DIALOG_AGENDA_handleClose_buton(); Dialog_DIALOG_AGENDA_handleClose_buton();
Close_Dialog_Detail_seq_open(); Close_Dialog_Detail_seq_open();
@ -2427,7 +2501,10 @@ const Module_Session_Planification = (props) => {
else { else {
setUpdate_One_Sequence_Session_api("false"); setUpdate_One_Sequence_Session_api("false");
setUpdate_One_Sequence_Session_message(res.data.message); setUpdate_One_Sequence_Session_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -2492,7 +2569,10 @@ const Module_Session_Planification = (props) => {
setDialog_seq_choix_model_emargement_open(false); setDialog_seq_choix_model_emargement_open(false);
setDialog_seq_planif_periode_type(""); setDialog_seq_planif_periode_type("");
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Close_Dialog_Detail_seq_open(); Close_Dialog_Detail_seq_open();
Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton(); Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton();
@ -2503,7 +2583,10 @@ const Module_Session_Planification = (props) => {
else { else {
setAdd_Automatic_Sequence_Session_From_Week_Model_api("false"); setAdd_Automatic_Sequence_Session_From_Week_Model_api("false");
setAdd_Automatic_Sequence_Session_From_Week_Model_message(res.data.message); setAdd_Automatic_Sequence_Session_From_Week_Model_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -2569,7 +2652,10 @@ const Module_Session_Planification = (props) => {
setDialog_seq_choix_model_emargement_open(false); setDialog_seq_choix_model_emargement_open(false);
setDialog_seq_planif_periode_type(""); setDialog_seq_planif_periode_type("");
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Close_Dialog_Detail_seq_open(); Close_Dialog_Detail_seq_open();
Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton(); Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton();
Dialog_EVENT_SEMAINE_TYPE_handleClose_buton(); Dialog_EVENT_SEMAINE_TYPE_handleClose_buton();
@ -2581,7 +2667,10 @@ const Module_Session_Planification = (props) => {
else { else {
setAdd_Automatic_Sequence_Session_From_Month_Model_api("false"); setAdd_Automatic_Sequence_Session_From_Month_Model_api("false");
setAdd_Automatic_Sequence_Session_From_Month_Model_message(res.data.message); setAdd_Automatic_Sequence_Session_From_Month_Model_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -2688,7 +2777,10 @@ const Module_Session_Planification = (props) => {
else { else {
setGetall_Partner_Groupe_Inscrit_api("false"); setGetall_Partner_Groupe_Inscrit_api("false");
setGetall_Partner_Groupe_Inscrit_message(res.data.message); setGetall_Partner_Groupe_Inscrit_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -2781,7 +2873,10 @@ const Module_Session_Planification = (props) => {
else { else {
setGetall_Class_List_UE_api("false"); setGetall_Class_List_UE_api("false");
setGetall_Class_List_UE_message(res.data.message); setGetall_Class_List_UE_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -2875,7 +2970,10 @@ const Module_Session_Planification = (props) => {
else { else {
setGet_List_Given_UE_Planif_lines_api("false"); setGet_List_Given_UE_Planif_lines_api("false");
setGet_List_Given_UE_Planif_lines_message(res.data.message); setGet_List_Given_UE_Planif_lines_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -2987,7 +3085,10 @@ const Module_Session_Planification = (props) => {
else { else {
setGet_Ressource_Avabilities_api("false"); setGet_Ressource_Avabilities_api("false");
setGet_Ressource_Avabilities_message(res.data.message); setGet_Ressource_Avabilities_message(res.data.message);
alert(res.data.message) // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -3098,13 +3199,19 @@ const Module_Session_Planification = (props) => {
setRecord_New_Planning_Model_api("true"); setRecord_New_Planning_Model_api("true");
setRecord_New_Planning_Model_result(res.data.message); setRecord_New_Planning_Model_result(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Close_Dialog_RECORD_MODEL_PLANNING(); Close_Dialog_RECORD_MODEL_PLANNING();
} }
else { else {
setRecord_New_Planning_Model_api("false"); setRecord_New_Planning_Model_api("false");
setRecord_New_Planning_Model_message(res.data.message); setRecord_New_Planning_Model_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -3158,7 +3265,7 @@ const Module_Session_Planification = (props) => {
var local_ue_id = ""; var local_ue_id = "";
if( x.local_ue_id ) if (x.local_ue_id)
local_ue_id = x.local_ue_id local_ue_id = x.local_ue_id
@ -3192,11 +3299,11 @@ const Module_Session_Planification = (props) => {
"local_type": local_type, "local_type": local_type,
"local_ue_id": local_ue_id, "local_ue_id": local_ue_id,
"local_ue_planif_line_id": local_ue_planif_line_id, "local_ue_planif_line_id": local_ue_planif_line_id,
} }
new_planification_lines_normalized.push(node); new_planification_lines_normalized.push(node);
}); });
var json_str = JSON.stringify(new_planification_lines_normalized) var json_str = JSON.stringify(new_planification_lines_normalized)
@ -3216,13 +3323,19 @@ const Module_Session_Planification = (props) => {
Getall_Sequence_Of_Session(selected_session_id); Getall_Sequence_Of_Session(selected_session_id);
setnew_planification_lines([]); setnew_planification_lines([]);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
else { else {
setApply_Planning_To_Session_api("false"); setApply_Planning_To_Session_api("false");
setApply_Planning_To_Session_message(res.data.message); setApply_Planning_To_Session_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -3244,6 +3357,21 @@ const Module_Session_Planification = (props) => {
const [active_planif_modele, setactive_planif_modele] = useState(""); const [active_planif_modele, setactive_planif_modele] = 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 ( return (
<div className="modulesessionplanification"> <div className="modulesessionplanification">
@ -3251,6 +3379,17 @@ const Module_Session_Planification = (props) => {
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div> <div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>} </div>}
{/*** Affichage des messages d'alerte*/}
{display_alert_mysy && String(display_alert_mysy) === "1" &&
<Module_Alert_Confirmation alert_message={alert_message}
alert_type={alert_type}
clear_alert_message={clear_alert_message}
clear_alert_type={clear_alert_type}
clear_display_alert_mysy={clear_display_alert_mysy}
/>
}
{/*** FIN Affichage des messages d'alerte*/}
{/*** Dialog ajout RECORD MODEL PLANNING */} {/*** Dialog ajout RECORD MODEL PLANNING */}

View File

@ -147,9 +147,9 @@ const Modules_Mes_Documents = (props) => {
{ field: '_id', headerName: '_id', hide: true, editable: false }, { field: '_id', headerName: '_id', hide: true, editable: false },
{ field: 'id', headerName: 'id', hide: true, editable: false }, { field: 'id', headerName: 'id', hide: true, editable: false },
{ field: 'file_extention', hide: true, editable: false }, { field: 'file_extention', hide: true, editable: false },
{ field: 'file_name', headerName: 'file_name', hide: true, disableExport: true }, { field: 'file_name', headerName: 'tech_file_name', hide: true, disableExport: true },
{ {
field: 'created_date', headerName: 'Date Creation', Width: 100, flex: 1, hide: false, editable: false, field: 'created_date', headerName: 'Date Création', Width: 100, flex: 1, hide: false, editable: false,
renderCell: (cellValues) => { renderCell: (cellValues) => {
return ( return (
@ -159,12 +159,12 @@ const Modules_Mes_Documents = (props) => {
}, },
}, },
{ field: 'file_business_object', headerName: 'file_business_object', minWidth: 200, flex: 1, hide: false, editable: false, }, { field: 'file_business_object', headerName: 'Nom Fichier', minWidth: 200, flex: 1, hide: false, editable: false, },
{ field: 'object_owner_collection', headerName: 'object_owner_collection', minWidth: 200, flex: 1, hide: false, editable: false }, { field: 'object_owner_collection', headerName: 'System_Pro', minWidth: 200, flex: 1, hide: true, editable: false },
{ field: 'client_raison_sociale', headerName: 'client_raison_sociale', minWidth: 200, flex: 1, hide: false, editable: false }, { field: 'client_raison_sociale', headerName: 'Client Raison Soc.', minWidth: 200, flex: 1, hide: true, editable: false },
{ field: 'client_nom', headerName: 'client_nom', minWidth: 150, flex: 1, hide: false, editable: false }, { field: 'client_nom', headerName: 'Client Nom', minWidth: 150, flex: 1, hide: false, editable: false },
{ {
field: 'type_document', headerName: 'type_document', minWidth: 100, flex: 1, hide: false, editable: false, field: 'type_document', headerName: 'Type doc.', minWidth: 100, flex: 1, hide: false, editable: false,
renderCell: (cellValues) => { renderCell: (cellValues) => {
return ( return (

View File

@ -2906,7 +2906,7 @@ const Mon_Catalogue_Public = (props) => {
<link rel="canonical" href={`${process.env.REACT_APP_BASE_URL}` + "/recherche-formation"} /> <link rel="canonical" href={`${process.env.REACT_APP_BASE_URL}` + "/recherche-formation"} />
<meta name="title" content="Formation & Tutoriel Gratuit ou payant Excellente qualité" /> <meta name="title" content="Formation & Tutoriel Gratuit ou payant Excellente qualité" />
</Helmet> </Helmet>
{/******* Gestion du THEME "MySy_Theme2" */} {/******* Gestion du THEME "MySy_Theme2" */}
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0 {New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& String(my_theme_code) === "MySy_Theme2" && <div> && String(my_theme_code) === "MySy_Theme2" && <div>
@ -3139,7 +3139,7 @@ const Mon_Catalogue_Public = (props) => {
<div style={{ "width": "100%", "float": "left" }}> <div style={{ "width": "100%", "float": "left" }}>
<div style={{ "width": "33%", "float": "left" }}> <div className="sous_filter_txt_grp_filtre">
<div className="tab_critere_espace"> <div className="tab_critere_espace">
<div className="filter_valeur" onChange={TrainingCPFHandle}> <div className="filter_valeur" onChange={TrainingCPFHandle}>
<div className="filter_valeur_txt" > Eligible CPF <div className="filter_valeur_txt" > Eligible CPF
@ -3200,7 +3200,7 @@ const Mon_Catalogue_Public = (props) => {
</div> </div>
</div> </div>
<div style={{ "width": "33%", "float": "left" }}> <div className="sous_filter_txt_grp_filtre">
<div className="tab_critere_espace"> <div className="tab_critere_espace">
<div className="filter_valeur" onChange={TrainingTypeHandle}> <div className="filter_valeur" onChange={TrainingTypeHandle}>
<div className="filter_valeur_txt" > Type <div className="filter_valeur_txt" > Type
@ -3305,7 +3305,7 @@ const Mon_Catalogue_Public = (props) => {
</div> </div>
</div> </div>
<div style={{ "width": "33%", "float": "left" }}> <div className="sous_filter_txt_grp_filtre">
<div className="tab_critere_espace"> <div className="tab_critere_espace">

View File

@ -1682,7 +1682,7 @@ const Partner = (props) => {
setdisplay_alert_mysy(""); setdisplay_alert_mysy("");
} }
return ( return (
<div className="partner"> <div className="partner">
@ -1766,7 +1766,7 @@ const Partner = (props) => {
</Dialog> </Dialog>
{ /********* Fin Dialog redaction email */} { /********* Fin Dialog redaction email */}
{left_menu === true && <div className="sub_dib_mobile" > {left_menu === true && <div className="sub_dib_mobile" >
<div className="div_gauche" id="div_gauche"> <div className="div_gauche" id="div_gauche">
<nav className="not_display_mobile"> <nav className="not_display_mobile">
@ -1804,31 +1804,31 @@ const Partner = (props) => {
{parntername && <nav> {parntername && <nav>
<b> {parntername}&nbsp;-&nbsp;{String(partnerPackService).toUpperCase()} ({parnternbformation})</b> &nbsp; &nbsp; <b> {parntername}&nbsp;-&nbsp;{String(partnerPackService).toUpperCase()} ({parnternbformation})</b> &nbsp; &nbsp;
{GetPartnerNameFromToken_api_result && conntected_employee_activite_retard && parseFloat(conntected_employee_activite_retard) > 0 && <Tooltip className="tooltip_css" id="badge_tool_01" style={{ "fontSize": "12px" }} />
<StyledBadge_mysy_red badgeContent={String(parseFloat(conntected_employee_activite_retard))} style={{ "cursor": "pointer" }} <a data-tooltip-id="badge_tool_01" data-tooltip-html="Activité(s) en retard">
onClick={(event) => { {GetPartnerNameFromToken_api_result && conntected_employee_activite_retard && parseFloat(conntected_employee_activite_retard) > 0 &&
monactivite_func(); <StyledBadge_mysy_red badgeContent={String(parseFloat(conntected_employee_activite_retard))} style={{ "cursor": "pointer" }}
onClick={(event) => {
monactivite_func();
}}> }}>
</StyledBadge_mysy_red>}
<Tooltip className="tooltip_css" id="badge_tool_01" style={{ "fontSize": "12px" }} /> &nbsp; </a>
<a data-tooltip-id="badge_tool_01" data-tooltip-html="Activité(s) en retard"> &nbsp;
&nbsp; &nbsp;</a>
</StyledBadge_mysy_red>} &nbsp; &nbsp; <Tooltip className="tooltip_css" id="badge_tool_02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="badge_tool_02" data-tooltip-html="Nouvelle(s) activité(s) pour vous">
{GetPartnerNameFromToken_api_result && conntected_employee_activite_new && parseFloat(conntected_employee_activite_new) > 0 &&
<StyledBadge_mysy_color1 badgeContent={conntected_employee_activite_new} style={{ "cursor": "pointer" }}
onClick={(event) => {
monactivite_func();
{GetPartnerNameFromToken_api_result && conntected_employee_activite_new && parseFloat(conntected_employee_activite_new) > 0 && }}>
<StyledBadge_mysy_color1 badgeContent={conntected_employee_activite_new} style={{ "cursor": "pointer" }}
onClick={(event) => {
monactivite_func();
}}> </StyledBadge_mysy_color1>} &nbsp;
<Tooltip className="tooltip_css" id="badge_tool_02" style={{ "fontSize": "12px" }} /> </a>
<a data-tooltip-id="badge_tool_02" data-tooltip-html="Nouvelle(s) activité(s) pour vous">
&nbsp; &nbsp;</a>
</StyledBadge_mysy_color1>}
</nav>} </nav>}
{!parntername && <b> Partenaire </b>} </div>} {!parntername && <b> Partenaire </b>} </div>}
@ -1872,8 +1872,6 @@ const Partner = (props) => {
<div> <div>
<Sidebar className="my_sidebar"> <Sidebar className="my_sidebar">
<Menu className="my_menu"> <Menu className="my_menu">
<SubMenu label="Mon Compte" className="my_chart" id="my_account" name="my_account" icon={<AccountBalanceIcon color={"primary"} />} style={{ overflow: 'hidden' }}> <SubMenu label="Mon Compte" className="my_chart" id="my_account" name="my_account" icon={<AccountBalanceIcon color={"primary"} />} style={{ overflow: 'hidden' }}>
{String(menu) !== "infopartner" && <MenuItem onClick={PersonnalData} className="sousmenu" icon={<FcHome className="icone_menu" />}> MES INFORMATIONS </MenuItem>} {String(menu) !== "infopartner" && <MenuItem onClick={PersonnalData} className="sousmenu" icon={<FcHome className="icone_menu" />}> MES INFORMATIONS </MenuItem>}
{String(menu) === "infopartner" && <MenuItem onClick={PersonnalData} className="sousmenu_selected" icon={<FcHome className="icone_menu" />}> MES INFORMATIONS </MenuItem>} {String(menu) === "infopartner" && <MenuItem onClick={PersonnalData} className="sousmenu_selected" icon={<FcHome className="icone_menu" />}> MES INFORMATIONS </MenuItem>}
@ -1894,17 +1892,20 @@ const Partner = (props) => {
{String(menu) !== "facture" && <MenuItem className="sousmenu" onClick={DisplayFacure} icon={<FcFeedback className="icone_menu" />}> FACTURE MYSY</MenuItem>} {String(menu) !== "facture" && <MenuItem className="sousmenu" onClick={DisplayFacure} icon={<FcFeedback className="icone_menu" />}> FACTURE MYSY</MenuItem>}
{String(menu) === "facture" && <MenuItem className="sousmenu_selected" onClick={DisplayFacure} icon={<FcFeedback className="icone_menu" />}>FACTURE MYSY</MenuItem>} {String(menu) === "facture" && <MenuItem className="sousmenu_selected" onClick={DisplayFacure} icon={<FcFeedback className="icone_menu" />}>FACTURE MYSY</MenuItem>}
{String(menu) !== "tous_mes_document" && <MenuItem className="sousmenu" onClick={Display_Tous_Documents} icon={<FolderZipIcon className="icone_menu" />}> DOCUMENTS (GED) </MenuItem>}
{String(menu) === "tous_mes_document" && <MenuItem className="sousmenu_selected" onClick={Display_Tous_Documents} icon={<FolderZipIcon className="icone_menu" />}> DOCUMENTS (GED)</MenuItem>}
</SubMenu> </SubMenu>
</Menu> </Menu>
</Sidebar> </Sidebar>
</div> </div>
<div>
<Sidebar className="my_sidebar">
{String(menu) !== "tous_mes_document" && <Menu className="my_menu bck_menu_seul" id="my_ged" name="my_ged" onClick={Display_Tous_Documents} >&nbsp;<FolderZipIcon className="icone_menu" color={"primary"} /> &nbsp; DOCUMENTS (GED) </Menu>}
{String(menu) === "tous_mes_document" && <Menu className="my_menu bck_menu_seul_selected" id="my_ged" name="my_ged" onClick={Display_Tous_Documents} >&nbsp;<FolderZipIcon className="icone_menu" color={"primary"} /> &nbsp; DOCUMENTS (GED) </Menu>}
</Sidebar>
</div>
<div class="separator"></div> <div class="separator"></div>
@ -1925,9 +1926,6 @@ const Partner = (props) => {
{String(menu) === "part_produit_service" && <MenuItem onClick={DiplayPartner_Produits_Services} className="sousmenu_selected" icon={<LiaProductHunt className="icone_menu" />}> PRODUITS & SERVICES </MenuItem>} {String(menu) === "part_produit_service" && <MenuItem onClick={DiplayPartner_Produits_Services} className="sousmenu_selected" icon={<LiaProductHunt className="icone_menu" />}> PRODUITS & SERVICES </MenuItem>}
</SubMenu> </SubMenu>
</Menu> </Menu>
</Sidebar> </Sidebar>

View File

@ -12,7 +12,7 @@ import { Alert } from "@mui/material";
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai"; import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
import profileimg from "../mysy_img/MYSY-profil-2.png"; import profileimg from "../mysy_img/MYSY-profil-2.png";
import Abonnement from "./Abonnement"; import Abonnement from "./Abonnement";
import { ConstructionOutlined, PropaneSharp, ResetTvRounded } from "@mui/icons-material"; import { BorderBottom, ConstructionOutlined, PropaneSharp, ResetTvRounded } from "@mui/icons-material";
import { useHistory } from "react-router-dom"; import { useHistory } from "react-router-dom";
import CheckOut from "./CheckOut"; import CheckOut from "./CheckOut";
import DatePicker from "react-datepicker"; import DatePicker from "react-datepicker";
@ -35,21 +35,10 @@ import { ConsoleView } from "react-device-detect";
import fileDownload from 'js-file-download' import fileDownload from 'js-file-download'
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5"; import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
import { AiOutlineUserAdd } from "react-icons/ai"; import { AiOutlineUserAdd } from "react-icons/ai";
import { AiOutlinePlusCircle } from "react-icons/ai";
import FiberNewIcon from '@mui/icons-material/FiberNew'; import FiberNewIcon from '@mui/icons-material/FiberNew';
import Timeline from '@mui/lab/Timeline';
import TimelineItem from '@mui/lab/TimelineItem';
import TimelineSeparator from '@mui/lab/TimelineSeparator';
import TimelineConnector from '@mui/lab/TimelineConnector';
import TimelineContent from '@mui/lab/TimelineContent';
import TimelineOppositeContent from '@mui/lab/TimelineOppositeContent';
import TimelineDot from '@mui/lab/TimelineDot';
import FastfoodIcon from '@mui/icons-material/Fastfood';
import LaptopMacIcon from '@mui/icons-material/LaptopMac';
import HotelIcon from '@mui/icons-material/Hotel';
import RepeatIcon from '@mui/icons-material/Repeat';
import Typography from '@mui/material/Typography';
import Dialog from '@mui/material/Dialog'; import Dialog from '@mui/material/Dialog';
import DialogActions from '@mui/material/DialogActions'; import DialogActions from '@mui/material/DialogActions';
@ -69,9 +58,49 @@ import Rating from '@mui/material/Rating';
import { CiBoxList } from "react-icons/ci"; import { CiBoxList } from "react-icons/ci";
import { FcPlanner } from "react-icons/fc"; import { FcPlanner } from "react-icons/fc";
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';
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
function PaperComponent(props) {
return (
<Draggable
handle="#draggable-dialog-title"
cancel={'[class*="MuiDialogContent-root"]'}
>
<Paper {...props} />
</Draggable>
);
}
const useStyles = makeStyles((theme) => ({
dialog: {
position: 'absolute',
// left: 10,
top: 400
},
paper: {
overflowY: 'unset',
},
customizedButton: {
position: 'absolute',
left: '98%',
top: '-3%',
backgroundColor: 'lightgray',
color: 'gray',
},
}));
const PartnerClientActivite = (props) => { const PartnerClientActivite = (props) => {
const classes_dialog = useStyles();
const history = useHistory(); const history = useHistory();
var date_today_90j = new Date(); var date_today_90j = new Date();
date_today_90j.setDate(date_today_90j.getDate() + 90); date_today_90j.setDate(date_today_90j.getDate() + 90);
@ -367,7 +396,7 @@ const PartnerClientActivite = (props) => {
axios.post(myurl, form).then(res => { axios.post(myurl, form).then(res => {
//console.log(" In Get_List_Activite_Assign_To_Me res.data.status = " + res.data.status); //console.log(" In Get_List_Activite_Assign_To_Me res.data.status = " + res.data.status);
// console.log(" In Get_List_Activite_Assign_To_Me res.data.message r_class = " + res.data.message); // console.log(" In Get_List_Activite_Assign_To_Me res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true")) { if (String(res.data.status) === String("true")) {
setGet_List_Activite_Assign_To_Me_api("true"); setGet_List_Activite_Assign_To_Me_api("true");
@ -469,7 +498,10 @@ const PartnerClientActivite = (props) => {
else { else {
setGetall_Training_Employee_No_Filter_api("false"); setGetall_Training_Employee_No_Filter_api("false");
setGetall_Training_Employee_No_Filter_message(res.data.message); setGetall_Training_Employee_No_Filter_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -574,7 +606,10 @@ const PartnerClientActivite = (props) => {
setshow_all_activite_list("1"); setshow_all_activite_list("1");
setshowactivite_detail('0'); setshowactivite_detail('0');
setadd_one_activite('0'); setadd_one_activite('0');
alert(res.data.message); // 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")) { else if (String(res.data.status) === String("Err_Connexion")) {
@ -586,7 +621,10 @@ const PartnerClientActivite = (props) => {
setrecordPartnerClient_Activite_Data_api("false"); setrecordPartnerClient_Activite_Data_api("false");
setrecordPartnerClient_Activite_Data_message(res.data.message); setrecordPartnerClient_Activite_Data_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -649,7 +687,10 @@ const PartnerClientActivite = (props) => {
setUpdate_Activite_Status_api("false"); setUpdate_Activite_Status_api("false");
setUpdate_Activite_Status_message(res.data.message); setUpdate_Activite_Status_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -747,7 +788,11 @@ const PartnerClientActivite = (props) => {
Get_List_Activite_Of_client_Part(); Get_List_Activite_Of_client_Part();
Get_List_Activite_Assign_To_Me(); Get_List_Activite_Assign_To_Me();
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
setdatamodification_activite("0"); setdatamodification_activite("0");
setformedit_mode_activite("0"); setformedit_mode_activite("0");
setcurrent_activite_recid(""); setcurrent_activite_recid("");
@ -763,7 +808,10 @@ const PartnerClientActivite = (props) => {
setrecord_One_PartnerClient_Activite_Data_api("false"); setrecord_One_PartnerClient_Activite_Data_api("false");
setrecord_One_PartnerClient_Activite_Data_message(res.data.message); setrecord_One_PartnerClient_Activite_Data_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -884,7 +932,10 @@ const PartnerClientActivite = (props) => {
setDisplay_Part_Client_Activite_api("false"); setDisplay_Part_Client_Activite_api("false");
setDisplay_Part_Client_Activite_message(res.data.message); setDisplay_Part_Client_Activite_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -1006,7 +1057,10 @@ const PartnerClientActivite = (props) => {
setDisplay_Given_Activite_From_Activite_Recid_api("false"); setDisplay_Given_Activite_From_Activite_Recid_api("false");
setDisplay_Given_Activite_From_Activite_Recid_message(res.data.message); setDisplay_Given_Activite_From_Activite_Recid_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
@ -1167,7 +1221,7 @@ const PartnerClientActivite = (props) => {
const [kanban_colonne_width, setkanban_colonne_width] = useState("20vw"); const [kanban_colonne_width, setkanban_colonne_width] = useState("20vw");
// MySy Comment : design d'une tache (couleur, taille, etc) // MySy Comment : design d'une tache (couleur, taille, etc)
const classes = { const classes_old = {
board: { board: {
display: "flex", display: "flex",
margin: "0 auto", margin: "0 auto",
@ -1200,6 +1254,72 @@ const PartnerClientActivite = (props) => {
} }
}; };
const classes = {
board: {
display: "flex",
margin: "0 auto",
width: "100%",
fontFamily: 'Arial, "Helvetica Neue", sans-serif'
},
column: {
// minWidth: 200,
//width: "16vw",
width: kanban_colonne_width,
height: "80vh",
margin: "0 auto",
backgroundColor: "#FFFFFF",
border: 'solid 1px',
borderLeft: "1px solid #ecf1fc",
borderRight: "1px solid #ecf1fc",
},
column_first_left: {
// minWidth: 200,
//width: "16vw",
width: kanban_colonne_width,
height: "80vh",
margin: "0 auto",
backgroundColor: "#FFFFFF",
border: 'solid 1px',
borderTop: 'none',
// borderRight: "1px solid #ecf1fc",
},
column_right_solid_border: {
// minWidth: 200,
//width: "16vw",
width: kanban_colonne_width,
height: "80vh",
margin: "0 auto",
backgroundColor: "#FFFFFF",
border: "1px solid #ecf1fc",
borderRight: 'solid 1px',
borderBottom: 'solid 1px',
},
columnHead: {
textAlign: "center",
padding: 5,
fontSize: "14px",
backgroundColor: "rgb(103, 164, 239)",
border: "1px solid",
marginBottom: "5px",
},
item: {
padding: 5,
marginBottom: 10,
fontSize: "0.8em",
cursor: "pointer",
backgroundColor: "#f4f6f6",
border: "0px solid",
cursor: "move",
width: "94%",
marginLeft: "3%",
}
};
const KanbanColumn = ({ status, changeTaskStatus, children }) => { const KanbanColumn = ({ status, changeTaskStatus, children }) => {
const ref = useRef(null); const ref = useRef(null);
@ -1299,13 +1419,20 @@ const PartnerClientActivite = (props) => {
Get_List_Activite_Of_client_Part(); Get_List_Activite_Of_client_Part();
Get_List_Activite_Assign_To_Me(); Get_List_Activite_Assign_To_Me();
Dialog_ACTIVITE_handleClose_buton(); Dialog_ACTIVITE_handleClose_buton();
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} }
else { else {
sethandleClick_delete_Activite_data_from_id_api("false"); sethandleClick_delete_Activite_data_from_id_api("false");
sethandleClick_delete_Activite_data_from_id_message(res.data.message); sethandleClick_delete_Activite_data_from_id_message(res.data.message);
alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
} }
}).catch((error) => { }).catch((error) => {
@ -1332,19 +1459,66 @@ const PartnerClientActivite = (props) => {
setdatamodification_activite(""); setdatamodification_activite("");
}; };
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 ( return (
<div className="partner_client_activite" > <div className="partner_client_activite" >
{/*** Affichage des messages d'alerte*/}
{display_alert_mysy && String(display_alert_mysy) === "1" &&
<Module_Alert_Confirmation alert_message={alert_message}
alert_type={alert_type}
clear_alert_message={clear_alert_message}
clear_alert_type={clear_alert_type}
clear_display_alert_mysy={clear_display_alert_mysy}
/>
}
{/*** FIN Affichage des messages d'alerte*/}
{/* Dialog pour gerer une ACTIVITE */} {/* Dialog pour gerer une ACTIVITE */}
<Dialog <Dialog
open={Dialog_ACTIVITE_open} open={Dialog_ACTIVITE_open}
onClose={Dialog_ACTIVITE_handleClose} //onClose={Dialog_ACTIVITE_handleClose}
className="displaypartnersession" className="displaypartnersession"
static
onClose={() => null}
PaperProps={{
className: classes_dialog.paper, // Apply the paper style
style: {
overflowY: 'unset',
position: 'absolute',
top: '5rem',
margin: "2px",
},
}}
hideBackdrop={true}
disableScrollLock
classes={{
paper: classes_dialog.dialog
}}
PaperComponent={PaperComponent}
aria-labelledby="draggable-dialog-title"
> >
<DialogTitle>MySy Information</DialogTitle> <DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">MySy Information</DialogTitle>
<DialogContent className="DialogContent_width" style={{ "minHeight": "30rem" }}> <DialogContent className="DialogContent_width" style={{ "minHeight": "30rem" }}>
<DialogContentText> <DialogContentText>
@ -1516,6 +1690,15 @@ const PartnerClientActivite = (props) => {
</DialogContent> </DialogContent>
<DialogActions> <DialogActions>
<IconButton
// autoFocus
onClick={Dialog_ACTIVITE_handleClose_buton}
color="primary"
className={classes_dialog.customizedButton}
>
<CancelPresentationIcon />
</IconButton>
<div className="div_row"> <div className="div_row">
<div className="div_row_gauche"> <div className="div_row_gauche">
@ -1567,186 +1750,35 @@ const PartnerClientActivite = (props) => {
<div className="div_row"> <div className="div_row">
{String(show_all_activite_list) === "1" && String(showactivite_detail) !== "1" && String(add_one_activite) !== "1" && {String(show_all_activite_list) === "1" && String(showactivite_detail) !== "1" && String(add_one_activite) !== "1" &&
<div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }}> <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }}>
<div className="div_row" onClick={Add_Activite} style={{ "cursor": "pointer" }}> <AiOutlineUserAdd /> Ajouter une activité </div> <div className="div_row" onClick={Add_Activite} style={{ "cursor": "pointer" }}> <AiOutlinePlusCircle /> Ajouter une activité </div>
{/*<div>
<div className="div_row">
<div className="div_row" style={{ "border": "None" }}>
<div className="titre1" > Activité(s) qui me sont Assignée(s) </div>
</div>
<div className="block_all_activite">
{Get_List_Activite_Assign_To_Me_result && String(Get_List_Activite_Assign_To_Me_api) === "true" &&
Get_List_Activite_Assign_To_Me_result.map((client) => (
<nav className="block_activite">
{String(String(JSON.parse(client).status)) === "1" &&
<nav recid={String(JSON.parse(client).recid)}
onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(client).recid));
setDialog_ACTIVITE_open(true);
}}
className="detail_activite">
{JSON.parse(client).employee_assigned_view_statut && String(JSON.parse(client).employee_assigned_view_statut) !== "1" &&
<nav style={{ marginRight: "10px", textAlign: "right" }}> <FiberNewIcon style={{ color: 'red', }} /> </nav>}
<nav className="detail_header" recid={String(JSON.parse(client).recid)} > {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav recid={String(JSON.parse(client).recid)} >
<i>FAIT </i> <br />
{(JSON.parse(client).description).substring(0, 50)}<br />
{(JSON.parse(client).detail).substring(0, 50)}<br />
</nav>
</nav>}
{String(String(JSON.parse(client).status)) === "0" &&
<nav recid={String(JSON.parse(client).recid)} onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(client).recid));
setDialog_ACTIVITE_open(true);
}} className="detail_activite">
{JSON.parse(client).employee_assigned_view_statut && String(JSON.parse(client).employee_assigned_view_statut) !== "1" &&
<nav style={{ marginRight: "10px", textAlign: "right" }}> <FiberNewIcon style={{ color: 'red', }} /> </nav>}
<nav className="detail_header" recid={String(JSON.parse(client).recid)} > {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav recid={String(JSON.parse(client).recid)} >
{parseInt(String(JSON.parse(client).retard)) < 0 && <i style={{ "color": "red" }}> RETARD de {String(JSON.parse(client).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(client).retard)) > 0 && <i> DANS {String(JSON.parse(client).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(client).retard)) == 0 && <i style={{ "color": "orange" }}> AUJOURD'HUI <br /></i>}
{(JSON.parse(client).description).substring(0, 50)}<br />
{(JSON.parse(client).detail).substring(0, 50)}<br />
</nav>
</nav>}
{String(String(JSON.parse(client).status)) === "-1" &&
<nav recid={String(JSON.parse(client).recid)} onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(client).recid));
setDialog_ACTIVITE_open(true);
}} className="detail_activite">
{JSON.parse(client).employee_assigned_view_statut && String(JSON.parse(client).employee_assigned_view_statut) !== "1" &&
<nav> <FiberNewIcon style={{ color: 'red', fontSize: '10px' }} /> </nav>}
<nav className="detail_header" recid={String(JSON.parse(client).recid)} > {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav recid={String(JSON.parse(client).recid)} >
<i>ANNULE </i> <br />
{(JSON.parse(client).description).substring(0, 50)}<br />
{(JSON.parse(client).detail).substring(0, 50)}<br />
</nav>
</nav>}
</nav>
))}
</div>
</div>
<div className="div_row" style={{ "border": "None" }}>
<hr className="hr_break" />
</div>
<div className="div_row">
<div className="div_row" style={{ "border": "None" }}>
<div className="titre1" > Activté(s) que j'ai créée(s) </div>
</div>
<div className="block_all_activite">
{Get_List_Activite_Of_client_Part_result && String(Get_List_Activite_Of_client_Part_api) === "true" &&
Get_List_Activite_Of_client_Part_result.map((client) => (
<nav className="block_activite">
{String(String(JSON.parse(client).status)) === "1" &&
<nav recid={String(JSON.parse(client).recid)} onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(client).recid));
setDialog_ACTIVITE_open(true);
}} className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(client).recid)} > {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav recid={String(JSON.parse(client).recid)} >
<i>FAIT </i> <br />
{(JSON.parse(client).description).substring(0, 50)}<br />
{(JSON.parse(client).detail).substring(0, 50)}<br />
</nav>
</nav>}
{String(String(JSON.parse(client).status)) === "0" &&
<nav recid={String(JSON.parse(client).recid)} onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(client).recid));
setDialog_ACTIVITE_open(true);
}} className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(client).recid)} > {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav recid={String(JSON.parse(client).recid)} >
{parseInt(String(JSON.parse(client).retard)) < 0 && <i style={{ "color": "red" }}> RETARD de {String(JSON.parse(client).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(client).retard)) > 0 && <i> DANS {String(JSON.parse(client).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(client).retard)) == 0 && <i style={{ "color": "orange" }}> AUJOURD'HUI <br /></i>}
{(JSON.parse(client).description).substring(0, 50)}<br />
{(JSON.parse(client).detail).substring(0, 50)}<br />
</nav>
</nav>}
{String(String(JSON.parse(client).status)) === "-1" &&
<nav recid={String(JSON.parse(client).recid)} onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(client).recid));
setDialog_ACTIVITE_open(true);
}} className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(client).recid)} > {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav recid={String(JSON.parse(client).recid)} >
<i>ANNULE </i> <br />
{(JSON.parse(client).description).substring(0, 50)}<br />
{(JSON.parse(client).detail).substring(0, 50)}<br />
</nav>
</nav>}
</nav>
))}
</div>
</div>
</div>*/}
<div className="div_row" style={{ "border": "None" }}> <div className="div_row" style={{ "border": "None" }}>
<div className="titre1" > Activité(s) qui me sont Assignée(s) </div> <div className="titre1" > Activité(s) qui me sont Assignée(s) </div>
</div> </div>
{/*<div style={{ "textAlign": "right", "float": "right", "width": "100%", "paddingRight": "15px" }}>
Affichage : <nav className="mode_affichage" onClick={"func_display_kanban_view"}> <FcPlanner /> Kanban </nav>
<nav className="mode_affichage" onClick={"func_display_list_view"}> <CiBoxList /> Liste </nav>
</div>*/}
<div className="div_row"> <div className="div_row">
<DndProvider backend={HTML5Backend}> <DndProvider backend={HTML5Backend}>
<section style={classes.board}> <section style={classes.board}>
{activite_status_list_pave_affiche.map(channel => ( {activite_status_list_pave_affiche.map((channel, index) => (
<KanbanColumn <KanbanColumn
key={channel.id} key={channel.id}
status={channel.id} status={channel.id}
changeTaskStatus={changeTaskStatus} changeTaskStatus={changeTaskStatus}
> >
<div style={classes.column}>
<div style={classes.columnHead}>{Opportunite_chanel_label[channel.id]}</div> {String(index) === "0" && <div style={classes.column_first_left}>
<div className="kanban_header_css">{Opportunite_chanel_label[channel.id]} </div>
<div style={{ overflowY: 'auto', height: '95%' }}> <div style={{ overflowY: 'auto', height: '95%' }}>
{Get_List_Activite_Assign_To_Me_result && Get_List_Activite_Assign_To_Me_result.length > 0 && {Get_List_Activite_Assign_To_Me_result && Get_List_Activite_Assign_To_Me_result.length > 0 &&
Get_List_Activite_Assign_To_Me_result.filter(item => JSON.parse(item).status === channel.id) Get_List_Activite_Assign_To_Me_result.filter(item => JSON.parse(item).status === channel.id)
.map(item => ( .map(item => (
<KanbanItem key={JSON.parse(item)._id} id={JSON.parse(item)._id} actvite_recid={JSON.parse(item).recid}> <KanbanItem key={JSON.parse(item)._id} id={JSON.parse(item)._id} actvite_recid={JSON.parse(item).recid}>
<br /> <br />
<div id={JSON.parse(item)._id} <div className="kanban_item_css" id={JSON.parse(item)._id}
> >
@ -1783,7 +1815,7 @@ const PartnerClientActivite = (props) => {
<nav recid={String(JSON.parse(item).recid)} > <nav recid={String(JSON.parse(item).recid)} >
{parseInt(String(JSON.parse(item).retard)) < 0 && <i style={{ "color": "red" }}> RETARD de {String(JSON.parse(item).retard)} jours <br /></i>} {parseInt(String(JSON.parse(item).retard)) < 0 && <i style={{ "color": "red", }}> RETARD de {String(JSON.parse(item).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(item).retard)) > 0 && <i> DANS {String(JSON.parse(item).retard)} jours <br /></i>} {parseInt(String(JSON.parse(item).retard)) > 0 && <i> DANS {String(JSON.parse(item).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(item).retard)) == 0 && <i style={{ "color": "orange" }}> AUJOURD'HUI <br /></i>} {parseInt(String(JSON.parse(item).retard)) == 0 && <i style={{ "color": "orange" }}> AUJOURD'HUI <br /></i>}
@ -1816,9 +1848,96 @@ const PartnerClientActivite = (props) => {
</KanbanItem> </KanbanItem>
))} ))}
</div> </div>
</div> </div>}
{String(index) !== "0" && <div style={classes.column_right_solid_border}>
<div className="kanban_header_css">{Opportunite_chanel_label[channel.id]} </div>
<div style={{ overflowY: 'auto', height: '95%' }}>
{Get_List_Activite_Assign_To_Me_result && Get_List_Activite_Assign_To_Me_result.length > 0 &&
Get_List_Activite_Assign_To_Me_result.filter(item => JSON.parse(item).status === channel.id)
.map(item => (
<KanbanItem key={JSON.parse(item)._id} id={JSON.parse(item)._id} actvite_recid={JSON.parse(item).recid}>
<br />
<div className="kanban_item_css" id={JSON.parse(item)._id}
>
{String(String(JSON.parse(item).status)) === "1" &&
<nav recid={String(JSON.parse(item).recid)}
onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item).recid));
setDialog_ACTIVITE_open(true);
}}
className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(item).recid)} > {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}</nav>
<nav recid={String(JSON.parse(item).recid)} >
<i>FAIT </i> <br />
{(JSON.parse(item).description).substring(0, 50)}<br />
{(JSON.parse(item).detail).substring(0, 50)}<br />
</nav>
</nav>}
{String(String(JSON.parse(item).status)) === "0" &&
<nav recid={String(JSON.parse(item).recid)}
onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item).recid));
setDialog_ACTIVITE_open(true);
}}
className="detail_activite">
{JSON.parse(item).employee_assigned_view_statut && String(JSON.parse(item).employee_assigned_view_statut) !== "1" &&
<nav style={{ marginRight: "10px", textAlign: "right" }}> <FiberNewIcon style={{ color: 'red', }} /> </nav>}
<nav className="detail_header" recid={String(JSON.parse(item).recid)} > {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}</nav>
<nav recid={String(JSON.parse(item).recid)} >
{parseInt(String(JSON.parse(item).retard)) < 0 && <i style={{ "color": "red", }}> RETARD de {String(JSON.parse(item).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(item).retard)) > 0 && <i> DANS {String(JSON.parse(item).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(item).retard)) == 0 && <i style={{ "color": "orange" }}> AUJOURD'HUI <br /></i>}
{(JSON.parse(item).description).substring(0, 50)}<br />
{(JSON.parse(item).detail).substring(0, 50)}<br />
</nav>
</nav>}
{String(String(JSON.parse(item).status)) === "-1" &&
<nav recid={String(JSON.parse(item).recid)}
onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item).recid));
setDialog_ACTIVITE_open(true);
}}
className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(item).recid)} > {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}</nav>
<nav recid={String(JSON.parse(item).recid)} >
<i>ANNULE </i> <br />
{(JSON.parse(item).description).substring(0, 50)}<br />
{(JSON.parse(item).detail).substring(0, 50)}<br />
</nav>
</nav>}
</div>
</KanbanItem>
))}
</div>
</div>}
</KanbanColumn> </KanbanColumn>
))} ))}
</section> </section>
</DndProvider> </DndProvider>
<div className="div_row"> &nbsp;</div> <div className="div_row"> &nbsp;</div>
@ -1832,22 +1951,17 @@ const PartnerClientActivite = (props) => {
<div className="titre1" > Activté(s) que j'ai créée(s) </div> <div className="titre1" > Activté(s) que j'ai créée(s) </div>
</div> </div>
{/*<div style={{ "textAlign": "right", "float": "right", "width": "100%", "paddingRight": "15px" }}>
Affichage : <nav className="mode_affichage" onClick={"func_display_kanban_view"}> <FcPlanner /> Kanban </nav>
<nav className="mode_affichage" onClick={"func_display_list_view"}> <CiBoxList /> Liste </nav>
</div>*/}
<div className="div_row"> <div className="div_row">
<DndProvider backend={HTML5Backend}> <DndProvider backend={HTML5Backend}>
<section style={classes.board}> <section style={classes.board}>
{activite_status_list_pave_affiche.map(channel => ( {activite_status_list_pave_affiche.map((channel, index) => (
<KanbanColumn <KanbanColumn
key={channel.id} key={channel.id}
status={channel.id} status={channel.id}
changeTaskStatus={changeTaskStatus} changeTaskStatus={changeTaskStatus}
> >
<div style={classes.column}> {String(index) === "0" && <div style={classes.column_first_left}>
<div style={classes.columnHead}>{Opportunite_chanel_label[channel.id]}</div> <div style={classes.columnHead}>{Opportunite_chanel_label[channel.id]}</div>
<div style={{ overflowY: 'auto', height: '95%' }}> <div style={{ overflowY: 'auto', height: '95%' }}>
{Get_List_Activite_Of_client_Part_result && Get_List_Activite_Of_client_Part_result.length > 0 && {Get_List_Activite_Of_client_Part_result && Get_List_Activite_Of_client_Part_result.length > 0 &&
@ -1855,7 +1969,8 @@ const PartnerClientActivite = (props) => {
.map(item => ( .map(item => (
<KanbanItem key={JSON.parse(item)._id} id={JSON.parse(item)._id} actvite_recid={JSON.parse(item).recid}> <KanbanItem key={JSON.parse(item)._id} id={JSON.parse(item)._id} actvite_recid={JSON.parse(item).recid}>
<br /> <br />
<div id={JSON.parse(item)._id}
<div className="kanban_item_css" id={JSON.parse(item)._id}
> >
@ -1886,7 +2001,7 @@ const PartnerClientActivite = (props) => {
className="detail_activite"> className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(item).recid)} > {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}</nav> <nav className="detail_header" recid={String(JSON.parse(item).recid)} > {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}</nav>
<nav recid={String(JSON.parse(item).recid)} > <nav recid={String(JSON.parse(item).recid)} >
{JSON.parse(item).employee_assigned_view_statut && String(JSON.parse(item).employee_assigned_view_statut) !== "1" && {JSON.parse(item).employee_assigned_view_statut && String(JSON.parse(item).employee_assigned_view_statut) !== "1" &&
<nav style={{ marginRight: "10px", textAlign: "right" }}> <FiberNewIcon style={{ color: 'red', }} /> </nav>} <nav style={{ marginRight: "10px", textAlign: "right" }}> <FiberNewIcon style={{ color: 'red', }} /> </nav>}
@ -1924,7 +2039,88 @@ const PartnerClientActivite = (props) => {
</KanbanItem> </KanbanItem>
))} ))}
</div> </div>
</div> </div>}
{String(index) !== "0" && <div style={classes.column_right_solid_border}>
<div style={classes.columnHead}>{Opportunite_chanel_label[channel.id]}</div>
<div style={{ overflowY: 'auto', height: '95%' }}>
{Get_List_Activite_Of_client_Part_result && Get_List_Activite_Of_client_Part_result.length > 0 &&
Get_List_Activite_Of_client_Part_result.filter(item => JSON.parse(item).status === channel.id)
.map(item => (
<KanbanItem key={JSON.parse(item)._id} id={JSON.parse(item)._id} actvite_recid={JSON.parse(item).recid}>
<br />
<div className="kanban_item_css" id={JSON.parse(item)._id}
>
{String(String(JSON.parse(item).status)) === "1" &&
<nav recid={String(JSON.parse(item).recid)}
onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item).recid));
setDialog_ACTIVITE_open(true);
}}
className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(item).recid)} > {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}</nav>
<nav recid={String(JSON.parse(item).recid)} >
<i>FAIT </i> <br />
{(JSON.parse(item).description).substring(0, 50)}<br />
{(JSON.parse(item).detail).substring(0, 50)}<br />
</nav>
</nav>}
{String(String(JSON.parse(item).status)) === "0" &&
<nav recid={String(JSON.parse(item).recid)}
onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item).recid));
setDialog_ACTIVITE_open(true);
}}
className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(item).recid)} > {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}</nav>
<nav recid={String(JSON.parse(item).recid)} >
{JSON.parse(item).employee_assigned_view_statut && String(JSON.parse(item).employee_assigned_view_statut) !== "1" &&
<nav style={{ marginRight: "10px", textAlign: "right" }}> <FiberNewIcon style={{ color: 'red', }} /> </nav>}
{parseInt(String(JSON.parse(item).retard)) < 0 && <i style={{ "color": "red" }}> RETARD de {String(JSON.parse(item).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(item).retard)) > 0 && <i> DANS {String(JSON.parse(item).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(item).retard)) == 0 && <i style={{ "color": "orange" }}> AUJOURD'HUI <br /></i>}
{(JSON.parse(item).description).substring(0, 50)}<br />
{(JSON.parse(item).detail).substring(0, 50)}<br />
</nav>
</nav>}
{String(String(JSON.parse(item).status)) === "-1" &&
<nav recid={String(JSON.parse(item).recid)}
onClick={(event) => {
Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item).recid));
setDialog_ACTIVITE_open(true);
}}
className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(item).recid)} > {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}</nav>
<nav recid={String(JSON.parse(item).recid)} >
<i>ANNULE </i> <br />
{(JSON.parse(item).description).substring(0, 50)}<br />
{(JSON.parse(item).detail).substring(0, 50)}<br />
</nav>
</nav>}
</div>
</KanbanItem>
))}
</div>
</div>}
</KanbanColumn> </KanbanColumn>
))} ))}
</section> </section>

View File

@ -154,6 +154,20 @@ const Partner_Client = (props) => {
{ field: 'website', headerName: 'Siteweb', width: 100, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'website', headerName: 'Siteweb', width: 100, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'is_company', headerName: 'Société', width: 100, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'is_company', headerName: 'Société', width: 100, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: 'intranet_account_id', headerName: 'Intranet', width: 100, hide: false, editable: false, renderCell: (cellValues) => (
<nav>
{cellValues.row.intranet_account_id.length > 5 && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
Oui
</div>}
{(!cellValues.row.intranet_account_id || cellValues.row.intranet_account_id.length <= 5) && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
Non
</div>
}
</nav>
)
},
{ {
field: 'is_prospect', headerName: 'Pros/Cli', width: 100, hide: false, editable: false, field: 'is_prospect', headerName: 'Pros/Cli', width: 100, hide: false, editable: false,
@ -341,7 +355,7 @@ const Partner_Client = (props) => {
const [Get_List_Partner_Clients_api, setGet_List_Partner_Clients_api] = useState(); 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_message, setGet_List_Partner_Clients_message] = useState();
const [Get_List_Partner_Clients_result, setGet_List_Partner_Clients_result] = useState(); const [Get_List_Partner_Clients_result, setGet_List_Partner_Clients_result] = useState([]);
function Get_List_Partner_Clients(event) { function Get_List_Partner_Clients(event) {
var form = new FormData(); var form = new FormData();
@ -805,6 +819,26 @@ const Partner_Client = (props) => {
</div>} </div>}
</div> </div>
<div className="div_row_dialog">
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left' }}>
Compte Intranet
</div>
{Get_List_Partner_Clients_result && selected_id &&
String(selected_id).length > 0 && JSON.parse(Get_List_Partner_Clients_result[gridline_id]).intranet_account_id &&
String(JSON.parse(Get_List_Partner_Clients_result[gridline_id]).intranet_account_id).length > 5
&& <div className="div_row_droite_dialog_session" style={{ "textAlign": 'right' }}>
Oui
</div>}
{(Get_List_Partner_Clients_result && selected_id &&
String(selected_id).length > 0) &&
(!JSON.parse(Get_List_Partner_Clients_result[gridline_id]).intranet_account_id ||
String(JSON.parse(Get_List_Partner_Clients_result[gridline_id]).intranet_account_id).length <= 5)
&& <div className="div_row_droite_dialog_session" style={{ "textAlign": 'right' }}>
Non
</div>}
</div>
<div className="div_row_dialog"> <div className="div_row_dialog">
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left' }}> <div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left' }}>
Téléphone Téléphone
@ -837,6 +871,8 @@ const Partner_Client = (props) => {
</div>} </div>}
</div> </div>
<div className="div_row" > &nbsp; <div className="div_row" > &nbsp;
</div> </div>
@ -1118,6 +1154,7 @@ const Partner_Client = (props) => {
website: JSON.parse(item).website, website: JSON.parse(item).website,
is_company: JSON.parse(item).is_company, is_company: JSON.parse(item).is_company,
is_prospect: JSON.parse(item).is_prospect, is_prospect: JSON.parse(item).is_prospect,
intranet_account_id: JSON.parse(item).intranet_account_id,
} }
))} ))}

View File

@ -4,7 +4,7 @@ import axios from "axios";
import Articles from "../components/Article"; import Articles from "../components/Article";
import { FaSearch, FaRegArrowAltCircleDown, FaRegArrowAltCircleUp } from 'react-icons/fa'; import { FaSearch, FaRegArrowAltCircleDown, FaRegArrowAltCircleUp } from 'react-icons/fa';
import { format } from 'date-fns' import { format } from 'date-fns'
import moment from "moment"; import moment from "moment";
import Pagination from "./TestPagination"; import Pagination from "./TestPagination";
import data from "./data/mock-data.json"; import data from "./data/mock-data.json";
import { useHistory } from "react-router-dom"; import { useHistory } from "react-router-dom";
@ -23,7 +23,7 @@ import connect_white from "../mysy_img/connect_white_v2.png";
import connect_green from "../mysy_img/connect_green.png"; import connect_green from "../mysy_img/connect_green.png";
import { BsFillXCircleFill } from "react-icons/bs"; import { BsFillXCircleFill } from "react-icons/bs";
import Fotter_v3 from "./Fotter_v3"; import Fotter_v3 from "./Fotter_v3";
import Dialog from '@mui/material/Dialog'; import Dialog from '@mui/material/Dialog';
import DialogActions from '@mui/material/DialogActions'; import DialogActions from '@mui/material/DialogActions';
import DialogContent from '@mui/material/DialogContent'; import DialogContent from '@mui/material/DialogContent';
@ -49,12 +49,16 @@ import { FcPlus } from "react-icons/fc";
import Autocomplete from '@mui/material/Autocomplete'; import Autocomplete from '@mui/material/Autocomplete';
import TextField from '@mui/material/TextField'; import TextField from '@mui/material/TextField';
import { FcInternal } from "react-icons/fc";
import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
import { IconButton } from '@material-ui/core'; import { IconButton } from '@material-ui/core';
import { makeStyles } from "@material-ui/core/styles"; import { makeStyles } from "@material-ui/core/styles";
import Paper from '@material-ui/core/Paper'; import Paper from '@material-ui/core/Paper';
import Draggable from 'react-draggable'; import Draggable from 'react-draggable';
function PaperComponent(props) { function PaperComponent(props) {
return ( return (
<Draggable <Draggable
@ -228,13 +232,13 @@ const RechercheArticles_new_v2 = (props) => {
var myurl = "" var myurl = ""
/* if (document.getElementById("allelement").checked !== true && /* if (document.getElementById("allelement").checked !== true &&
document.getElementById("SearchText").disabled !== true) { document.getElementById("SearchText").disabled !== true) {
//alert(" recherche classique laaa "); //alert(" recherche classique laaa ");
myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_articles_avis/"; myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_articles_avis/";
} }
else if (document.getElementById("allelement").checked === true && else if (document.getElementById("allelement").checked === true &&
document.getElementById("SearchText").disabled === true) { document.getElementById("SearchText").disabled === true) {
myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_articles_avis/"; myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_articles_avis/";
}*/ }*/
myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_articles_avis/"; myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_articles_avis/";
@ -294,13 +298,13 @@ const RechercheArticles_new_v2 = (props) => {
var myurl = "" var myurl = ""
/* if (document.getElementById("allelement").checked !== true && /* if (document.getElementById("allelement").checked !== true &&
document.getElementById("SearchText").disabled !== true) { document.getElementById("SearchText").disabled !== true) {
//alert(" recherche classique laaa "); //alert(" recherche classique laaa ");
myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_articles_avis/"; myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_articles_avis/";
} }
else if (document.getElementById("allelement").checked === true && else if (document.getElementById("allelement").checked === true &&
document.getElementById("SearchText").disabled === true) { document.getElementById("SearchText").disabled === true) {
myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_published_articles_avis/"; myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_published_articles_avis/";
}*/ }*/
myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_published_articles_avis/"; myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_published_articles_avis/";
@ -361,13 +365,13 @@ const RechercheArticles_new_v2 = (props) => {
var myurl = "" var myurl = ""
/* if (document.getElementById("allelement").checked !== true && /* if (document.getElementById("allelement").checked !== true &&
document.getElementById("SearchText").disabled !== true) { document.getElementById("SearchText").disabled !== true) {
//alert(" recherche classique laaa "); //alert(" recherche classique laaa ");
myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_articles_avis/"; myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_articles_avis/";
} }
else if (document.getElementById("allelement").checked === true && else if (document.getElementById("allelement").checked === true &&
document.getElementById("SearchText").disabled === true) { document.getElementById("SearchText").disabled === true) {
myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_non_published_articles_avis/"; myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_non_published_articles_avis/";
}*/ }*/
myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_non_published_articles_avis/"; myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_non_published_articles_avis/";
@ -767,7 +771,7 @@ const RechercheArticles_new_v2 = (props) => {
setimg_img_article_file(""); setimg_img_article_file("");
setimg_img_article_file2(""); setimg_img_article_file2("");
clear_article_avis_fields(); clear_article_avis_fields();
setfield_texte_avis("");
}; };
@ -782,6 +786,7 @@ const RechercheArticles_new_v2 = (props) => {
setarticle_avis_internal_url(""); setarticle_avis_internal_url("");
setarticle_avis_display_header_img(false); setarticle_avis_display_header_img(false);
setarticle_avis_meta_description(""); setarticle_avis_meta_description("");
setfield_texte_avis("");
} }
const [article_avis_date_publication, setarticle_avis_date_publication] = useState(new Date().toLocaleDateString('fr-FR')); const [article_avis_date_publication, setarticle_avis_date_publication] = useState(new Date().toLocaleDateString('fr-FR'));
@ -810,7 +815,7 @@ const RechercheArticles_new_v2 = (props) => {
form.append("qualite", " --- "); form.append("qualite", " --- ");
form.append("note", "---"); form.append("note", "---");
if( article_avis_internal_url && String(article_avis_internal_url).trim().length > 5 ){ if (article_avis_internal_url && String(article_avis_internal_url).trim().length > 5) {
form.append("internal_url", article_avis_internal_url); form.append("internal_url", article_avis_internal_url);
} }
@ -865,7 +870,7 @@ const RechercheArticles_new_v2 = (props) => {
setLoading(true); setLoading(true);
axios.post(myurl, form).then(res => { axios.post(myurl, form).then(res => {
setLoading(false); setLoading(false);
if (String(res.data.status) === String("false")) { if (String(res.data.status) === String("false")) {
alert(res.data.message); alert(res.data.message);
} }
@ -947,7 +952,7 @@ const RechercheArticles_new_v2 = (props) => {
//image/png //image/png
if (String(file_type) !== "image/png" && String(file_type) !== "image/jpg" && String(file_type) !== "image/webp" && if (String(file_type) !== "image/png" && String(file_type) !== "image/jpg" && String(file_type) !== "image/webp" &&
String(file_type) !== "image/jpeg") { String(file_type) !== "image/jpeg") {
alert("Le fichier n'est pas au format PNG, String(file_type)" + String(file_type)); alert("Le fichier n'est pas au format PNG, String(file_type)" + String(file_type));
return; return;
@ -975,11 +980,11 @@ const RechercheArticles_new_v2 = (props) => {
// Verification que le nom du fichier est alpha numerique // Verification que le nom du fichier est alpha numerique
/*var regExp = /^[A-Za-z0-9]+$/; /*var regExp = /^[A-Za-z0-9]+$/;
if (!regExp.test(event.target.files[0].name)) { if (!regExp.test(event.target.files[0].name)) {
sethandleSubmission_img_article_message(" Le nom de l'image comporte des caractères non alphanumériques"); sethandleSubmission_img_article_message(" Le nom de l'image comporte des caractères non alphanumériques");
sethandleSubmission_img_article_api("false"); sethandleSubmission_img_article_api("false");
setLoading(false); setLoading(false);
return return
}*/ }*/
@ -1137,6 +1142,40 @@ const RechercheArticles_new_v2 = (props) => {
} }
/***** Fin gestion de l'image de l'article */ /***** Fin gestion de l'image de l'article */
function init_with_modele() {
var init_text = '<div style="color: #16274F; font-size: 20px; font-family: DM Sans; font-weight: 700; word-wrap: break-word; margin-bottom: 10px;">\
1. Une solution complète et intégrée :</div> \
<div style="width: 100%; color: #171717; font-size: 16px; font-family: Inter; font-weight: 400; line-height: 24px; word-wrap: break-word; margin-bottom: 2rem;"> \
Mysy Training propose une plateforme tout-en-un qui simplifie la gestion de votre organisme de formation, depuis la planification des sessions jusqu\'à la facturation, en passant par le suivi des apprenants. <br /> \
Cette centralisation réduit les tâches administratives et optimise votre efficacité.<br /> \
Mysy Training propose une plateforme tout-en-un qui simplifie la gestion de votre organisme de formation, depuis la \
planification des sessions jusqu\'à la facturation, en passant par le suivi des apprenants. Cette centralisation réduit les tâches administratives et \
optimise votre efficacité. </div> \
<div style="color: #16274F; font-size: 20px; font-family: DM Sans; font-weight: 700; word-wrap: break-word; margin-bottom: 10px;"> \
2. Conformité avec les réglementations :</div>\
<div style="width: 100%; color: #171717; font-size: 16px; font-family: Inter; font-weight: 400; line-height: 24px; word-wrap: break-word; margin-bottom: 2rem;"> \
La solution est conçue pour répondre aux exigences légales, comme Qualiopi ou les obligations de suivi des financements CPF. Vous êtes ainsi assuré de\
rester conforme aux normes en vigueur. </div> \
<div style="color: #16274F; font-size: 20px; font-family: DM Sans; font-weight: 700; word-wrap: break-word; margin-bottom: 10px;"> \
3. Liste numérotée </div> <ol style="margin-bottom: 2rem;"> <li> \
<div style="width: 100%; color: #171717; font-size: 16px; font-family: Inter; font-weight: 400; line-height: 24px; word-wrap: break-word; margin-bottom: 5px;"> \
Renforcer la cr&eacute;dibilit&eacute; des &eacute;tablissements de formation. </div> </li> <li> \
<div style="width: 100%; color: #171717; font-size: 16px; font-family: Inter; font-weight: 400; line-height: 24px; word-wrap: break-word;margin-bottom: 5px;"> Assurer une meilleure qualit&eacute; des prestations de formation. </div> </li> <li> <div style="width: 100%; color: #171717; font-size: 16px; font-family: Inter; font-weight: 400; line-height: 24px; word-wrap: break-word;margin-bottom: 5px;"> Rendre les organismes &eacute;ligibles aux aides financi&egrave;res &nbsp; (par exemple, des OPCO ou P&ocirc;le Emploi).</div> </li> </ol> <div style="color: #16274F; font-size: 20px; font-family: DM Sans; font-weight: 700; word-wrap: break-word; margin-bottom: 10px;"> 4. Liste bullet point </div> <ul style="margin-bottom: 2rem;"> <li> <div style="width: 100%; color: #171717; font-size: 16px; font-family: Inter; font-weight: 400; line-height: 24px; word-wrap: break-word;margin-bottom: 5px;"> \
MySy offre un module de gestion administrative permettant de centraliser tous les documents li&eacute;s aux formations, y compris les conventions, convocations, programmes, et certificats de satisfaction.</div> </li> \
<li> <div style="width: 100%; color: #171717; font-size: 16px; font-family: Inter; font-weight: 400; line-height: 24px; word-wrap: break-word;margin-bottom: 5px;"> \
Gr&acirc;ce &agrave; des fonctionnalit&eacute;s telles que l\'import/export de donn&eacute;es en Excel et la gestion automatis&eacute;e des documents, \
les organismes peuvent facilement fournir des preuves de conformit&eacute; lors de l\'audit Qualiopi.</div> </li> </ul> \
<div style="color: #16274F; font-size: 20px; font-family: DM Sans; font-weight: 700; word-wrap: break-word; margin-bottom: 10px;"> \
5. Une solution complète et intégrée (suite):</div> \
<div style="width: 100%; color: #171717; font-size: 16px; font-family: Inter; font-weight: 400; line-height: 24px; word-wrap: break-word; margin-bottom: 2rem;"> \
Mysy Training propose une plateforme tout-en-un qui simplifie la gestion de votre organisme de formation, depuis la \
planification des sessions jusqu\'à la facturation, en passant par le suivi des apprenants. <br /> \
Cette centralisation réduit les tâches administratives et optimise votre efficacité.<br /> </div>'
setfield_texte_avis(init_text);
}
return ( return (
<div style={{ width: "100%", float: "left" }}> <div style={{ width: "100%", float: "left" }}>
@ -1170,7 +1209,7 @@ const RechercheArticles_new_v2 = (props) => {
aria-labelledby="draggable-dialog-title" aria-labelledby="draggable-dialog-title"
> >
<DialogTitle>Votre article </DialogTitle> <DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">Votre article </DialogTitle>
<DialogContent className="DialogContent_width DialogContent_width_session_800px" > <DialogContent className="DialogContent_width DialogContent_width_session_800px" >
@ -1201,7 +1240,7 @@ const RechercheArticles_new_v2 = (props) => {
<div className="div_row_dialog"> <div className="div_row_dialog">
<div className="div_row_dialog" style={{ "textAlign": 'left' }}> <div className="div_row_dialog" style={{ "textAlign": 'left' }}>
Url souhaitée Url souhaitée
</div> </div>
<div className="div_row_dialog" > <div className="div_row_dialog" >
<div className="div_row_dialog" style={{ "textAlign": 'left' }}> <div className="div_row_dialog" style={{ "textAlign": 'left' }}>
@ -1327,7 +1366,7 @@ const RechercheArticles_new_v2 = (props) => {
<br /> <br />
<Tooltip className="tooltip_css" id="tooltip_taille_img" /> <Tooltip className="tooltip_css" id="tooltip_taille_img" />
<a data-tooltip-id="tooltip_taille_img" data-tooltip-html=" <i> longueur entre 200px et 1000px et largeur entre 200px et 1000px, au format PNG ou JPG <br /> <a data-tooltip-id="tooltip_taille_img" data-tooltip-html=" <i> longueur entre 200px et 1000px et largeur entre 200px et 1000px, au format PNG ou JPG <br />
Le nom du fichier ne contient que des caractères alphanumériques, sans espaces </i>"> Le nom du fichier ne contient que des caractères alphanumériques, sans espaces </i>">
<Button variant="outlined" onClick={changeHandler2_logo} className="detail_class_submenu" style={{ <Button variant="outlined" onClick={changeHandler2_logo} className="detail_class_submenu" style={{
"background": "#c8cfd5", "background": "#c8cfd5",
"minWidth": "15rem", "color": "black", "width": "auto" "minWidth": "15rem", "color": "black", "width": "auto"
@ -1377,8 +1416,24 @@ const RechercheArticles_new_v2 = (props) => {
</div> </div>
<div className="div_row_dialog"> <div className="div_row_dialog">
<div className="div_row_dialog" style={{ "textAlign": 'left' }}> <div className="div_row_dialog" style={{ with: '100%', float: 'left' }}>
<b> Texte Article </b> <div style={{ "textAlign": 'left', with: '65%', float: 'left' }}>
<b> Texte Article </b>
</div>
<div style={{ "textAlign": 'right', with: '30%', paddingRight: '15px', cursor: 'pointer', float: 'right' }}
onClick={(event) => {
if (field_texte_avis && String(field_texte_avis).length > 0) {
if (window.confirm("Vos modifications seront perdues, Confirmer-vous la réinitialisation du text ?")) {
init_with_modele();
}
} else {
init_with_modele();
}
}}>
Init <FcInternal style={{ fontSize: '14px' }} />
</div>
</div> </div>
<div className="div_row_dialog" > <div className="div_row_dialog" >
@ -1561,16 +1616,16 @@ const RechercheArticles_new_v2 = (props) => {
<div className="liste_articles"> <div className="liste_articles">
{/*result && myApiResponse === "True" && <div className="okUpdateData"> {/*result && myApiResponse === "True" && <div className="okUpdateData">
<Pagination <Pagination
className="pagination-bar" className="pagination-bar"
currentPage={currentPage2} currentPage={currentPage2}
totalCount={result.length} totalCount={result.length}
pageSize={PageSize} pageSize={PageSize}
onPageChange={page => setCurrentPage2(page)} onPageChange={page => setCurrentPage2(page)}
/> />
</div>*/} </div>*/}
{String(publish_status) === "all" && get_all_articles_avis_result && get_all_articles_avis_result.length > 0 && currentTableData2 && get_all_articles_avis_result.map((formation) => ( {String(publish_status) === "all" && get_all_articles_avis_result && get_all_articles_avis_result.length > 0 && currentTableData2 && get_all_articles_avis_result.map((formation) => (
<div className="block_article"> <div className="block_article">
@ -1607,16 +1662,16 @@ const RechercheArticles_new_v2 = (props) => {
{/*result && <div> {/*result && <div>
<Pagination <Pagination
className="pagination-bar" className="pagination-bar"
currentPage={currentPage2} currentPage={currentPage2}
totalCount={result.length} totalCount={result.length}
pageSize={PageSize} pageSize={PageSize}
onPageChange={page => setCurrentPage2(page)} onPageChange={page => setCurrentPage2(page)}
/> />
</div> </div>
*/} */}
</div> </div>
</div> </div>

View File

@ -480,7 +480,7 @@ function SignIn() {
<meta name="description" content="utisateur formation connexion" /> <meta name="description" content="utisateur formation connexion" />
<meta name="robots" content="index,follow" /> <meta name="robots" content="index,follow" />
<meta name="title" content="Connexion MySy Training Technology" /> <meta name="title" content="Connexion MySy Training Technology" />
<link rel="canonical" href={`${process.env.REACT_APP_BASE_URL}` + "/mysy-training-login/0/0"} /> <link rel="canonical" href={window.location.href}/>
</Helmet> </Helmet>
<Header /> <Header />

View File

@ -48,6 +48,7 @@ import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css'; import 'reactjs-popup/dist/index.css';
import { CiTrash } from "react-icons/ci"; import { CiTrash } from "react-icons/ci";
const useStyles = makeStyles((theme) => ({ const useStyles = makeStyles((theme) => ({
dialog: { dialog: {
@ -844,14 +845,20 @@ function UpdateParnterInfo(props) {
document.getElementsByName("iscertifvoltaire")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("iscertifvoltaire")[0].style.backgroundColor = "#ECEFF1";
} }
alert(" La mise à jour a été faite "); // alert(" La mise à jour a été faite ");
setdisplay_alert_mysy("1");
setalert_message(" La mise à jour a été faite ");
setalert_type("success");
} else if (String(result['status']) === String("Err_Connexion")) { } else if (String(result['status']) === String("Err_Connexion")) {
alert('Erreur: ' + result['message']); alert('Erreur: ' + result['message']);
history.push("/Connexion"); history.push("/Connexion");
} else { } else {
alert(" Erreur : " + result['message']); // alert(" Erreur : " + result['message']);
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("error");
} }
}) })
@ -2618,7 +2625,9 @@ function UpdateParnterInfo(props) {
setAdd_Update_Catalog_Pub_Banniere_api("true"); setAdd_Update_Catalog_Pub_Banniere_api("true");
setAdd_Update_Catalog_Pub_Banniere_result(res.data.message); setAdd_Update_Catalog_Pub_Banniere_result(res.data.message);
setimg_bg_file(""); setimg_bg_file("");
Get_Partner_Catalog_Pub_Config(); Get_Partner_Catalog_Pub_Config();
// alert(res.data.message); // alert(res.data.message);
setdisplay_alert_mysy("1"); setdisplay_alert_mysy("1");
@ -4747,7 +4756,7 @@ function UpdateParnterInfo(props) {
{Partner_Catalog_Pub_banniere && String(Partner_Catalog_Pub_banniere).length > 20 && <div className="div_row" style={{ "border": "None" }}> {Partner_Catalog_Pub_banniere && String(Partner_Catalog_Pub_banniere).length > 20 && <div className="div_row" style={{ "border": "None" }}>
Bannière actuelle : <br /> Bannière actuelle : <br />
<img src={Partner_Catalog_Pub_banniere} alt={""} className="img_bg_file_css" /> <img src={Partner_Catalog_Pub_banniere} alt={""} className="img_bg_file_css" /> zzzz
<br /> <br />
<br /> <br />
<Button variant="contained" className="btn_enreg" onClick={Delete_Catalog_Pub_Banniere_Img}>Supprimer Bannière <Button variant="contained" className="btn_enreg" onClick={Delete_Catalog_Pub_Banniere_Img}>Supprimer Bannière
@ -4843,7 +4852,7 @@ function UpdateParnterInfo(props) {
</Button> </Button>
</div>} </div>}
<div className="div_row"> Import du logo <br /> <div className="div_row"> <br />
<div className="div_row" style={{ "border": "None" }}> <div className="div_row" style={{ "border": "None" }}>
&nbsp; &nbsp;
</div> </div>
@ -5021,7 +5030,7 @@ function UpdateParnterInfo(props) {
</Button> </Button>
</div>} </div>}
<div className="div_row"> Import du logo <br /> <div className="div_row"> <br />
<div className="div_row" style={{ "border": "None" }}> <div className="div_row" style={{ "border": "None" }}>
&nbsp; &nbsp;
</div> </div>

View File

@ -30,17 +30,17 @@ const SideBar = () => {
function logout_confirmation() { function logout_confirmation() {
// si c'est une connexion partner qui est active // si c'est une connexion partner qui est active
if (typeof (stored_partner) != "undefined") { if (typeof (stored_partner) !== "undefined") {
//alert(" c'est une connexion PARTTT qui est active"); //alert(" c'est une connexion PARTTT qui est active");
removeCookie_part('tokenmysypart', { path: '/' }); removeCookie_part('tokenmysypart', { path: '/' });
history.push("/PartnerLogin"); history.push("/Connexion");
} }
// si c'est une connexion user qui est active // si c'est une connexion user qui est active
if (typeof (stored_user) != "undefined") { if (typeof (stored_user) !== "undefined") {
//alert(" c'est une connexion USERR qui est active"); //alert(" c'est une connexion USERR qui est active");
removeCookie_part('tokenmysych', { path: '/' }); removeCookie_part('tokenmysych', { path: '/' });
history.push("/mysy-training-login/0/0"); history.push("/intranet");
} }
} }
@ -104,7 +104,28 @@ const SideBar = () => {
} }
useEffect(() => { useEffect(() => {
whosisconnected(); var local_user_connect = 0;
var local_part_connect = 0;
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
setuserconnected("0");
local_user_connect = 0;
} else {
setuserconnected("1");
setsomeoneconnected("1");
local_user_connect = 1;
//alert(" user connected OK");
}
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
setpartnerconnected("0");
local_part_connect = 0;
} else {
setpartnerconnected("1");
setsomeoneconnected("1");
local_part_connect = 1;
//alert(" partner connected OK");
}
}, []); }, []);
return ( return (
@ -159,7 +180,7 @@ const SideBar = () => {
{typeof (stored_partner) != "undefined" && {typeof (stored_partner) !== "undefined" &&
/* Connexion partner active */ /* Connexion partner active */
<Button className='bton_annule' onClick={logout} style={{ <Button className='bton_annule' onClick={logout} style={{
color: "red", opacity: '100%', borderRadius: '5rem', fontSize: "12px", width: "100%", background: "black", color: "red", opacity: '100%', borderRadius: '5rem', fontSize: "12px", width: "100%", background: "black",

View File

@ -2795,7 +2795,7 @@
border-radius: 5px; border-radius: 5px;
} }
.kanban_item_css{ .kanban_item_css{
padding: 5px ; padding: 5px ;
@ -2816,6 +2816,8 @@
font-size: 14px; font-size: 14px;
border: solid 1px; border: solid 1px;
margin-bottom: 5px; margin-bottom: 5px;
border: 1px solid #ecf1fc;
border-bottom: 1px solid;
} }

View File

@ -178,6 +178,7 @@
font-size: small; font-size: small;
letter-spacing: 0.1rem; letter-spacing: 0.1rem;
font-weight: normal; font-weight: normal;
height: 2rem;
} }
.detail_class_submenu:hover:active, .detail_class_submenu:hover:active,
@ -351,6 +352,7 @@
font-size: small; font-size: small;
letter-spacing: 0.1rem; letter-spacing: 0.1rem;
font-weight: normal; font-weight: normal;
height: 2rem;
} }
.detail_class_submenu:hover:active, .detail_class_submenu:hover:active,
@ -523,6 +525,7 @@
font-size: small; font-size: small;
letter-spacing: 0.1rem; letter-spacing: 0.1rem;
font-weight: normal; font-weight: normal;
height: 2rem;
} }
.detail_class_submenu:hover:active, .detail_class_submenu:hover:active,
@ -690,6 +693,7 @@
font-size: small; font-size: small;
letter-spacing: 0.1rem; letter-spacing: 0.1rem;
font-weight: normal; font-weight: normal;
height: 2rem;
} }
.detail_class_submenu:hover:active, .detail_class_submenu:hover:active,

View File

@ -3103,6 +3103,7 @@
letter-spacing: -1px; letter-spacing: -1px;
color: #20BFA9; color: #20BFA9;
} }
} }
// end media // end media

View File

@ -2366,189 +2366,193 @@
text-align: left; text-align: left;
font-weight: 700; font-weight: 700;
} }
/*** Pour le modele 2 - MySy_Theme2 **/
.bloc_milieu_model_2 { /*** Pour le modele 2 - MySy_Theme2 **/
min-height: 5rem;
width: 90%; .bloc_milieu_model_2 {
margin-left: 5%; min-height: 5rem;
float: left; width: 90%;
position: absolute; margin-left: 5%;
top: 10rem; float: left;
} position: absolute;
top: 10rem;
}
.bloc_milieu_text_model_2 { .bloc_milieu_text_model_2 {
width: 100%; width: 100%;
float: left; float: left;
text-align: center; text-align: center;
} }
.title1_nom_model_2 { .title1_nom_model_2 {
width: 90%; width: 90%;
text-align: center; text-align: center;
height: 150px; height: 150px;
font-family: 'Albert Sans'; font-family: 'Albert Sans';
font-style: normal; font-style: normal;
font-weight: 700; font-weight: 700;
font-size: 40px; font-size: 40px;
line-height: 54px; line-height: 54px;
/* or 107% */ /* or 107% */
letter-spacing: 1px; letter-spacing: 1px;
/* Deep Blue */ /* Deep Blue */
color: #0A043C; color: #0A043C;
/* Inside auto layout */ /* Inside auto layout */
flex: none; flex: none;
order: 0; order: 0;
flex-grow: 0; flex-grow: 0;
height: 120px; height: 120px;
} }
.title2_model_2 { .title2_model_2 {}
}
.bloc_img_milieu_gauche { .bloc_img_milieu_gauche {
display: none; display: none;
} }
.Partner_Catalog_Background_Header_model_2 {
// position: absolute;
width: 100%;
height: 380px;
left: 0px;
top: 0px;
}
.bloc_logo_indic_model_2 {
min-height: 5rem;
width: 90%;
margin-left: 5%;
float: left;
position: absolute;
top: 1rem;
}
.bloc_logo_indic_logo_model_2 {
width: 60%;
float: left;
text-align: left;
}
.bloc_logo_indic_contact_model_2 { .Partner_Catalog_Background_Header_model_2 {
width: 18%; // position: absolute;
float: right; width: 100%;
text-align: right; height: 380px;
} left: 0px;
top: 0px;
}
.bloc_logo_indic_model_2 {
min-height: 5rem;
width: 90%;
margin-left: 5%;
float: left;
position: absolute;
top: 1rem;
}
.bloc_logo_indic_logo_model_2 {
width: 60%;
float: left;
text-align: left;
}
.bloc_logo_indic_indic_model_2 { .bloc_logo_indic_contact_model_2 {
width: 18%; width: 18%;
float: left; float: right;
} text-align: right;
}
.bloc_logo_indic_contact_text_model_2 {
text-align: left;
font-weight: 700;
}
.bloc_logo_indic_indic_text_model_2 { .bloc_logo_indic_indic_model_2 {
text-align: left; width: 18%;
font-weight: 700; float: left;
} }
.bloc_logo_indic_contact_text_model_2 {
.bloc_milieu_text_model_2_gauche{ text-align: left;
width: 19%; font-weight: 700;
float: left; }
}
.bloc_milieu_text_model_2_centre{
width: 60%;
float: left;
}
.bloc_milieu_text_model_2_droite{
width: 20%;
float: right;
}
.title1_text1_model_2 {
}
.bloc_connexion_model_2 {
width: 100%;
float: left;
min-height: 60vh;
margin-top: 3rem;
}
.title1_text1 {
width: 100%;
text-align: left;
// height: 192px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 500;
font-size: 22px !important;
line-height: normal;
/* or 107% */
letter-spacing: 1px;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */ .bloc_logo_indic_indic_text_model_2 {
text-align: left;
flex: none; font-weight: 700;
order: 0; }
flex-grow: 0;
}
.bloc_milieu_text_model_2_gauche {
.title1_nom { width: 19%;
width: 100%; float: left;
text-align: left;
//height: 192px;
font-family: 'Albert Sans'; }
font-style: normal;
font-weight: 700;
font-size: 35px;
line-height: 30px;
/* or 107% */
letter-spacing: 1px; .bloc_milieu_text_model_2_centre {
width: 60%;
float: left;
}
/* Deep Blue */ .bloc_milieu_text_model_2_droite {
width: 20%;
float: right;
}
color: #0A043C; .title1_text1_model_2 {}
.bloc_connexion_model_2 {
width: 100%;
float: left;
min-height: 60vh;
margin-top: 3rem;
}
.sous_filter_txt_grp_filtre {
width: 100%;
float: left;
}
.title1_text1 {
width: 100%;
text-align: left;
// height: 192px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 500;
font-size: 22px !important;
line-height: normal;
/* or 107% */
letter-spacing: 1px;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */ /* Inside auto layout */
flex: none; flex: none;
order: 0; order: 0;
flex-grow: 0; flex-grow: 0;
} }
.title1_nom {
width: 100%;
text-align: left;
//height: 192px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 35px;
line-height: 30px;
/* or 107% */
letter-spacing: 1px;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 0;
flex-grow: 0;
}
} }
@ -3703,7 +3707,7 @@
} }
.rectangle_8 { .rectangle_8 {
display: none; display: none;
} }
.content_search_bar { .content_search_bar {
@ -3798,7 +3802,7 @@
flex: none; flex: none;
order: 0; order: 0;
flex-grow: 0; flex-grow: 0;
height: 100px; height: 100px;
} }
.title1_text1 { .title1_text1 {
@ -3872,8 +3876,8 @@
flex: none; flex: none;
order: 1; order: 1;
flex-grow: 0; flex-grow: 0;
position: absolute; // position: absolute;
top:400px // top:400px
} }
.search_bar { .search_bar {
@ -5606,7 +5610,7 @@
width: auto; width: auto;
} }
.bloc_logo_indic { .bloc_logo_indic {
min-height: 5rem; min-height: 5rem;
width: 90%; width: 90%;
@ -5702,133 +5706,137 @@
text-align: left; text-align: left;
font-weight: 700; font-weight: 700;
} }
/*** Pour le modele 2 - MySy_Theme2 **/
.bloc_milieu_model_2 { /*** Pour le modele 2 - MySy_Theme2 **/
min-height: 5rem;
width: 90%; .bloc_milieu_model_2 {
margin-left: 5%; min-height: 5rem;
float: left; width: 90%;
position: absolute; margin-left: 5%;
top: 10rem; float: left;
} position: absolute;
top: 10rem;
}
.bloc_milieu_text_model_2 { .bloc_milieu_text_model_2 {
width: 100%; width: 100%;
float: left; float: left;
text-align: center; text-align: center;
} }
.title1_nom_model_2 { .title1_nom_model_2 {
width: 100%; width: 100%;
text-align: center; text-align: center;
height: 150px; height: 150px;
font-family: 'Albert Sans'; font-family: 'Albert Sans';
font-style: normal; font-style: normal;
font-weight: 700; font-weight: 700;
font-size: 40px; font-size: 40px;
line-height: 54px; line-height: 54px;
/* or 107% */ /* or 107% */
letter-spacing: 1px; letter-spacing: 1px;
/* Deep Blue */ /* Deep Blue */
color: #0A043C; color: #0A043C;
/* Inside auto layout */ /* Inside auto layout */
flex: none; flex: none;
order: 0; order: 0;
flex-grow: 0; flex-grow: 0;
} }
.title2_model_2 { .title2_model_2 {}
}
.bloc_img_milieu_gauche { .bloc_img_milieu_gauche {
display: none; display: none;
} }
.Partner_Catalog_Background_Header_model_2 { .Partner_Catalog_Background_Header_model_2 {
// position: absolute; // position: absolute;
width: 100%; width: 100%;
height: 380px; height: 380px;
left: 0px; left: 0px;
top: 0px; top: 0px;
} }
.bloc_logo_indic_model_2 { .bloc_logo_indic_model_2 {
min-height: 5rem; min-height: 5rem;
width: 90%; width: 90%;
margin-left: 5%; margin-left: 5%;
float: left; float: left;
position: absolute; position: absolute;
top: 1rem; top: 1rem;
} }
.bloc_logo_indic_logo_model_2 { .bloc_logo_indic_logo_model_2 {
width: 60%; width: 60%;
float: left; float: left;
text-align: left; text-align: left;
} }
.bloc_logo_indic_contact_model_2 { .bloc_logo_indic_contact_model_2 {
width: 18%; width: 18%;
float: right; float: right;
text-align: right; text-align: right;
} }
.bloc_logo_indic_indic_model_2 { .bloc_logo_indic_indic_model_2 {
width: 18%; width: 18%;
float: left; float: left;
} }
.bloc_logo_indic_contact_text_model_2 { .bloc_logo_indic_contact_text_model_2 {
text-align: left; text-align: left;
font-weight: 700; font-weight: 700;
} }
.bloc_logo_indic_indic_text_model_2 { .bloc_logo_indic_indic_text_model_2 {
text-align: left; text-align: left;
font-weight: 700; font-weight: 700;
} }
.bloc_milieu_text_model_2_gauche{
width: 19%;
float: left;
} .bloc_milieu_text_model_2_gauche {
width: 19%;
float: left;
.bloc_milieu_text_model_2_centre{ }
width: 60%;
float: left;
}
.bloc_milieu_text_model_2_droite{ .bloc_milieu_text_model_2_centre {
width: 20%; width: 60%;
float: right; float: left;
} }
.title1_text1_model_2 {
} .bloc_milieu_text_model_2_droite {
width: 20%;
float: right;
}
.bloc_connexion_model_2 { .title1_text1_model_2 {}
width: 100%;
float: left; .bloc_connexion_model_2 {
min-height: 60vh; width: 100%;
margin-top: 3rem; float: left;
} min-height: 60vh;
margin-top: 3rem;
}
.sous_filter_txt_grp_filtre {
width: 50%;
float: left;
}
} }
@ -7146,8 +7154,8 @@
flex: none; flex: none;
order: 1; order: 1;
flex-grow: 0; flex-grow: 0;
position: absolute; // position: absolute;
top:400px // top:400px
} }
.search_bar { .search_bar {
@ -8940,7 +8948,7 @@
min-height: 40vh; min-height: 40vh;
margin-top: 30rem; margin-top: 30rem;
} }
.bloc_milieu_text { .bloc_milieu_text {
width: 60%; width: 60%;
float: left; float: left;
@ -9105,6 +9113,13 @@
margin-top: 3rem; margin-top: 3rem;
} }
.sous_filter_txt_grp_filtre {
width: 33%;
float: left;
}
} }
@media only screen and (min-width: 1200px) and (max-width: 1919px) { @media only screen and (min-width: 1200px) and (max-width: 1919px) {
@ -10423,8 +10438,8 @@
flex: none; flex: none;
order: 1; order: 1;
flex-grow: 0; flex-grow: 0;
position: absolute; // position: absolute;
top: 450px; // top: 450px;
} }
.search_bar { .search_bar {
@ -12406,6 +12421,13 @@
min-height: 50vh; min-height: 50vh;
padding-top: 3rem; padding-top: 3rem;
} }
.sous_filter_txt_grp_filtre {
width: 33%;
float: left;
}
} }
@media only screen and (min-width: 1920px) { @media only screen and (min-width: 1920px) {
@ -13732,8 +13754,8 @@
flex: none; flex: none;
order: 1; order: 1;
flex-grow: 0; flex-grow: 0;
position: absolute; // position: absolute;
top: 450px; // top: 450px;
} }
.search_bar { .search_bar {
@ -15743,6 +15765,11 @@
} }
.sous_filter_txt_grp_filtre {
width: 33%;
float: left;
}
} }
// end media // end media

View File

@ -310,7 +310,7 @@
.sub_dib_mobile { .sub_dib_mobile {
//background: white; //background: white;
} }
.div_mobile { .div_mobile {
position: relative; position: relative;
top: 5rem; top: 5rem;
@ -530,6 +530,27 @@
.not_display_mobile { .not_display_mobile {
display: none; display: none;
} }
.bck_menu_seul_selected {
padding-left: 20px;
padding-top: 5px;
padding-bottom: 5px;
cursor: pointer;
font-weight: 700;
font-size: 14px;
text-align: left;
}
.bck_menu_seul {
padding: 20px;
padding-top: 5px;
padding-bottom: 5px;
cursor: pointer;
font-weight: 400;
font-size: 14px !important;
color: white !important;
text-align: left;
}
} }
@media only screen and (min-width: 601px) and (max-width: 991px) { @media only screen and (min-width: 601px) and (max-width: 991px) {
@ -754,7 +775,7 @@
} }
.div_mobile { .div_mobile {
// position: absolute; // position: absolute;
top: 8.5rem; top: 8.5rem;
z-index: 1; z-index: 1;
width: 100%; width: 100%;
@ -1260,7 +1281,7 @@
} }
.div_mobile { .div_mobile {
// position: absolute; // position: absolute;
top: 8.5rem; top: 8.5rem;
z-index: 1; z-index: 1;
width: 100%; width: 100%;
@ -1741,7 +1762,7 @@
} }
.div_mobile { .div_mobile {
// position: absolute; // position: absolute;
top: 8.5rem; top: 8.5rem;
z-index: 1; z-index: 1;
width: 100%; width: 100%;
@ -1904,7 +1925,7 @@
padding-top: 5px; padding-top: 5px;
padding-bottom: 5px; padding-bottom: 5px;
} }
.firstConnexion_bton { .firstConnexion_bton {
background: #b0ce8a; background: #b0ce8a;
padding-left: 15px; padding-left: 15px;
@ -2036,10 +2057,10 @@
} }
// end media // end media
.bck_menu_seul_selected{ .bck_menu_seul_selected {
padding-left: 20px; padding-left: 20px;
padding-top: 5px; padding-top: 5px;
padding-bottom: 5px; padding-bottom: 5px;
@ -2048,7 +2069,7 @@
font-size: 14px; font-size: 14px;
} }
.bck_menu_seul{ .bck_menu_seul {
padding: 20px; padding: 20px;
padding-top: 5px; padding-top: 5px;
padding-bottom: 5px; padding-bottom: 5px;
@ -2058,17 +2079,18 @@
color: white !important; color: white !important;
} }
.ps-menu-button{ .ps-menu-button {
height: 45px !important; height: 45px !important;
} }
.css-18unl23{ .css-18unl23 {
overflow: hidden !important; overflow: hidden !important;
} }
.css-jn69v9, .css-honxw6{ .css-jn69v9,
.css-honxw6 {
width: 10px !important; width: 10px !important;
height: 10px !important; height: 10px !important;
border-width: 0.3rem !important; border-width: 0.3rem !important;
@ -2089,7 +2111,7 @@
background-color: #104277 !important; background-color: #104277 !important;
overflow: hidden !important; overflow: hidden !important;
box-sizing: unset !important; box-sizing: unset !important;
} }
.my_chart, .my_chart,
@ -2098,7 +2120,7 @@
overflow: hidden !important; overflow: hidden !important;
box-sizing: unset !important; box-sizing: unset !important;
font-size: 14px !important; font-size: 14px !important;
} }
ul { ul {
@ -2131,7 +2153,7 @@
.ps-menu-button { .ps-menu-button {
color: white; color: white;
// font-weight: bold; // font-weight: bold;
text-transform: uppercase; text-transform: uppercase;
background-color: #104277 !important; background-color: #104277 !important;
box-sizing: unset !important; box-sizing: unset !important;

View File

@ -234,7 +234,7 @@
} }
.detail_activite:hover { .detail_activite:hover {
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%); // box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
} }
.detail_activite { .detail_activite {
@ -249,7 +249,7 @@
text-align: left; text-align: left;
min-width: 90% !important; min-width: 90% !important;
border-top-right-radius: 10px !important; border-top-right-radius: 10px !important;
height: 8rem !important; height: 10rem !important;
font-size: small; font-size: small;
} }
@ -280,12 +280,13 @@
float: left; float: left;
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
} }
.mode_affichage { .mode_affichage {
width: 25%; width: 25%;
float: right; float: right;
cursor: pointer; cursor: pointer;
} }
} }
@ -505,7 +506,7 @@
} }
.detail_activite:hover { .detail_activite:hover {
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%); // box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
} }
.detail_activite { .detail_activite {
@ -559,7 +560,7 @@
float: right; float: right;
cursor: pointer; cursor: pointer;
} }
} }
@ -796,7 +797,7 @@
} }
.detail_activite:hover { .detail_activite:hover {
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%); // box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
} }
.scroll_mysy { .scroll_mysy {
@ -834,7 +835,7 @@
float: right; float: right;
cursor: pointer; cursor: pointer;
} }
} }
@ -1074,24 +1075,24 @@
.detail_activite { .detail_activite {
display: inline-block; display: inline-block;
color: black; color: #4B5162;
border: none; border: none;
background: white; // background: white;
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%); //box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
cursor: pointer; cursor: pointer;
vertical-align: middle; vertical-align: middle;
padding: 5px; padding: 5px;
text-align: left; text-align: left;
width: 96%; // width: 96%;
margin-left: 2%; margin-left: 2%;
border-radius: 10px !important; // border-radius: 10px !important;
height: 9rem !important; height: 9rem !important;
font-size: small; font-size: small;
padding-bottom: 10px; padding-bottom: 10px;
} }
.detail_activite:hover { .detail_activite:hover {
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%); // box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
} }
.scroll_mysy { .scroll_mysy {
@ -1127,15 +1128,56 @@
padding-top: 0px !important; padding-top: 0px !important;
padding-bottom: 0px !important; padding-bottom: 0px !important;
} }
.mode_affichage { .mode_affichage {
width: 8%; width: 8%;
float: right; float: right;
cursor: pointer; cursor: pointer;
} }
} }
// end media // end media
.mode_affichage_selected {
text-underline-offset: 8px;
text-decoration: green wavy underline;
text-decoration-color: #F8C471;
text-decoration-style: solid;
text-decoration-thickness: 5px;
background: #F4F6F6;
box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.1);
border-radius: 5px;
}
.kanban_item_css {
padding: 5px;
margin-bottom: 10px;
font-size: 0.8em;
cursor: move;
background: #f4f6f6;
border: 0px solid;
width: 94%;
margin-left: 3%;
min-height: 5rem;
border-left-width: 10px;
}
.kanban_header_css {
text-align: center;
padding: 5px;
font-size: 14px;
margin-bottom: 5px;
border: 1px solid #ecf1fc;
border-bottom: 1px solid;
border-top: 1px solid;
background: #ecf1fc;
}
.css-1v4ccyo { .css-1v4ccyo {
height: 3.5rem !important; height: 3.5rem !important;
font-size: small; font-size: small;

View File

@ -10329,6 +10329,7 @@
flex: none; flex: none;
order: 1; order: 1;
flex-grow: 0; flex-grow: 0;
} }
.search_bar { .search_bar {

View File

@ -139,4 +139,5 @@
@import "./components/modules_mes_documents"; @import "./components/modules_mes_documents";
@import "./components/intranet_mes_stagiaires"; @import "./components/intranet_mes_stagiaires";
@import "./components/mon_intranet_public"; @import "./components/mon_intranet_public";
@import "./components/module_connexion_intranet_client"; @import "./components/module_connexion_intranet_client";
@import "./components/module_alert_confirmation";