Compare commits
10 Commits
693762bbf4
...
9dd2997b28
Author | SHA1 | Date |
---|---|---|
|
9dd2997b28 | |
|
cf2df418b5 | |
|
3be3c2db4b | |
|
b0b2108cae | |
|
6f197dbdbf | |
|
6283e86a8f | |
|
f20f173e9d | |
|
23845e7267 | |
|
844ca354db | |
|
fb26d5a22f |
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
After Width: | Height: | Size: 37 KiB |
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
Binary file not shown.
After Width: | Height: | Size: 47 KiB |
|
@ -8,6 +8,36 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="theme-color" content="#000000" />
|
||||
|
||||
<!--
|
||||
<script type='text/javascript'>
|
||||
var link = !!document.querySelector("link[rel='canonical']") ? document.querySelector("link[rel='canonical']") : document.createElement('link');
|
||||
link.setAttribute('rel', 'canonical');
|
||||
link.setAttribute('href', location.protocol + '//' + location.host + location.pathname);
|
||||
document.head.appendChild(link);
|
||||
</script>
|
||||
|
||||
<script type='text/javascript'>
|
||||
|
||||
|
||||
if (String(location.pathname) === "/") {
|
||||
var link1 = document.createElement('meta');
|
||||
link1.setAttribute('name', 'description');
|
||||
link1.setAttribute('content', "Éditeur Français de logiciels de gestion pour organismes de formation - Gestion administrative, CRM, E-Learning, Marketplace");
|
||||
document.head.appendChild(link1);
|
||||
|
||||
var link2 = document.createElement('meta');
|
||||
link2.setAttribute('name', 'robots');
|
||||
link2.setAttribute('content', "index,follow");
|
||||
document.head.appendChild(link2);
|
||||
|
||||
var link3 = document.createElement('meta');
|
||||
link3.setAttribute('name', 'title');
|
||||
link3.setAttribute('content', "A propose MySy Training Technology");
|
||||
document.head.appendChild(link3);
|
||||
|
||||
}
|
||||
</script>
|
||||
-->
|
||||
|
||||
<link rel="apple-touch-icon" href="%PUBLIC_URL%/MYSY-LOGO-BLUE_192.png" />
|
||||
<!--
|
||||
|
@ -25,7 +55,6 @@
|
|||
Learn how to configure a non-root public URL by running `npm run build`.
|
||||
-->
|
||||
|
||||
<link rel="canonical" href="https://www.mysy-training.com/" />
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-37423053-2"></script>
|
||||
|
||||
|
|
|
@ -7,28 +7,35 @@
|
|||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/</loc>
|
||||
<lastmod>2024-10-30T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://mysy-training.com/</loc>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/fonctionnalites</loc>
|
||||
<lastmod>2024-11-08T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/qui-sommes-nous</loc>
|
||||
<lastmod>2024-11-08T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/optimisation-des-processus-de-gestion-pour-les-organismes-de-formation-le-logiciel-mysy-training-technology</loc>
|
||||
<lastmod>2024-10-30T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
@ -36,7 +43,7 @@
|
|||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/signature-electronique-et-organismes-de-formation</loc>
|
||||
<lastmod>2024-11-08T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
@ -45,7 +52,7 @@
|
|||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/mysy-training-technology-editeur-de-logiciel-formation-pour-optimiser-la-gestion-des-etablissements-educatifs</loc>
|
||||
<lastmod>2024-11-01T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
@ -53,7 +60,7 @@
|
|||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/pourquoi-la-certification-qualiopi-est-incontournable-pour-les-formateurs-independants-et-les-organismes-de-formation</loc>
|
||||
<lastmod>2024-11-03T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
@ -62,21 +69,21 @@
|
|||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/realiser-son-bilan-pedagogique-et-financier-bpf-avec-mysy-training-technology
|
||||
</loc>
|
||||
<lastmod>2024-11-05T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/optimisation-des-processus-de-formation-avec-le-logiciel-de-gestion-pour-organismes-de-formation-mysy-training-technology-et-la-certification-qualiopi</loc>
|
||||
<lastmod>2024-11-21T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/qualite-la-norme-itl-dans-entreprise-532</loc>
|
||||
<lastmod>2024-10-30T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
@ -84,14 +91,14 @@
|
|||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/logiciel-de-gestion-pour-organisme-de-formation-pourquoi-est-ce-essentiel-pour-votre-succes</loc>
|
||||
<lastmod>2024-11-13T09:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/logiciel-gestion-organismes-formation-guide-complet</loc>
|
||||
<lastmod>2024-12-31T12:15:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
@ -99,7 +106,7 @@
|
|||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Recherche-Article-formation</loc>
|
||||
<lastmod>2024-10-30T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
@ -107,21 +114,21 @@
|
|||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/comment-choisir-un-logiciel-de-gestion-adapte-a-votre-centre-de-formation---261</loc>
|
||||
<lastmod>2024-12-05T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Connexion</loc>
|
||||
<lastmod>2024-10-30T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/ContactezNous</loc>
|
||||
<lastmod>2024-11-08T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
@ -129,42 +136,42 @@
|
|||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/tarifs_produits_services</loc>
|
||||
<lastmod>2024-10-30T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/comment-rendre-vos-formations-eligibles-au-cpf-grace-a-mysy-training--23f</loc>
|
||||
<lastmod>2024-12-12T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/optimisation-qualiopi---simplifiez-votre-audit-avec-un-logiciel-adapte-aux-centres-de-formation-910</loc>
|
||||
<lastmod>2024-12-15T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/comment-utiliser-un-logiciel-de-gestion-de-centre-de-formation-pour-votre-accreditation-qualiopi-7a6</loc>
|
||||
<lastmod>2024-12-26T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/pourquoi-choisir-mysy-training-pour-gerer-votre-organisme-de-formation</loc>
|
||||
<lastmod>2025-01-03T11:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/certification-qualiopi-explication-complete</loc>
|
||||
<lastmod>2025-01-13T15:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
@ -172,14 +179,14 @@
|
|||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/mysy-training-votre-partenaire-pour-la-certification-qualiopi</loc>
|
||||
<lastmod>2025-01-15T00:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.mysy-training.com/Display-Detail-Article/logiciels-organismes-formation-avantages-mysy-training</loc>
|
||||
<lastmod>2025-02-01T00:35:41+00:00</lastmod>
|
||||
<lastmod>2025-02-16T11:35:41+00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0000</priority>
|
||||
</url>
|
||||
|
|
26
src/App.js
26
src/App.js
|
@ -223,6 +223,17 @@ function App() {
|
|||
<Route path="/signup/" exact component={New_Sign_Up_2025} />
|
||||
<Route path="/tarif/" exact component={New_Tarif_2025} />
|
||||
<Route path="/contact/" exact component={New_Contact_2025} />
|
||||
|
||||
{/*
|
||||
|
||||
09/03/25 : un redirection a été faite dans cloudflaire pour les lignes ci-dessous
|
||||
|
||||
<Route path="/ContactezNous" exact component={New_Contact_2025} />
|
||||
|
||||
*/}
|
||||
|
||||
|
||||
|
||||
<Route path="/display-detail-article/:articleId" exact component={New_Article_Detail_2025} />
|
||||
<Route path="/Display-Detail-Article/:articleId" exact component={New_Article_Detail_2025} />
|
||||
|
||||
|
@ -233,6 +244,15 @@ function App() {
|
|||
<Route path="/fonctionnalites/" exact component={New_Fonctionnalite_2025} />
|
||||
|
||||
<Route path="/apropos/" exact component={New_A_Propos_2025} />
|
||||
{/*
|
||||
|
||||
09/03/25 : un redirection a été faite dans cloudflaire pour les lignes ci-dessous
|
||||
<Route path="/QuiSommesNous" exact component={New_A_Propos_2025} />
|
||||
<Route path="/QuiSommesNous_v3" exact component={New_A_Propos_2025} />
|
||||
<Route path="/qui-sommes-nous" exact component={New_A_Propos_2025} />
|
||||
|
||||
*/}
|
||||
|
||||
<Route path="/" exact component={New_Home_Page_2025} />
|
||||
|
||||
|
||||
|
@ -260,12 +280,6 @@ function App() {
|
|||
<Route path="/mysy-user-account" exact component={Account} />
|
||||
<Route path="/Ajout-Article-formation" exact component={AddArticle} />
|
||||
<Route path="/ResetUserPwd/:token/:accounttype" exact component={ResetUserPwd} />
|
||||
<Route path="/QuiSommesNous" exact component={New_A_Propos_2025} />
|
||||
<Route path="/QuiSommesNous_v3" exact component={New_A_Propos_2025} />
|
||||
<Route path="/qui-sommes-nous" exact component={New_A_Propos_2025} />
|
||||
<Route path="/ContactezNous" exact component={New_Contact_2025} />
|
||||
|
||||
|
||||
|
||||
|
||||
<Route path="/DeleteUserAccount/:token" exact component={DeleteUserAccount} />
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -23,7 +23,6 @@ import 'react-tooltip/dist/react-tooltip.css'
|
|||
import { Tooltip } from 'react-tooltip'
|
||||
import Popup from 'reactjs-popup';
|
||||
import 'reactjs-popup/dist/index.css';
|
||||
import GestionAdministrative from "./GestionAdministrative";
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import Autocomplete from '@mui/material/Autocomplete';
|
||||
import { Fab } from "@material-ui/core";
|
||||
|
@ -1201,6 +1200,7 @@ const AddClassManual = (props) => {
|
|||
setmyApiResponse();
|
||||
Getall_Partner_Type_Evalution_List();
|
||||
Getall_Class_List_Evalution();
|
||||
setfield_contenu_attestation("");
|
||||
|
||||
fillfield();
|
||||
|
||||
|
@ -1248,6 +1248,8 @@ const AddClassManual = (props) => {
|
|||
|
||||
const [selected_class_id, setselected_class_id] = useState("");
|
||||
|
||||
const [field_contenu_attestation, setfield_contenu_attestation] = useState("");
|
||||
|
||||
|
||||
function fillfield(event) {
|
||||
setisupdateclass(true);
|
||||
|
@ -1527,10 +1529,14 @@ const AddClassManual = (props) => {
|
|||
|
||||
//document.getElementsByName("plus_produit")[0].value = "";
|
||||
if (mylocaltraining.plus_produit) {
|
||||
//document.getElementsByName("plus_produit")[0].value = mylocaltraining.plus_produit;
|
||||
setfield_plus_produit(mylocaltraining.plus_produit);
|
||||
}
|
||||
|
||||
|
||||
if (mylocaltraining.contenu_attestation) {
|
||||
setfield_contenu_attestation(mylocaltraining.contenu_attestation);
|
||||
}
|
||||
|
||||
document.getElementsByName("url")[0].value = "";
|
||||
if (mylocaltraining.url) {
|
||||
//document.getElementsByName("url")[0].value = mylocaltraining.url;
|
||||
|
@ -1688,6 +1694,10 @@ const AddClassManual = (props) => {
|
|||
const editorRef_zone_diffusion = useRef(null);
|
||||
const editorRef_date_lieu = useRef(null);
|
||||
|
||||
const editorRef_contenu_attestation = useRef(null);
|
||||
const [editorRef_contenu_attestation_limite, seteditorRef_contenu_attestation_limite] = useState(1000);
|
||||
|
||||
|
||||
const [waiting_before_redirect, setwaiting_before_redirect] = React.useState(true);
|
||||
|
||||
function RecordTraining(event) {
|
||||
|
@ -1698,18 +1708,25 @@ const AddClassManual = (props) => {
|
|||
alert(" Le Champ 'code' est obligatoire")
|
||||
return;
|
||||
}
|
||||
/// zzzz
|
||||
|
||||
|
||||
// console.log(" ### titre = ", p_detail_title);
|
||||
|
||||
var title = p_detail_title;
|
||||
if (String(title).length > title_limite) {
|
||||
alert(" Champ 'Titre', limite depassée !")
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Champ 'Titre', limite depassée !");
|
||||
setalert_type("error");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (title.length < 1) {
|
||||
alert(" Le Champ 'Titre' est obligatoire")
|
||||
// alert(" Le Champ 'Titre' est obligatoire")
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le Champ 'Titre' est obligatoire");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1749,13 +1766,19 @@ const AddClassManual = (props) => {
|
|||
if (editorRef_objectif.current) {
|
||||
objectif = editorRef_objectif.current.getContent();
|
||||
if (parse(objectif.replace(/(<([^>]+)>)/ig, '')).length > editorRef_objectif_limite) {
|
||||
alert(" Champ 'Objectif', limite depassée !")
|
||||
// alert(" Champ 'Objectif', limite depassée !");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Champ 'Objectif', limite depassée !");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (objectif.length < 1) {
|
||||
alert(" Le Champ 'Objectif' est obligatoire")
|
||||
// alert(" Le Champ 'Objectif' est obligatoire");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le Champ 'Objectif' est obligatoire");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1764,7 +1787,10 @@ const AddClassManual = (props) => {
|
|||
programme = editorRef_programme.current.getContent();
|
||||
|
||||
if (parse(programme.replace(/(<([^>]+)>)/ig, '')).length > editorRef_programme_limite) {
|
||||
alert(" Champ 'Programme', limite depassée !")
|
||||
//alert(" Champ 'Programme', limite depassée !");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Champ 'Programme', limite depassée !");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1774,7 +1800,10 @@ const AddClassManual = (props) => {
|
|||
methode_pedago = editorRef_methode_pedago.current.getContent();
|
||||
|
||||
if (parse(methode_pedago.replace(/(<([^>]+)>)/ig, '')).length > editorRef_methode_pedago_limite) {
|
||||
alert(" Champ 'Méthode pédagogique', limite depassée !")
|
||||
// alert(" Champ 'Méthode pédagogique', limite depassée !");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Champ 'Méthode pédagogique', limite depassée !");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1784,7 +1813,10 @@ const AddClassManual = (props) => {
|
|||
handicap = editorRef_handicap.current.getContent();
|
||||
|
||||
if (parse(handicap.replace(/(<([^>]+)>)/ig, '')).length > editorRef_handicap_limite) {
|
||||
alert(" Champ 'Handicape', limite depassée !")
|
||||
// alert(" Champ 'Handicape', limite depassée !");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Champ 'Handicape', limite depassée !");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1794,8 +1826,11 @@ const AddClassManual = (props) => {
|
|||
if (editorRef_suivi_eval.current) {
|
||||
suivi_eval = editorRef_suivi_eval.current.getContent();
|
||||
|
||||
if (parse(suivi_eval.replace(/(<([^>]+)>)/ig, '')).length > seteditorRef_suivi_eval_limite) {
|
||||
alert(" Champ 'Suivi et Evaluation', limite depassée !")
|
||||
if (parse(suivi_eval.replace(/(<([^>]+)>)/ig, '')).length > editorRef_suivi_eval_limite) {
|
||||
// alert(" Champ 'Suivi et Evaluation', limite depassée !");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Champ 'Suivi et Evaluation', limite depassée !");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1811,13 +1846,19 @@ const AddClassManual = (props) => {
|
|||
description = editorRef_description.current.getContent();
|
||||
|
||||
if (parse(description.replace(/(<([^>]+)>)/ig, '')).length > editorRef_description_limite) {
|
||||
alert(" Champ 'Description', limite depassée !")
|
||||
//alert(" Champ 'Description', limite depassée !");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Champ 'Description', limite depassée !");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (description.length < 1) {
|
||||
alert(" Le Champ 'Description' est obligatoire")
|
||||
// alert(" Le Champ 'Description' est obligatoire");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le Champ 'Description' est obligatoire");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1831,6 +1872,19 @@ const AddClassManual = (props) => {
|
|||
plus_produit = editorRef_plus_produit.current.getContent();
|
||||
}
|
||||
|
||||
var contenu_attestation = "";
|
||||
if (editorRef_contenu_attestation.current) {
|
||||
contenu_attestation = editorRef_contenu_attestation.current.getContent();
|
||||
|
||||
if (parse(contenu_attestation.replace(/(<([^>]+)>)/ig, '')).length > editorRef_contenu_attestation_limite) {
|
||||
// alert(" Champ 'Suivi et Evaluation', limite depassée !");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Champ 'Contenu Attestation', limite depassée !");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Verification si il y a plus de 3 mot clés separés par des ";"
|
||||
|
@ -1847,7 +1901,10 @@ const AddClassManual = (props) => {
|
|||
if (words[i] && String(words[i]).length > 2 && String(words[i]).length < 50)
|
||||
traited_list_mot_cle.push(String(words[i]));
|
||||
else if (words[i] && (String(words[i]).length < 2 || String(words[i]).length > 50)) {
|
||||
alert(" Chaque mot clé doit faire entre 2 et 50 caractères. Le mot '" + String(words[i]) + "' est incorrecte");
|
||||
// alert(" Chaque mot clé doit faire entre 2 et 50 caractères. Le mot '" + String(words[i]) + "' est incorrecte");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Chaque mot clé doit faire entre 2 et 50 caractères. Le mot '" + String(words[i]) + "' est incorrecte");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1856,7 +1913,10 @@ const AddClassManual = (props) => {
|
|||
//console.log(" ## traited_list_mot_cle = ", traited_list_mot_cle);
|
||||
|
||||
if (traited_list_mot_cle.length > 3) {
|
||||
alert(" Il a plus de 3 mots clés. le max autorisé est 3");
|
||||
// alert(" Il a plus de 3 mots clés. le max autorisé est 3");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Il a plus de 3 mots clés. le max autorisé est 3");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1912,9 +1972,9 @@ const AddClassManual = (props) => {
|
|||
|
||||
formData.append('description', description);
|
||||
formData.append('formateur_id', p_formateur_id);
|
||||
formData.append('presentiel', presentiel);
|
||||
// formData.append('presentiel', presentiel);
|
||||
formData.append('domaine', domaine);
|
||||
formData.append('distantiel', distentiel);
|
||||
// formData.append('distantiel', distentiel);
|
||||
formData.append('class_level', niveau_ftion);
|
||||
formData.append('price', price);
|
||||
formData.append('duration', duree);
|
||||
|
@ -1947,6 +2007,8 @@ const AddClassManual = (props) => {
|
|||
formData.append('img_banner_detail_class', banniereImg);
|
||||
formData.append('img_url', banniereImg);
|
||||
|
||||
formData.append('contenu_attestation', contenu_attestation);
|
||||
|
||||
|
||||
/*
|
||||
Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
|
||||
|
@ -1959,7 +2021,10 @@ const AddClassManual = (props) => {
|
|||
local_value = local_value.replaceAll(",", ".");
|
||||
|
||||
if (isNaN(local_value)) {
|
||||
alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.")
|
||||
// alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1969,7 +2034,10 @@ const AddClassManual = (props) => {
|
|||
}
|
||||
if (String(spec_field_updated_values_hooks[i].is_mandatory) === "1") {
|
||||
if (String(local_value).trim().length <= 0) {
|
||||
alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.")
|
||||
// alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2348,7 +2416,10 @@ const AddClassManual = (props) => {
|
|||
function alertactivecompte() {
|
||||
//alert(" ispending = ===== " + props.ispending);
|
||||
if (String(props.ispending) === String("1")) {
|
||||
alert(" Vous devez ajouter un mode de Paiement pour acceder à cette fonctionnalité");
|
||||
//alert(" Vous devez ajouter un mode de Paiement pour acceder à cette fonctionnalité");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Vous devez ajouter un mode de Paiement pour acceder à cette fonctionnalité");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -2373,7 +2444,10 @@ const AddClassManual = (props) => {
|
|||
|
||||
//alert("file_size = "+file_size+" file_type = "+file_type+" a = "+a);
|
||||
if (file_size > 1000000) {
|
||||
alert("L'image ne doit pas dépasser un 1 Méga octets");
|
||||
// alert("L'image ne doit pas dépasser un 1 Méga octets");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("L'image ne doit pas dépasser un 1 Méga octets");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
setisimgclassSelected(event.target.files[0]);
|
||||
|
@ -2392,7 +2466,10 @@ const AddClassManual = (props) => {
|
|||
if (document.getElementsByName("external_code")[0].value && document.getElementsByName("external_code")[0].value.length > 3) {
|
||||
class_external_code = document.getElementsByName("external_code")[0].value;
|
||||
} else {
|
||||
alert(" Vous devez saisir le code externe de la formation avant d'enregistrer une image. Le code externe prend au moins 3 caractères");
|
||||
// alert(" Vous devez saisir le code externe de la formation avant d'enregistrer une image. Le code externe prend au moins 3 caractères");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Vous devez saisir le code externe de la formation avant d'enregistrer une image. Le code externe prend au moins 3 caractères");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2456,7 +2533,10 @@ const AddClassManual = (props) => {
|
|||
if (document.getElementsByName("external_code")[0].value && document.getElementsByName("external_code")[0].value.length > 3) {
|
||||
class_external_code = document.getElementsByName("external_code")[0].value;
|
||||
} else {
|
||||
alert(" Vous devez saisir le code externe de la formation avant d'enregistrer une image. Le code externe prend au moins 3 caractères");
|
||||
// alert(" Vous devez saisir le code externe de la formation avant d'enregistrer une image. Le code externe prend au moins 3 caractères");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Vous devez saisir le code externe de la formation avant d'enregistrer une image. Le code externe prend au moins 3 caractères");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2609,6 +2689,7 @@ const AddClassManual = (props) => {
|
|||
setfield_prerequis("");
|
||||
setfield_mots_cle("");
|
||||
setfield_plus_produit("");
|
||||
setfield_contenu_attestation("");
|
||||
setfield_datelieu("");
|
||||
setfield_zone_diffusion("");
|
||||
seteditor_tochange("");
|
||||
|
@ -2730,7 +2811,10 @@ const AddClassManual = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('Not good man :( Get_Partner_Object_Specific_Fields = ', error);
|
||||
setGet_Partner_Object_Specific_Fields_api("false");
|
||||
alert(" Impossible de recuperer la liste des collection et champs personnalisables");
|
||||
//alert(" Impossible de recuperer la liste des collection et champs personnalisables");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible de recuperer la liste des collection et champs personnalisables");
|
||||
setalert_type("error");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -2793,14 +2877,20 @@ const AddClassManual = (props) => {
|
|||
else {
|
||||
setGet_List_Niveau_Formation_api("false");
|
||||
setGet_List_Niveau_Formation_message(data['message']);
|
||||
alert(data['message'])
|
||||
// alert(data['message'])
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(data['message']);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error Get_List_Niveau_Formation :', error);
|
||||
setGet_List_Niveau_Formation_api("false");
|
||||
alert(" Impossible de récupérer la liste des niveaux de formation");
|
||||
// alert(" Impossible de récupérer la liste des niveaux de formation");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible de récupérer la liste des niveaux de formation");
|
||||
setalert_type("error");
|
||||
|
||||
});
|
||||
|
||||
|
@ -2942,8 +3032,11 @@ const AddClassManual = (props) => {
|
|||
|
||||
console.log("file_size 2 = ", file_size, " file_type = ", file_type);
|
||||
if (file_size > 10000000) {
|
||||
alert("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
console.log("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
// alert("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
setalert_type("error");
|
||||
// console.log("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2977,15 +3070,21 @@ const AddClassManual = (props) => {
|
|||
|
||||
|
||||
if (file_type !== "application/pdf") {
|
||||
alert("Le fichier n'est pas de type PDF");
|
||||
// alert("Le fichier n'est pas de type PDF");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le fichier n'est pas de type PDF");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (file_size > 10000000) {
|
||||
alert("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
console.log("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
// alert("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
//console.log("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3029,8 +3128,11 @@ const AddClassManual = (props) => {
|
|||
|
||||
console.log("file_size 1 = ", file_size, " file_type = ", file_type);
|
||||
if (file_size > 10000000) {
|
||||
alert("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
console.log("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
//alert("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
//console.log("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le fichier ne doit pas depasser un 1 Méga octets");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
setfile_2_name(event.target.files[0]);
|
||||
|
@ -3059,7 +3161,10 @@ const AddClassManual = (props) => {
|
|||
function Record_All_PJ() {
|
||||
|
||||
if (!p_detail_one_file_to_download_type_name) {
|
||||
alert(" Vous devez donner un nom à la pièce jointe");
|
||||
//alert(" Vous devez donner un nom à la pièce jointe");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Vous devez donner un nom à la pièce jointe");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3104,13 +3209,19 @@ const AddClassManual = (props) => {
|
|||
setfile_1_name();
|
||||
setp_detail_one_file_to_download_type_name();
|
||||
//GetCurrentClass_trainingsession();
|
||||
alert(" La pièce jointe " + file_1_name.name + " a été bien enregistrée")
|
||||
// alert(" La pièce jointe " + file_1_name.name + " a été bien enregistrée")
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" La pièce jointe " + file_1_name.name + " a été bien enregistrée");
|
||||
setalert_type("success");
|
||||
|
||||
}
|
||||
else {
|
||||
setRecord_All_PJ_message(result['message']);
|
||||
setRecord_All_PJ_api("false");
|
||||
alert(result['message']);
|
||||
//alert(result['message']);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
})
|
||||
|
@ -3118,7 +3229,10 @@ const AddClassManual = (props) => {
|
|||
setLoading(false);
|
||||
console.error(' Record_All_PJ Error:', error);
|
||||
setRecord_All_PJ_api("false");
|
||||
alert(" Impossible d'ajouter la pièce jointe")
|
||||
// alert(" Impossible d'ajouter la pièce jointe");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'ajouter la pièce jointe");
|
||||
setalert_type("error");
|
||||
});
|
||||
|
||||
}
|
||||
|
@ -3161,13 +3275,19 @@ const AddClassManual = (props) => {
|
|||
setDelete_one_attached_document_result(result['message']);
|
||||
setDelete_one_attached_document_api("true");
|
||||
Get_List_Of_All_PJ(selected_class_id);
|
||||
alert(result['message'])
|
||||
// alert(result['message']);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("success");
|
||||
|
||||
}
|
||||
else {
|
||||
setDelete_one_attached_document_message(result['message']);
|
||||
setDelete_one_attached_document_api("false");
|
||||
alert(result['message'])
|
||||
// alert(result['message']);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
})
|
||||
|
@ -3175,7 +3295,10 @@ const AddClassManual = (props) => {
|
|||
setLoading(false);
|
||||
console.error(' Record_All_PJ Error:', error);
|
||||
setDelete_one_attached_document_api("false");
|
||||
alert(" Impossible de supprimer le document")
|
||||
// alert(" Impossible de supprimer le document");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible de supprimer le document");
|
||||
setalert_type("error");
|
||||
|
||||
});
|
||||
|
||||
|
@ -3455,7 +3578,10 @@ const AddClassManual = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('Add_Update_UE_To_Class : Not good man :( mysearchtext = ' + error);
|
||||
setAdd_Update_UE_To_Class_api("false");
|
||||
alert(" Impossible d'ajouter l'UE à la formation ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'ajouter l'UE à la formation");
|
||||
setalert_type("error");
|
||||
// alert(" Impossible d'ajouter l'UE à la formation ");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -3533,7 +3659,10 @@ const AddClassManual = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('Add_Update_Evaluation_to_UE : Not good man :( mysearchtext = ' + error);
|
||||
setAdd_Update_Evaluation_to_UE_api("false");
|
||||
alert(" Impossible d'ajouter l'évaluation l'UE ");
|
||||
// alert(" Impossible d'ajouter l'évaluation l'UE ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'ajouter l'évaluation l'UE");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -3672,7 +3801,10 @@ const AddClassManual = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('Not good man :( Getall_Employee_Statistic_Question_List = ', error);
|
||||
setGetall_Employee_Statistic_Question_List_api("false");
|
||||
alert(" Impossible de recuperer la liste des questions ");
|
||||
// alert(" Impossible de recuperer la liste des questions ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible de recuperer la liste des questions");
|
||||
setalert_type("error");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -3791,7 +3923,10 @@ const AddClassManual = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('Not good man :( Getall_Qry_Survey_Data = ', error);
|
||||
setGetall_Qry_Survey_Data_api("false");
|
||||
alert("Impossible de récuperer les données demandées")
|
||||
// alert("Impossible de récuperer les données demandées");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible de récuperer les données demandées");
|
||||
setalert_type("error");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -3850,7 +3985,7 @@ const AddClassManual = (props) => {
|
|||
|
||||
//console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- selected_id = ", selected_id, " --- url =", url);
|
||||
|
||||
console.log(" #### url = ", url)
|
||||
// console.log(" #### url = ", url)
|
||||
|
||||
setLoading(true);
|
||||
axios.get(url, { responseType: 'blob', },)
|
||||
|
@ -3858,7 +3993,10 @@ const AddClassManual = (props) => {
|
|||
setLoading(false);
|
||||
//console.log(" In Export_Dashbord_to_CSV res.data = " + res.data);
|
||||
if (String(res.data) === String("false")) {
|
||||
alert("Impossible d'exporter les données (2) ");
|
||||
// alert("Impossible d'exporter les données (2) ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'exporter les données (2)");
|
||||
setalert_type("error");
|
||||
} else {
|
||||
fileDownload(res.data, nom_fichier_cmd_excel)
|
||||
|
||||
|
@ -3866,7 +4004,10 @@ const AddClassManual = (props) => {
|
|||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
alert(" Impossible d'exporter les données ")
|
||||
// alert(" Impossible d'exporter les données ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'exporter les données");
|
||||
setalert_type("error");
|
||||
|
||||
});
|
||||
|
||||
|
@ -3900,6 +4041,8 @@ const AddClassManual = (props) => {
|
|||
else if (fiels_of_text_replacement_ia === "plusproduit")
|
||||
setfield_plus_produit(text_result)
|
||||
|
||||
else if (fiels_of_text_replacement_ia === "contenuattestation")
|
||||
setfield_contenu_attestation(text_result)
|
||||
|
||||
DataUpdated();
|
||||
}
|
||||
|
@ -3968,7 +4111,7 @@ const AddClassManual = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
|
||||
>
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title"> </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> </DialogTitle>
|
||||
|
||||
<DialogContent className="DialogContent_width DialogContent_width_session_800px" >
|
||||
|
||||
|
@ -4024,7 +4167,7 @@ const AddClassManual = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "30rem" }}>
|
||||
<DialogContentText>
|
||||
{Dialog_1_message}
|
||||
|
@ -4176,8 +4319,6 @@ const AddClassManual = (props) => {
|
|||
className="bton_enreg_dialog"> Enregisrer </Button>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -4223,7 +4364,7 @@ const AddClassManual = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle>MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "20rem" }}>
|
||||
<DialogContentText>
|
||||
{Dialog_1_message}
|
||||
|
@ -4397,34 +4538,15 @@ const AddClassManual = (props) => {
|
|||
|
||||
{String(props.mytrainingclass.ref).trim() !== "" && <div className="div_row_ch">
|
||||
|
||||
|
||||
<div className="row_block zone_retour_liste" onClick={retourList}>
|
||||
|
||||
<Button variant="contained" color="success" className="bton_retour_list">
|
||||
Retour liste formations <GrOrderedList />
|
||||
|
||||
</Button>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="row_block zone_gestion_admin">
|
||||
{/* <Button variant="contained" color="success" className="bton_gestion_admin"
|
||||
|
||||
onClick={(e) => {
|
||||
e.preventDefault();
|
||||
window.open(
|
||||
"/GestionAdministrative/" + displayedinternalurl,
|
||||
'_blank'
|
||||
);
|
||||
|
||||
}}>
|
||||
|
||||
GESTION ADMINISTRATIVE <GrUserAdmin />
|
||||
</Button>*/}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>}
|
||||
{String(props.mytrainingclass.ref).trim() !== "" && p_detail_title && <div className="div_row_ch">
|
||||
<nav style={{ width: '100%', textAlign: 'center', marginTop: '1rem', fontFamily: 'DM Sans' }}> <b>Formation :</b> {p_detail_title} </nav>
|
||||
</div>}
|
||||
|
||||
<br />
|
||||
|
@ -4925,6 +5047,21 @@ const AddClassManual = (props) => {
|
|||
|
||||
{submenu && String(submenu) === "detail_formation" &&
|
||||
<div>
|
||||
|
||||
|
||||
<div class="separator">
|
||||
<nav className="separator_label">
|
||||
Infos Générales </nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div style={{ width: '100%', float: 'left', }}>
|
||||
<div style={{
|
||||
display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: '95%', paddingLeft: '10px',
|
||||
flexWrap: 'wrap', paddingLeft: '10px', border: 'none',
|
||||
}}>
|
||||
|
||||
|
||||
<div className="training_caract">
|
||||
<TextField
|
||||
required
|
||||
|
@ -5117,7 +5254,7 @@ const AddClassManual = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="training_caract">
|
||||
{/*<div className="training_caract">
|
||||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
@ -5143,9 +5280,9 @@ const AddClassManual = (props) => {
|
|||
/>
|
||||
|
||||
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
<div className="training_caract">
|
||||
{/*<div className="training_caract">
|
||||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
@ -5172,7 +5309,7 @@ const AddClassManual = (props) => {
|
|||
}
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
|
||||
<div className="training_caract">
|
||||
|
@ -5365,25 +5502,20 @@ const AddClassManual = (props) => {
|
|||
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
<div className="training_caract">
|
||||
<TextField
|
||||
name="price"
|
||||
label="Prix"
|
||||
type="number"
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style"
|
||||
value={p_detail_price}
|
||||
onChange={(e) => {
|
||||
setp_detail_price(e.target.value);
|
||||
}
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* -- début champs durée & prix **/}
|
||||
|
||||
<div class="separator">
|
||||
<nav className="separator_label">
|
||||
Durée & Prix </nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div style={{ width: '100%', float: 'left', }}>
|
||||
<div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: '95%', paddingLeft: '10px', flexWrap: 'wrap' }}>
|
||||
|
||||
|
||||
<div className="training_caract">
|
||||
|
||||
|
@ -5403,13 +5535,10 @@ const AddClassManual = (props) => {
|
|||
}
|
||||
/>
|
||||
</div>
|
||||
<Tooltip className="tooltip_css" id="my-tooltip11" />
|
||||
<a data-tooltip-id="my-tooltip11" data-tooltip-html="Les durée autorisées sont : 'heure', 'jour', 'semaine', 'mois', 'annee', 'rythme participant'">
|
||||
|
||||
<div className="training_caract">
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
|
||||
name="duration_unit"
|
||||
id="duration_unit"
|
||||
className="disabled_style"
|
||||
|
@ -5431,7 +5560,42 @@ const AddClassManual = (props) => {
|
|||
|
||||
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
<div className="training_caract">
|
||||
<TextField
|
||||
name="price"
|
||||
label="Prix"
|
||||
type="number"
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style"
|
||||
value={p_detail_price}
|
||||
onChange={(e) => {
|
||||
setp_detail_price(e.target.value);
|
||||
}
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="separator">
|
||||
<nav className="separator_label">
|
||||
Divers </nav>
|
||||
</div>
|
||||
|
||||
|
||||
<div style={{ width: '100%', float: 'left' }}>
|
||||
<div style={{
|
||||
display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: '95%',
|
||||
paddingLeft: '10px', flexWrap: 'wrap'
|
||||
}}>
|
||||
|
||||
|
||||
<div className="training_caract">
|
||||
<TextField
|
||||
|
@ -5594,12 +5758,23 @@ const AddClassManual = (props) => {
|
|||
/>
|
||||
</div>
|
||||
|
||||
{/* -- début champs specifiques **/}
|
||||
<div className="div_row" style={{ "border": 'none' }}>
|
||||
<hr />
|
||||
</div>
|
||||
<div className="div_row" style={{ "padding": "5px", "border": 'none' }}> Vos champs spécifiques<br />
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{/* -- début champs specifiques **/}
|
||||
|
||||
{rows_champs_specifics &&
|
||||
rows_champs_specifics.length > 0 &&
|
||||
<div class="separator">
|
||||
<nav className="separator_label">
|
||||
Champs spécifiques </nav>
|
||||
</div>}
|
||||
|
||||
<div style={{ width: '100%', float: 'left', }}>
|
||||
|
||||
<div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: '95%', paddingLeft: '10px', flexWrap: 'wrap' }}>
|
||||
{rows_champs_specifics &&
|
||||
rows_champs_specifics.map((champ_spec) => (
|
||||
|
||||
|
@ -5641,7 +5816,7 @@ const AddClassManual = (props) => {
|
|||
</div>
|
||||
))}
|
||||
|
||||
<br />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{/* -- end champs specifiques **/}
|
||||
|
@ -5880,7 +6055,7 @@ const AddClassManual = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -5935,7 +6110,7 @@ const AddClassManual = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -5992,7 +6167,7 @@ const AddClassManual = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -6023,7 +6198,7 @@ const AddClassManual = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -6055,7 +6230,7 @@ const AddClassManual = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -6088,7 +6263,7 @@ const AddClassManual = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -6143,7 +6318,7 @@ const AddClassManual = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -6174,7 +6349,7 @@ const AddClassManual = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -6205,7 +6380,7 @@ const AddClassManual = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -6259,7 +6434,61 @@ const AddClassManual = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="training_text">
|
||||
<div className="plus_produit_desabled">
|
||||
<div className="titre_training_text" style={{ "width": "100%", "float": "left" }}>
|
||||
<nav className="nav_descrip_champs" > Attestation : Contenu de la formation(max 800 caractères) <i> (à afficher sur l'attestation) </i> </nav>
|
||||
|
||||
<Tooltip className="tooltip_css" id="tooltip_use_ia" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
|
||||
<nav className="nav_ia">
|
||||
<AutoFixHighOutlinedIcon style={{ "color": "hsla(99, 75%, 75%, 1);" }}
|
||||
onClick={(e) => {
|
||||
|
||||
const regex = /(<([^>]+)>)/gi;
|
||||
var initial_text_no_html = editorRef_contenu_attestation.current.getContent().replace(regex, " ");
|
||||
initial_text_no_html = initial_text_no_html.replace(/[^ -~]/g, function (chr) {
|
||||
return "&#" + chr.charCodeAt(0) + ";";
|
||||
});
|
||||
|
||||
setfiels_of_text_replacement_ia("contenuattestation")
|
||||
settext_for_ia(initial_text_no_html);
|
||||
setDialog_mysy_ia_open(true);
|
||||
}} />
|
||||
|
||||
</nav>
|
||||
</a>
|
||||
</div>
|
||||
<Editor
|
||||
onInit={(evt, editor) => editorRef_contenu_attestation.current = editor}
|
||||
initialValue={field_contenu_attestation}
|
||||
onKeyUp={editor_keyup}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
DataUpdated();
|
||||
seteditor_tochange("");
|
||||
}
|
||||
}}
|
||||
init={{
|
||||
resize: false,
|
||||
height: 300,
|
||||
menubar: false,
|
||||
plugins: [
|
||||
'advlist autolink lists link image charmap print preview anchor',
|
||||
'searchreplace visualblocks code fullscreen',
|
||||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
|
|
@ -3301,7 +3301,7 @@ const AddParnerClient = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
|
||||
>
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title"> Gestion compte intranet </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title"> Gestion compte intranet </DialogTitle>
|
||||
|
||||
<DialogContent className="DialogContent_width" >
|
||||
|
||||
|
|
|
@ -5096,7 +5096,7 @@ const Apprenant = (props) => {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogContent>
|
||||
<DialogContentText>
|
||||
{Dialog_Suivi_Pedago_message}
|
||||
|
@ -5213,7 +5213,7 @@ const Apprenant = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title" >Apprenant</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" >Apprenant</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<div>
|
||||
|
||||
|
@ -5372,7 +5372,7 @@ const Apprenant = (props) => {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">Tuteur {quel_tuteur}</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">Tuteur {quel_tuteur}</DialogTitle>
|
||||
{String(quel_tuteur) === "1" && <DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_tuteur_1_message}
|
||||
|
@ -5806,7 +5806,7 @@ const Apprenant = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title" > Inscrire </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" > Inscrire </DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
{New_Getall_TrainingSession_result && <div className="session_caract_Dialog"> <b> Session</b>
|
||||
|
@ -5969,7 +5969,7 @@ const Apprenant = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "20rem" }}>
|
||||
|
||||
|
||||
|
@ -6040,7 +6040,7 @@ const Apprenant = (props) => {
|
|||
</Dialog>
|
||||
|
||||
|
||||
<h3> Vos apprenants </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes apprenants </h3>
|
||||
<div>
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -8475,7 +8475,7 @@ const Apprenant = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
@ -8502,7 +8502,7 @@ const Apprenant = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
@ -8761,7 +8761,7 @@ const Apprenant = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
@ -8788,7 +8788,7 @@ const Apprenant = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
import React, { useRef, useState, useEffect } from "react";
|
||||
import { Button, } from "reactstrap";
|
||||
import { FacebookShareButton, LinkedinShareButton, TwitterShareButton } from "react-share";
|
||||
import { SocialIcon } from 'react-social-icons';
|
||||
import happyimg from "../mysy_img/happy.png";
|
||||
import unhappyimg from "../mysy_img/nothappy.png";
|
||||
import middleimg from "../mysy_img/middle.png";
|
||||
|
||||
import parse from 'html-react-parser'
|
||||
import img_met_autre from "../mysy_img/met_autre.jpg";
|
||||
import img_met_digital from "../mysy_img/met_digital.jpg";
|
||||
|
@ -727,7 +723,7 @@ const Article = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">Votre article </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">Votre article </DialogTitle>
|
||||
<DialogContent className="DialogContent_width DialogContent_width_session_800px" >
|
||||
|
||||
|
||||
|
@ -944,7 +940,7 @@ const Article = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ import { loadStripe } from '@stripe/stripe-js';
|
|||
import { PaymentElement } from '@stripe/react-stripe-js';
|
||||
import Popup from 'reactjs-popup';
|
||||
|
||||
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
|
@ -52,6 +53,7 @@ function CheckOut(props) {
|
|||
const [currentpack, setcurrentpack] = useState(props.packs);
|
||||
const [periodicity, setperiodicity] = useState(props.periodicity);
|
||||
const [packprice, setpackprice] = useState(props.mypackprice);
|
||||
const [selected_pack_unit_price, setselected_pack_unit_price] = useState(props.selected_pack_unit_price);
|
||||
const [getpackproducts, setgetpackproducts] = useState();
|
||||
const scrollDiv = useRef(null);
|
||||
const [okcommande, setokcommande] = useState();
|
||||
|
@ -445,6 +447,7 @@ function CheckOut(props) {
|
|||
getCurrentUserData();
|
||||
get_production_service_by_pack();
|
||||
GetPayementMode();
|
||||
setnb_formations("1");
|
||||
|
||||
if (String(props.packs).toLocaleLowerCase() === String("standard")) {
|
||||
setprice_ch(process.env.REACT_APP_API_URL_STRIP_ID_PACK_STAND);
|
||||
|
@ -467,10 +470,6 @@ function CheckOut(props) {
|
|||
}, []);
|
||||
|
||||
|
||||
function Handler() {
|
||||
alert('works');
|
||||
}
|
||||
|
||||
|
||||
const [isLoading, setLoading] = useState();
|
||||
|
||||
|
@ -485,7 +484,11 @@ function CheckOut(props) {
|
|||
//alert(" confirmation ok");
|
||||
|
||||
if (String(nb_formations) === "0") {
|
||||
alert(" Vous devez choisir un nombre de formations ");
|
||||
// alert(" Vous devez choisir un nombre de formations ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Vous devez choisir un nombre de formations");
|
||||
setalert_type("error");
|
||||
|
||||
document.getElementById('div_nb_formation').style.color = "red";
|
||||
document.getElementById('div_ttc').style.color = "red";
|
||||
|
||||
|
@ -682,12 +685,19 @@ function CheckOut(props) {
|
|||
if (String(props.packs).toLowerCase() === String("decouverte")) {
|
||||
MySy_LMS_Account_Management();
|
||||
setLoading(false);
|
||||
alert(" La mise à jour de votre abonnement a été correctement traitée. Vous allez recevoir par email les details de la commande et la facture.")
|
||||
var txt = " La mise à jour de votre abonnement a été correctement traitée. Vous allez recevoir par email les details de la commande et la facture.";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("success");
|
||||
window.location.reload();
|
||||
} else {
|
||||
MySy_LMS_Account_Management();
|
||||
setLoading(false);
|
||||
alert(" La mise à jour de votre abonnement a été correctement traitée. Vous allez recevoir par email les details de la commande et la facture.")
|
||||
var txt = " La mise à jour de votre abonnement a été correctement traitée. Vous allez recevoir par email les details de la commande et la facture."
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("success");
|
||||
|
||||
window.location.reload();
|
||||
}
|
||||
|
@ -743,7 +753,7 @@ function CheckOut(props) {
|
|||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Check_MySy_LMS_Account/";
|
||||
|
||||
axios.post(myurl, formData_tpm).then(res => {
|
||||
console.log('In MySy_LMS_Account_Management status = ', res.data.status, " -- message = ", res.data.message);
|
||||
// console.log('In MySy_LMS_Account_Management status = ', res.data.status, " -- message = ", res.data.message);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setMySy_LMS_Account_Management_api("true");
|
||||
|
||||
|
@ -776,36 +786,60 @@ function CheckOut(props) {
|
|||
var adr_country = document.getElementsByName("adr_country")[0].value;
|
||||
|
||||
if (nom.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : Le nom ");
|
||||
var txt = "Information de facturation incomplete : Le nom ";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("error");
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (email.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : L'email ");
|
||||
|
||||
var txt = "Information de facturation incomplete : L'email ";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("error");
|
||||
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
if (adr_street.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : L'adresse ");
|
||||
var txt = "Information de facturation incomplete : L'adresse";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("error");
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (adr_zip.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : Le code postal ");
|
||||
|
||||
var txt = "Information de facturation incomplete : Le code postal";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("error");
|
||||
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (adr_city.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : La ville ");
|
||||
var txt = "Information de facturation incomplete : La ville";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("error");
|
||||
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (adr_country.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : Le pays ");
|
||||
|
||||
var txt = "Information de facturation incomplete : Le pays";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("error");
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
|
@ -839,36 +873,53 @@ function CheckOut(props) {
|
|||
formData.append('invoice_telephone', telephone);
|
||||
|
||||
if (nom.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : Le nom ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Information de facturation incomplete : Le nom" );
|
||||
setalert_type("error");
|
||||
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (email.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : L'email ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Information de facturation incomplete : L'email" );
|
||||
setalert_type("error");
|
||||
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
if (adr_street.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : L'adresse ");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Information de facturation incomplete : L'adresse" );
|
||||
setalert_type("error");
|
||||
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (adr_zip.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : Le code postal ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Information de facturation incomplete : Le code postal" );
|
||||
setalert_type("error");
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (adr_city.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : La ville ");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Information de facturation incomplete : La ville" );
|
||||
setalert_type("error");
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (adr_country.trim().length <= 0) {
|
||||
alert("Information de facturation incomplete : Le pays ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Information de facturation incomplete : Le pays " );
|
||||
setalert_type("error");
|
||||
setinvoiceAdressOK(false);
|
||||
return;
|
||||
}
|
||||
|
@ -1097,7 +1148,7 @@ function CheckOut(props) {
|
|||
// Fing gestion stripe
|
||||
|
||||
|
||||
const [nb_formations, setnb_formations] = useState("0");
|
||||
const [nb_formations, setnb_formations] = useState("1");
|
||||
|
||||
const change_nb_formations = event => {
|
||||
|
||||
|
@ -1237,6 +1288,13 @@ function CheckOut(props) {
|
|||
setdisplay_alert_mysy("");
|
||||
}
|
||||
|
||||
function testiframe(){
|
||||
alert("JJJJJJJJJJJJJJJ");
|
||||
}
|
||||
function HelloFromChild(name) {
|
||||
alert("Hello " + name + " , (called from child window)");
|
||||
}
|
||||
|
||||
|
||||
return (
|
||||
<div className="checkout">
|
||||
|
@ -1262,7 +1320,7 @@ function CheckOut(props) {
|
|||
|
||||
|
||||
{String(menu) === String("default") && <div>
|
||||
<h2 style={{ "textAlign": "center", "marginBottom": "2rem" }} ref={scrollDiv} id="scrollDiv"> Récapitulatif de votre commande </h2>
|
||||
<h2 style={{ "textAlign": "center", "marginBottom": "2rem", fontFamily:'DM Sans' }} ref={scrollDiv} id="scrollDiv"> Récapitulatif de votre commande </h2>
|
||||
|
||||
<br />
|
||||
|
||||
|
@ -1315,14 +1373,19 @@ function CheckOut(props) {
|
|||
<div style={{ "textAlign": "left", "width": "50%", "float": "left" }}>
|
||||
Prix unitaire :
|
||||
</div>
|
||||
<div style={{ "textAlign": "right", "width": "50%", "float": "left" }}>
|
||||
{String(periodicity).toLowerCase() === "annuel" && <div style={{ "textAlign": "right", "width": "50%", "float": "left" }}>
|
||||
{packprice} € ({selected_pack_unit_price} € x 12 )
|
||||
|
||||
</div>}
|
||||
{String(periodicity).toLowerCase() !== "annuel" && <div style={{ "textAlign": "right", "width": "50%", "float": "left" }}>
|
||||
{packprice} €
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div style={{ "width": "90%", "float": "left" }} id="div_nb_formation" className="mob_heigh">
|
||||
{/*<div style={{ "width": "90%", "float": "left" }} id="div_nb_formation" className="mob_heigh">
|
||||
<div style={{ "textAlign": "left", "width": "50%", "float": "left" }}>
|
||||
Nombre de formations :
|
||||
</div>
|
||||
|
@ -1346,7 +1409,7 @@ function CheckOut(props) {
|
|||
}
|
||||
|
||||
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
<div style={{ "width": "90%", "float": "left" }} id="div_ttc">
|
||||
<div style={{ "textAlign": "left", "width": "50%", "float": "left" }}>
|
||||
|
@ -1508,7 +1571,7 @@ function CheckOut(props) {
|
|||
<div className="titre1"> Detail de Facturation </div>
|
||||
|
||||
{String(addfacturationinfo_api) === String("true") && String(addfacturationinfo_response).length > 3 &&
|
||||
<div className="okUpdateData"> La modification ete prise en compte </div>}
|
||||
<div className="okUpdateData"> La modification a été prise en compte </div>}
|
||||
|
||||
{String(addfacturationinfo_api) === String("false") || String(addfacturationinfo_response) === String("0") &&
|
||||
<div className="koUpdateData"> Impossible de modifier les informations de facturation </div>}
|
||||
|
@ -1681,22 +1744,22 @@ function CheckOut(props) {
|
|||
|
||||
{String(paymentmodeapi) === String("True") && <div>
|
||||
{paymentmode && String(paymentmode).length > 0 && paymentmode.map((payment) => (
|
||||
<ul className="list_produits_service">
|
||||
<ul className="list_produits_service" style={{paddingLeft:'2px', fontFamily:'DM Sans'}}>
|
||||
<div>
|
||||
<ul>
|
||||
<ul style={{paddingLeft:'2px', fontFamily:'DM Sans'}}>
|
||||
Type carte : {(JSON.parse(payment).brand)}
|
||||
</ul>
|
||||
<ul>
|
||||
<ul style={{paddingLeft:'2px', fontFamily:'DM Sans'}}>
|
||||
Nom carte : {(JSON.parse(payment).nom_carte)}
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<ul style={{paddingLeft:'2px', fontFamily:'DM Sans'}}>
|
||||
Num carte : XXXXXX{(JSON.parse(payment).last4)}
|
||||
</ul>
|
||||
<ul>
|
||||
<ul style={{paddingLeft:'2px', fontFamily:'DM Sans'}}>
|
||||
Expiration : {(JSON.parse(payment).exp_month)}/{(JSON.parse(payment).exp_year)}
|
||||
</ul>
|
||||
<ul>
|
||||
<ul style={{paddingLeft:'2px', fontFamily:'DM Sans'}}>
|
||||
Date Creation : {(JSON.parse(payment).createdatetime)}
|
||||
</ul>
|
||||
|
||||
|
@ -1757,7 +1820,7 @@ function CheckOut(props) {
|
|||
Finalise Subscribe / Confirmer la commande
|
||||
</button>
|
||||
|
||||
{paymentIntent && <h3> PAYEMENT OK REDIRECTION VERS LA PAGE OK</h3>}
|
||||
{paymentIntent && <h3 style={{ fontFamily:'DM Sans' }}> PAYEMENT OK REDIRECTION VERS LA PAGE OK</h3>}
|
||||
</div>
|
||||
</div>
|
||||
*/}
|
||||
|
|
|
@ -1177,7 +1177,7 @@ const Config_Champs_Personnalise = (props) => {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogContent>
|
||||
<DialogContentText>
|
||||
{Dialog_1_message}
|
||||
|
@ -1199,7 +1199,7 @@ const Config_Champs_Personnalise = (props) => {
|
|||
</DialogActions>
|
||||
</Dialog>
|
||||
|
||||
<h3> Configuration documents </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Configuration documents </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -1540,7 +1540,7 @@ const Config_Champs_Personnalise = (props) => {
|
|||
</div>
|
||||
|
||||
{String(display_personalised_field) === "1" && String(add_one_personal_field) !== "1" && <div className="div_row">
|
||||
<h3> Détail champ personnalisé <i> {selected_field_name} </i></h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Détail champ personnalisé <i> {selected_field_name} </i></h3>
|
||||
|
||||
<div className="session_data" >
|
||||
|
||||
|
@ -1865,7 +1865,7 @@ const Config_Champs_Personnalise = (props) => {
|
|||
|
||||
<div className="div_row" ref={myRef_detail} id="myRef_detail"> </div>
|
||||
{String(display_personalised_field) !== "1" && String(add_one_personal_field) === "1" && <div className="div_row">
|
||||
<h3> Ajout d'un nouveau champ spécifique</h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Ajout d'un nouveau champ spécifique</h3>
|
||||
|
||||
<div className="session_data" >
|
||||
|
||||
|
|
|
@ -2298,7 +2298,7 @@ const Config_Documents = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
<div className="session_caract_Dialog" > Type Document
|
||||
|
@ -2403,7 +2403,7 @@ const Config_Documents = (props) => {
|
|||
|
||||
</Dialog>
|
||||
|
||||
<h3> Configuration documents </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Configuration documents </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -2788,7 +2788,7 @@ const Config_Documents = (props) => {
|
|||
|
||||
|
||||
{String(display_detail_document) === "1" && String(add_one_document) !== "1" && <div className="div_row">
|
||||
<h3> Détail document <i> {p_detail_nom} </i></h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Détail document <i> {p_detail_nom} </i></h3>
|
||||
|
||||
<div className="div_row">
|
||||
|
||||
|
@ -3134,7 +3134,7 @@ const Config_Documents = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3166,7 +3166,7 @@ const Config_Documents = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3223,7 +3223,7 @@ const Config_Documents = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3261,7 +3261,7 @@ const Config_Documents = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3360,7 +3360,7 @@ const Config_Documents = (props) => {
|
|||
</div>}
|
||||
|
||||
{String(display_detail_document) !== "1" && String(add_one_document) === "1" && <div className="div_row">
|
||||
<h3> Personnaliser un nouveau document </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Personnaliser un nouveau document </h3>
|
||||
<div className="div_row" style={{ "textAlign": "left" }}>
|
||||
|
||||
<div className="div_row_gauche"> Choisir le document à ajouter <br />
|
||||
|
@ -3605,7 +3605,7 @@ const Config_Documents = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3647,7 +3647,7 @@ const Config_Documents = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
|
|
@ -2275,7 +2275,7 @@ const Config_Documents_Super_Admin = (props) => {
|
|||
|
||||
</Dialog>
|
||||
|
||||
<h3> Configuration documents (Admin) </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Configuration documents (Admin) </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -2661,7 +2661,7 @@ const Config_Documents_Super_Admin = (props) => {
|
|||
|
||||
|
||||
{String(display_detail_document) === "1" && String(add_one_document) !== "1" && <div className="div_row">
|
||||
<h3> Détail document <i> {p_detail_nom} </i></h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Détail document <i> {p_detail_nom} </i></h3>
|
||||
|
||||
<div className="div_row">
|
||||
|
||||
|
@ -3007,7 +3007,7 @@ const Config_Documents_Super_Admin = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3039,7 +3039,7 @@ const Config_Documents_Super_Admin = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3096,7 +3096,7 @@ const Config_Documents_Super_Admin = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3134,7 +3134,7 @@ const Config_Documents_Super_Admin = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3190,7 +3190,7 @@ const Config_Documents_Super_Admin = (props) => {
|
|||
</div>}
|
||||
|
||||
{String(display_detail_document) !== "1" && String(add_one_document) === "1" && <div className="div_row">
|
||||
<h3> Personnaliser un nouveau document </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Personnaliser un nouveau document </h3>
|
||||
<div className="div_row" style={{ "textAlign": "left" }}>
|
||||
|
||||
<div className="div_row_gauche"> Choisir le document à ajouter <br />
|
||||
|
@ -3435,7 +3435,7 @@ const Config_Documents_Super_Admin = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3477,7 +3477,7 @@ const Config_Documents_Super_Admin = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
|
|
@ -1709,7 +1709,7 @@ const CRM_Opportunite = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "30rem" }}>
|
||||
<DialogContentText>
|
||||
{Dialog_1_message}
|
||||
|
@ -2149,7 +2149,7 @@ const CRM_Opportunite = (props) => {
|
|||
{/* FIN Dialog pour gerer une OPPORTUNITE */}
|
||||
|
||||
|
||||
<h3> Vos Opportunités </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes Opportunités </h3>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
|
|
|
@ -628,7 +628,7 @@ const Dashbord_Factures = (props) => {
|
|||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
<h3> Tableaux de bord des Commandes et Factures </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Tableaux de bord des Commandes et Factures </h3>
|
||||
<div className="div_row"> </div>
|
||||
|
||||
|
||||
|
|
|
@ -214,7 +214,7 @@ const Dashbord_Formation = (props) => {
|
|||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
<h3> Tableaux de bord des formations</h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Tableaux de bord des formations</h3>
|
||||
<div className="div_row"> </div>
|
||||
<div className="div_row" style={{ "textAlign": "right", "paddingRight": "20px" }}> Affichage
|
||||
<Tooltip className="tooltip_css" id="my_tooltip_1_col" style={{ "fontSize": "12px" }} />
|
||||
|
|
|
@ -305,7 +305,7 @@ const Dashbord_Inscriptions = (props) => {
|
|||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
<h3> Tableaux de bord des Inscriptions </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Tableaux de bord des Inscriptions </h3>
|
||||
<div className="div_row"> </div>
|
||||
|
||||
<div className="div_row" style={{ "textAlign": "right", "paddingRight": "20px" }}> Affichage
|
||||
|
|
|
@ -492,7 +492,7 @@ const Dashbord_Ressources_Humaines = (props) => {
|
|||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
<h3> Tableaux de bord des ressources humaines (Employés) </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Tableaux de bord des ressources humaines (Employés) </h3>
|
||||
<div className="div_row"> </div>
|
||||
<div className="div_row" style={{ "textAlign": "right", "paddingRight": "20px" }}> Affichage
|
||||
<Tooltip className="tooltip_css" id="my_tooltip_1_col" style={{ "fontSize": "12px" }} />
|
||||
|
|
|
@ -330,7 +330,7 @@ const Dashbord_Session = (props) => {
|
|||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
<h3> Tableaux de bord des sessions</h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Tableaux de bord des sessions</h3>
|
||||
<div className="div_row"> </div>
|
||||
<div className="div_row" style={{ "textAlign": "right", "paddingRight": "20px" }}> Affichage
|
||||
<Tooltip className="tooltip_css" id="my_tooltip_1_col" style={{ "fontSize": "12px" }} />
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5446,7 +5446,9 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setliste_selected_inscription_id(liste_session);
|
||||
setselectedtraining_emails(liste_session);
|
||||
|
||||
console.log(" liste_session = ", liste_session);
|
||||
// console.log(" liste_session = ", liste_session);
|
||||
|
||||
// console.log(" actionmass_ftion_val = ", actionmass_ftion_val);
|
||||
|
||||
|
||||
//console.log(" actionmass_ftion_val = ", actionmass_ftion_val);
|
||||
|
@ -6491,7 +6493,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
{ "id": "1", "label": "Supprimer", "value": "supprimer" },
|
||||
{ "id": "2", "label": "Exporter", "value": "exporter" },
|
||||
{ "id": "3", "label": "Desactiver Recyclage", "value": "recyclage_disable" },
|
||||
{ "id": "4", "label": "Rédiger un Email", "value": "sendemail" },
|
||||
{ "id": "4", "label": "Contacter par Email", "value": "sendemail" },
|
||||
]
|
||||
|
||||
|
||||
|
@ -6839,11 +6841,10 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
|
||||
|
||||
|
||||
{ /********* Dialog redaction email */}
|
||||
<Dialog
|
||||
|
||||
open={Dialog_SEND_EMAIL_open}
|
||||
//onClose={Dialog_SEND_EMAIL_handleClose}
|
||||
className="module_email_management"
|
||||
static
|
||||
|
@ -6858,6 +6859,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
position: 'absolute',
|
||||
top: '7rem',
|
||||
margin: "2px",
|
||||
maxWidth:'800px'
|
||||
},
|
||||
}}
|
||||
hideBackdrop={true}
|
||||
|
@ -6870,7 +6872,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title"> </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> </DialogTitle>
|
||||
<DialogContent >
|
||||
<DialogContentText>
|
||||
|
||||
|
@ -6894,9 +6896,6 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
|
||||
|
||||
|
||||
</DialogActions>
|
||||
|
||||
|
||||
|
@ -6934,7 +6933,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">Info Stagiaire</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title">Info Stagiaire</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
<div className="div_row_dialog">
|
||||
|
@ -7154,7 +7153,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">Tuteur {quel_tuteur}</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title">Tuteur {quel_tuteur}</DialogTitle>
|
||||
{String(quel_tuteur) === "1" && <DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_tuteur_1_message}
|
||||
|
@ -7593,7 +7592,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "30rem" }}>
|
||||
|
||||
|
||||
|
@ -7914,7 +7913,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
</Dialog>
|
||||
|
||||
{ /**** FIN Dialog Convention */}
|
||||
<h3> Vos stagiaires </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes stagiaires </h3>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
|
@ -8891,7 +8890,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
</font>}
|
||||
|
||||
{String(actionmass_ftion_val) === "sendemail" &&
|
||||
<font> Confirmer la <b> la rédaction d'un email </b> en masse pour {selectionModel.length} lignes.
|
||||
<font> Confirmer la <b> rédaction d'un email </b> en masse pour {selectionModel.length} lignes.
|
||||
</font>}
|
||||
|
||||
|
||||
|
@ -11005,7 +11004,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
toolbar: false,
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -11030,7 +11029,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
{String(SendEvaluationEmail_api) === "true" && <div className="div_row okUpdateData" style={{ "textAlign": "center" }}>
|
||||
La demande d'evaluation ete envoyée par email </div>}
|
||||
La demande d'evaluation a été envoyée par email </div>}
|
||||
|
||||
|
||||
<Button variant="contained" className="bton_enreg" onClick={SendEvaluationEmail}>Envoi demande evaluation
|
||||
|
@ -11307,7 +11306,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
{String(props.formation_initiale) === "1" && String(submenu) === "ue" && String(addOneParticipant) !== "1" && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||
|
||||
<h3> Gestion des UE d'un inscrit </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Gestion des UE d'un inscrit </h3>
|
||||
<div className="div_row">
|
||||
|
||||
<div className="session_caract"> <b>Unite D'enseignement </b> <br />
|
||||
|
@ -11453,7 +11452,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
{String(props.formation_initiale) === "1" && String(submenu) === "notes" && String(display_notes) === "1" && String(addOneParticipant) !== "1" && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||
|
||||
<h3> Les notes de l'inscrit </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Les notes de l'inscrit </h3>
|
||||
<div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
|
||||
<Button className="bton_emarge" onClick={(event) => {
|
||||
Export_Inscrit_Notes();
|
||||
|
|
|
@ -2546,7 +2546,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle>Info Formation</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title">Info Formation</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
<div className="div_row_dialog">
|
||||
|
@ -2721,6 +2721,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
</div>
|
||||
}
|
||||
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes formations </h3>
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
<div className="div_row_gauche texte_area_filter" >
|
||||
|
@ -3021,8 +3022,6 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
Impossible de traiter la demande
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
<div style={{ height: "800px", width: '100%', paddingRight: '10px' }}>
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
<div className='block_groupe_class'>
|
||||
|
|
|
@ -517,6 +517,11 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
setGetall_Parter_Unite_Enseignement_api("true");
|
||||
setGetall_Parter_Unite_Enseignement_result(res.data.message);
|
||||
setRows(res.data.message);
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
|
||||
}
|
||||
else {
|
||||
setGetall_Parter_Unite_Enseignement_api("false");
|
||||
|
@ -1059,8 +1064,6 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Unite_Enseignement/";
|
||||
}
|
||||
|
||||
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
setLoading(false);
|
||||
// console.log(" In Add_Update_UE_Data res.data.status = " + res.data.status);
|
||||
|
@ -1078,6 +1081,10 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
|
||||
if (document.getElementById('myRef_head')) {
|
||||
var divh = document.getElementById('myRef_head').offsetTop;
|
||||
|
@ -1958,7 +1965,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
{/*** Fin Dialog ajout PLANIF_LINE ue */}
|
||||
|
||||
|
||||
<h3> Gestion des Unités d'enseignement </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Gestion des Unités d'enseignement </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -3139,7 +3146,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }',
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }',
|
||||
|
||||
|
||||
}}
|
||||
|
@ -3177,7 +3184,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3208,7 +3215,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -3242,7 +3249,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }',
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }',
|
||||
|
||||
}}
|
||||
/>
|
||||
|
@ -3276,7 +3283,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }',
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }',
|
||||
|
||||
}}
|
||||
/>
|
||||
|
@ -3311,7 +3318,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }',
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }',
|
||||
|
||||
}}
|
||||
/>
|
||||
|
@ -3990,7 +3997,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }',
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }',
|
||||
|
||||
|
||||
}}
|
||||
|
@ -4028,7 +4035,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -4059,7 +4066,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -4093,7 +4100,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }',
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }',
|
||||
|
||||
}}
|
||||
/>
|
||||
|
@ -4127,7 +4134,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }',
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }',
|
||||
|
||||
}}
|
||||
/>
|
||||
|
@ -4162,7 +4169,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }',
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }',
|
||||
|
||||
}}
|
||||
/>
|
||||
|
|
|
@ -20,10 +20,7 @@ import img_met_graphisme from "../mysy_img/metier_graphisme.jpg";
|
|||
import img_met_autre from "../mysy_img/met_autre.jpg";
|
||||
import img_met_digital from "../mysy_img/met_digital.jpg";
|
||||
import img_met_management from "../mysy_img/met_management.jpg";
|
||||
import img_met_projet from "../mysy_img/met_projet.jpg";
|
||||
|
||||
import img_met_market from "../mysy_img/met_market.jpg";
|
||||
import img_met_autre2 from "../mysy_img/met_autre2.jpg";
|
||||
import img_met_dev_perso from "../mysy_img/metier_dev_perso.jpg";
|
||||
import img_met_rh from "../mysy_img/met_rh.jpg";
|
||||
|
||||
|
|
|
@ -697,7 +697,7 @@ function ESign() {
|
|||
|
||||
|
||||
|
||||
<h3> Signature Electronique </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Signature Electronique </h3>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="signature_block_explication" >
|
||||
|
|
|
@ -144,7 +144,7 @@ function ESignDiplayDignedDocument() {
|
|||
|
||||
|
||||
|
||||
<h3> Document Electronique </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Document Electronique </h3>
|
||||
|
||||
{is_valide_e_document && <div>
|
||||
<div style={{ width: "80%", "marginLeft": "auto", "marginRight": "auto" }}>
|
||||
|
|
|
@ -544,7 +544,7 @@ function Emarge_QR_Code() {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">Signature Manuscrite </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">Signature Manuscrite </DialogTitle>
|
||||
|
||||
<DialogContent className="DialogContent_width" >
|
||||
<div style={{ width: "100%" }}>
|
||||
|
@ -782,7 +782,7 @@ function Emarge_QR_Code() {
|
|||
</div>}
|
||||
|
||||
|
||||
<h3> Emargement électronique </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Emargement électronique </h3>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="block_guide_line" >
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -916,112 +916,6 @@ const Fonctionnalites_V1 = () => {
|
|||
</div>
|
||||
|
||||
|
||||
{/*
|
||||
<div className="fonctionalite_header">
|
||||
Pour en bénéficier ?
|
||||
</div>
|
||||
<div className="parent">
|
||||
|
||||
<div className="div1">
|
||||
<div className="div_block_fonction_detail_titre">
|
||||
Pack Indépendant
|
||||
<hr className="hr_break" />
|
||||
</div>
|
||||
|
||||
<div className="div_block_fonction_detail_img">
|
||||
<img src={pack_independant} alt="pack indépendant : Destiné aux organismes de formation qui démarrent et qui moins de 25 sessions de formation par an. Nous automatisons Qualiopi. L’ensemble de nos options : signature électronique, Gestion avis participants, Les émargements sécurisés, les contrats des formateurs, la gestion des financeurs sont inclus dans nos tarifs de base. Le bilan pédagogique et financier (PBF) est généré automatiquement" className="div_block_fonction_detail_img_inside" />
|
||||
<nav className="div_block_prix" > 150 € HT /mois </nav>
|
||||
</div>
|
||||
|
||||
<div className="div_block_fonction_detail_desc detail_content_text_head_3">
|
||||
<ul className="div_ul_detail_pack">
|
||||
<li> <b> Jusqu'à 25 Sessions / an </b></li>
|
||||
<li> Sans engagement</li>
|
||||
<li> 2 Utilisateurs</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div style={{ width: '100%' }}>
|
||||
<Button variant="contained"
|
||||
|
||||
className="btn_abonnement_v2"
|
||||
onClick={(e) => {
|
||||
e.preventDefault();
|
||||
window.location.href = "/Partner";
|
||||
}}
|
||||
> Je m'abonne </Button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div2" >
|
||||
<div className="div_block_fonction_detail_titre">
|
||||
Pack Standard
|
||||
<hr className="hr_break" />
|
||||
</div>
|
||||
|
||||
<div className="div_block_fonction_detail_img">
|
||||
<img src={pack_standart} alt="pack standard : Destiné aux organismes de formation qui ont entre 26 et 200 sessions de formation par an. Nous automatisons Qualiopi. L’ensemble de nos options : signature électronique, Gestion avis participants, Les émargements sécurisés, les contrats des formateurs, la gestion des financeurs sont inclus dans nos tarifs de base. Le bilan pédagogique et financier (PBF) est généré automatiquement" className="div_block_fonction_detail_img_inside" />
|
||||
<nav className="div_block_prix"> 299 € HT/mois </nav>
|
||||
</div>
|
||||
|
||||
<div className="div_block_fonction_detail_desc detail_content_text_head_3">
|
||||
<ul className="div_ul_detail_pack">
|
||||
<li> <b> De 26 à 200 Sessions / an </b> </li>
|
||||
<li> Sans engagement </li>
|
||||
<li> Utilisateurs illimités </li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div style={{ width: '100%' }}>
|
||||
<Button variant="contained"
|
||||
|
||||
className="btn_abonnement_v2"
|
||||
onClick={(e) => {
|
||||
e.preventDefault();
|
||||
window.location.href = "/Partner";
|
||||
}}
|
||||
> Je m'abonne </Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="div3">
|
||||
<div className="div_block_fonction_detail_titre">
|
||||
Pack Gold
|
||||
<hr className="hr_break" />
|
||||
</div>
|
||||
|
||||
<div className="div_block_fonction_detail_img">
|
||||
<img src={pack_gold} alt="pack Gold : Destiné aux organismes de formation qui ont plus de 200 sessions de formation par an. Nous automatisons Qualiopi. L’ensemble de nos options : signature électronique, Gestion avis participants, Les émargements sécurisés, les contrats des formateurs, la gestion des financeurs sont inclus dans nos tarifs de base. Le bilan pédagogique et financier (PBF) est généré automatiquement" className="div_block_fonction_detail_img_inside" />
|
||||
<nav className="div_block_prix"> 599 € HT/mois </nav>
|
||||
</div>
|
||||
|
||||
<div className="div_block_fonction_detail_desc detail_content_text_head_3">
|
||||
|
||||
<ul className="div_ul_detail_pack">
|
||||
<li><b> A partir de 201 Sessions / an </b> </li>
|
||||
<li>Sans engagement </li>
|
||||
<li>Utilisateurs illimités </li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div style={{ width: '100%' }}>
|
||||
<Button variant="contained"
|
||||
|
||||
className="btn_abonnement_v2"
|
||||
onClick={(e) => {
|
||||
e.preventDefault();
|
||||
window.location.href = "/Partner";
|
||||
}}
|
||||
> Je m'abonne </Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
*/}
|
||||
|
||||
|
||||
|
||||
|
@ -1316,72 +1210,7 @@ const Fonctionnalites_V1 = () => {
|
|||
|
||||
</div>
|
||||
|
||||
{/*<div className="div_row_where">
|
||||
|
||||
<div className="div_carte">
|
||||
<a target="_blank"
|
||||
href="https://www.google.com/maps/place/MySy+Training+Technology/@48.8761591,2.3260624,15z/data=!4m5!3m4!1s0x0:0x8239ba23406c9699!8m2!3d48.8761591!4d2.3260624">
|
||||
<img src={ousommesnousimg} alt="logo MySy Technology ou sommes nous" style={{ 'width': "100%", 'height': '50%' }} />
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_adresse_new" >
|
||||
<br />
|
||||
|
||||
<ButtonMailto label="CONTACTEZ NOUS" mailto="mailto:contact@mysy-training.com" className="contactez_nous" />
|
||||
|
||||
<div className="contactez_nous_titre">MySy Training Technology</div>
|
||||
|
||||
<div className="contactez_nous_info">
|
||||
|
||||
Adresse : 1 Cr du Havre, 75008 Paris <br />
|
||||
Adresse email :
|
||||
<a href="mailto: contact@mysy-training.com?subject=Mail from mysy website" target="_blank"> contact@mysy-training.com</a> <br />
|
||||
|
||||
Téléphone fixe : +331 77 00 38 57<br />
|
||||
Téléphone : +337 69 20 39 45<br />
|
||||
|
||||
</div>
|
||||
<br />
|
||||
<div> Sur nos reseaux sociaux
|
||||
|
||||
<div style={{ 'float': "center", "textAlign": "center" }}>
|
||||
<div className="media_sociaux">
|
||||
<FacebookShareButton
|
||||
url={"https://www.facebook.com/MySy-Training-114572794561371/"}
|
||||
>
|
||||
<SocialIcon network="facebook" className="SocialIcon" />
|
||||
</FacebookShareButton>
|
||||
|
||||
|
||||
<TwitterShareButton
|
||||
url={"https://twitter.com/mysy_training"}
|
||||
hashtag={"#MySyTraining"}
|
||||
>
|
||||
<SocialIcon network="twitter" className="SocialIcon" />
|
||||
</TwitterShareButton>
|
||||
|
||||
|
||||
<LinkedinShareButton
|
||||
url={"https://www.linkedin.com/"}
|
||||
summary={"ee"}
|
||||
source={"https://www.linkedin.com/in/mysy-training-96b53a237/"}
|
||||
|
||||
>
|
||||
<SocialIcon network="linkedin" className="SocialIcon" />
|
||||
</LinkedinShareButton>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
|
||||
<div className="pieddepage">
|
||||
|
|
|
@ -6720,7 +6720,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
toolbar: false,
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:12px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:12px; }'
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
@ -7497,7 +7497,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
toolbar: false,
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:12px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:12px; }'
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
@ -9195,7 +9195,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
toolbar: false,
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -9220,7 +9220,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
|||
|
||||
|
||||
{String(SendEvaluationEmail_api) === "true" && <div className="div_row okUpdateData" style={{ "textAlign": "center" }}>
|
||||
La demande d'evaluation ete envoyée par email </div>}
|
||||
La demande d'evaluation a été envoyée par email </div>}
|
||||
|
||||
|
||||
<Button variant="contained" className="bton_envoyer" onClick={SendEvaluationEmail}>Envoi demande evaluation
|
||||
|
|
|
@ -2751,7 +2751,7 @@ const Groupe_Apprenant = (props) => {
|
|||
|
||||
{/*** Fin ajout GROUPE AUTOMATIC */}
|
||||
|
||||
<h3> Les groupes d'apprenants </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Les groupes d'apprenants </h3>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
|
|
|
@ -279,7 +279,7 @@ function HebergementLms(props) {
|
|||
img_height = this.height;
|
||||
img_width = this.width;
|
||||
_URL.revokeObjectURL(objectUrl);
|
||||
console.log(" img_width = ", img_width, " img_height = ", img_height)
|
||||
// console.log(" img_width = ", img_width, " img_height = ", img_height)
|
||||
|
||||
if (parseFloat(img_width) > 130 && parseFloat(img_width) < 260 &&
|
||||
parseFloat(img_height) > 60 && parseFloat(img_height) < 150) {
|
||||
|
@ -551,8 +551,6 @@ function HebergementLms(props) {
|
|||
//console.log(" img_height est = ", img_height, " < à 1500 ");
|
||||
|
||||
|
||||
|
||||
|
||||
if (String(event.target.files[0].name).length > 50) {
|
||||
sethandleSubmission_bg_message(" Le nom du fichier est trop long. il doit faire moins de 50 caractère");
|
||||
sethandleSubmission_bg_api("false");
|
||||
|
|
|
@ -1244,7 +1244,7 @@ function Inscription_Information(props) {
|
|||
|
||||
</div>}
|
||||
|
||||
<h3> Demande d'evaluation </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Demande d'evaluation </h3>
|
||||
<div className="div_row22 survey_block">
|
||||
<fieldset>
|
||||
<nav className="survey_title"> 1. Une <b>note </b> pour l'appréciation générale </nav>
|
||||
|
@ -1297,7 +1297,7 @@ function Inscription_Information(props) {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
toolbar: false,
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
</fieldset>
|
||||
|
@ -1525,7 +1525,7 @@ function Inscription_Information(props) {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
toolbar: false,
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -1771,7 +1771,7 @@ function Inscription_Information(props) {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
toolbar: false,
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
|
|
@ -3393,7 +3393,7 @@ const options_menu_vertical = [
|
|||
|
||||
{/******** FIN Menu Clique Droit test */}
|
||||
|
||||
<h3> Vos Factures </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes Factures </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
|
|
@ -6494,7 +6494,7 @@ function ExportMenuItem(props) {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">Info Stagiaire</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">Info Stagiaire</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
<div className="div_row_dialog">
|
||||
|
@ -6715,7 +6715,7 @@ function ExportMenuItem(props) {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">Tuteur {quel_tuteur}</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">Tuteur {quel_tuteur}</DialogTitle>
|
||||
{String(quel_tuteur) === "1" && <DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_tuteur_1_message}
|
||||
|
@ -7445,7 +7445,7 @@ function ExportMenuItem(props) {
|
|||
</Dialog>
|
||||
|
||||
{ /**** FIN Dialog Convention */}
|
||||
<h3> Vos stagiaires </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes stagiaires </h3>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
|
@ -10424,7 +10424,7 @@ function ExportMenuItem(props) {
|
|||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
toolbar: false,
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -10449,7 +10449,7 @@ function ExportMenuItem(props) {
|
|||
|
||||
|
||||
{String(SendEvaluationEmail_api) === "true" && <div className="div_row okUpdateData" style={{ "textAlign": "center" }}>
|
||||
La demande d'evaluation ete envoyée par email </div>}
|
||||
La demande d'evaluation a été envoyée par email </div>}
|
||||
|
||||
|
||||
<Button variant="contained" className="bton_enreg" onClick={SendEvaluationEmail}>Envoi demande evaluation
|
||||
|
@ -10726,7 +10726,7 @@ function ExportMenuItem(props) {
|
|||
|
||||
{String(props.formation_initiale) === "1" && String(submenu) === "ue" && String(addOneParticipant) !== "1" && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||
|
||||
<h3> Gestion des UE d'un inscrit </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Gestion des UE d'un inscrit </h3>
|
||||
<div className="div_row">
|
||||
|
||||
<div className="session_caract"> <b>Unite D'enseignement </b> <br />
|
||||
|
@ -10872,7 +10872,7 @@ function ExportMenuItem(props) {
|
|||
|
||||
{String(props.formation_initiale) === "1" && String(submenu) === "notes" && String(display_notes) === "1" && String(addOneParticipant) !== "1" && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||
|
||||
<h3> Les notes de l'inscrit </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Les notes de l'inscrit </h3>
|
||||
<div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
|
||||
<Button className="bton_emarge" onClick={(event) => {
|
||||
Export_Inscrit_Notes();
|
||||
|
|
|
@ -849,7 +849,7 @@ const Intranet_Tous_Documents = (props) => {
|
|||
</div>}
|
||||
|
||||
|
||||
<h3> Tous vos documents </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Tous vos documents </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1172,7 +1172,7 @@ const Module_Absence = (props) => {
|
|||
|
||||
</Dialog>
|
||||
|
||||
<h3> Planning </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Planning </h3>
|
||||
|
||||
<div style={{ "textAlign": "right", "float": "right", "width": "100%" }}>
|
||||
Affichage : <nav className="mode_affichage" onClick={func_display_planning_view}> <FcPlanner /> planning </nav>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import React, { useRef, useState, useEffect } from "react";
|
||||
import TextField from '@mui/material/TextField';
|
||||
import MenuItem from '@mui/material/MenuItem';
|
||||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||
import Button from '@mui/material/Button';
|
||||
import axios from "axios";
|
||||
|
@ -8,14 +7,8 @@ import { getCookie, setCookie } from 'react-use-cookie';
|
|||
import { useHistory } from "react-router-dom";
|
||||
|
||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
|
||||
import fileDownload from 'js-file-download'
|
||||
import Popup from 'reactjs-popup';
|
||||
import 'reactjs-popup/dist/index.css';
|
||||
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
|
||||
import DatePicker from "react-datepicker";
|
||||
import "react-datepicker/dist/react-datepicker.css";
|
||||
import { format } from 'date-fns'
|
||||
|
@ -26,12 +19,9 @@ import DialogActions from '@mui/material/DialogActions';
|
|||
import DialogContent from '@mui/material/DialogContent';
|
||||
import DialogContentText from '@mui/material/DialogContentText';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import { TransitionProps } from '@mui/material/transitions';
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
//import FullCalendar from "@fullcalendar/react";
|
||||
import daygridPlugin from "@fullcalendar/daygrid";
|
||||
//import interactionPlugin from "@fullcalendar/interaction";
|
||||
//import timeGridPlugin from "@fullcalendar/timegrid";
|
||||
|
||||
|
||||
import allLocales from '@fullcalendar/core/locales-all'
|
||||
|
||||
|
@ -39,9 +29,10 @@ import allLocales from '@fullcalendar/core/locales-all'
|
|||
import ToggleSwitch from "./ToggleSwitch";
|
||||
import Autocomplete from '@mui/material/Autocomplete';
|
||||
import FullCalendar, { formatDate } from "@fullcalendar/react";
|
||||
import dayGridPlugin from "@fullcalendar/daygrid";
|
||||
|
||||
import timeGridPlugin from "@fullcalendar/timegrid";
|
||||
import interactionPlugin from "@fullcalendar/interaction";
|
||||
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
|
||||
import Timeline, {
|
||||
|
@ -66,10 +57,48 @@ import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';
|
|||
import ArrowBackIosNewIcon from '@mui/icons-material/ArrowBackIosNew';
|
||||
import ExitToAppIcon from '@mui/icons-material/ExitToApp';
|
||||
|
||||
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 CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
|
||||
|
||||
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 Module_Agenda = (props) => {
|
||||
|
||||
const myconntected_employee_id = props.conntected_employee_id;
|
||||
|
||||
const classes = useStyles();
|
||||
const [selected_employee_id, setselected_employee_id] = useState(props.conntected_employee_id);
|
||||
|
||||
const history = useHistory();
|
||||
|
@ -270,7 +299,7 @@ const Module_Agenda = (props) => {
|
|||
|
||||
const [Get_List_Agenda_Events_For_Given_User_api, setGet_List_Agenda_Events_For_Given_User_api] = useState();
|
||||
const [Get_List_Agenda_Events_For_Given_User_message, setGet_List_Agenda_Events_For_Given_User_message] = useState();
|
||||
const [Get_List_Agenda_Events_For_Given_User_result, setGet_List_Agenda_Events_For_Given_User_result] = useState();
|
||||
const [Get_List_Agenda_Events_For_Given_User_result, setGet_List_Agenda_Events_For_Given_User_result] = useState([]);
|
||||
function Get_List_Agenda_Events_For_Given_User(local_selected_id) {
|
||||
|
||||
var local_related_collection = p_filtre1;
|
||||
|
@ -283,9 +312,6 @@ const Module_Agenda = (props) => {
|
|||
form.append("related_collection", local_related_collection);
|
||||
form.append("related_collection_recid", local_selected_id);
|
||||
|
||||
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_Agenda_Event_List/";
|
||||
|
||||
setLoading(true);
|
||||
|
@ -358,7 +384,7 @@ const Module_Agenda = (props) => {
|
|||
|
||||
const [Get_List_Agenda_Events_For_Many_Users_api, setGet_List_Agenda_Events_For_Many_Users_api] = useState();
|
||||
const [Get_List_Agenda_Events_For_Many_Users_message, setGet_List_Agenda_Events_For_Many_Users_message] = useState();
|
||||
const [Get_List_Agenda_Events_For_Many_Users_result, setGet_List_Agenda_Events_For_Many_Users_result] = useState();
|
||||
const [Get_List_Agenda_Events_For_Many_Users_result, setGet_List_Agenda_Events_For_Many_Users_result] = useState([]);
|
||||
function Get_List_Agenda_Events_For_Many_Users(tab_json_data, related_collection) {
|
||||
|
||||
var local_tab_ids = []
|
||||
|
@ -456,7 +482,7 @@ const Module_Agenda = (props) => {
|
|||
|
||||
const [Get_List_Agenda_Events_For_Me_api, setGet_List_Agenda_Events_For_Me_api] = useState();
|
||||
const [Get_List_Agenda_Events_For_Me_message, setGet_List_Agenda_Events_For_Me_message] = useState();
|
||||
const [Get_List_Agenda_Events_For_Me_result, setGet_List_Agenda_Events_For_Me_result] = useState();
|
||||
const [Get_List_Agenda_Events_For_Me_result, setGet_List_Agenda_Events_For_Me_result] = useState([]);
|
||||
function Get_List_Agenda_Events_For_Me(local_selected_id) {
|
||||
|
||||
var local_related_collection = p_filtre1;
|
||||
|
@ -610,8 +636,7 @@ const Module_Agenda = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const myEventsList = []
|
||||
const [events, setEvents] = useState([]);
|
||||
|
||||
const handleSelect = (info) => {
|
||||
|
||||
if (String(selected_employee_id).length < 2) {
|
||||
|
@ -1260,14 +1285,36 @@ const Module_Agenda = (props) => {
|
|||
}
|
||||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
{/*** Dialog detail eventement */}
|
||||
<Dialog
|
||||
open={Dialog_1_open}
|
||||
onClose={Dialog_1_handleClose}
|
||||
// onClose={Dialog_1_handleClose}
|
||||
|
||||
className="module_agenda"
|
||||
static
|
||||
onClose={() => null}
|
||||
|
||||
PaperProps={{
|
||||
|
||||
|
||||
className: classes.paper, // Apply the paper style
|
||||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
top: '7rem',
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
hideBackdrop={true}
|
||||
disableScrollLock
|
||||
classes={{
|
||||
paper: classes.dialog
|
||||
}}
|
||||
|
||||
PaperComponent={PaperComponent}
|
||||
aria-labelledby="draggable-dialog-title"
|
||||
|
||||
>
|
||||
|
||||
<DialogTitle>MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
|
@ -1304,30 +1351,7 @@ const Module_Agenda = (props) => {
|
|||
/>
|
||||
}
|
||||
/>
|
||||
{/*<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="event_dialog_type"
|
||||
id="event_dialog_type"
|
||||
|
||||
select
|
||||
fullWidth
|
||||
|
||||
value={p_detail_event_type}
|
||||
onChange={(e) => {
|
||||
if (String(props.write_access) === "1") {
|
||||
setp_detail_event_type(e.target.value);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
>
|
||||
<MenuItem value="absence" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Absence </MenuItem>
|
||||
<MenuItem value="planning" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Planning </MenuItem>
|
||||
<MenuItem value="autre" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Autre </MenuItem>
|
||||
|
||||
</TextField>*/}
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
@ -1454,6 +1478,16 @@ const Module_Agenda = (props) => {
|
|||
|
||||
|
||||
<DialogActions>
|
||||
|
||||
<IconButton
|
||||
autoFocus
|
||||
onClick={Close_Dialog_Detail_Event_open}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
<div className="div_row">
|
||||
{String(props.write_access) === "1" && String(p_detail_sequence_session_id) === "" && <div className="div_row_gauche">
|
||||
{p_detail_event_id && String(p_detail_event_id) !== "" && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog">Mettre à jour</Button>}
|
||||
|
@ -1487,8 +1521,10 @@ const Module_Agenda = (props) => {
|
|||
</DialogActions>}
|
||||
|
||||
</Dialog>
|
||||
{/*** FIn Dialog detail eventement */}
|
||||
|
||||
<h3> Planning </h3>
|
||||
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Planning </h3>
|
||||
|
||||
|
||||
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
@ -1600,29 +1636,7 @@ const Module_Agenda = (props) => {
|
|||
</div>}
|
||||
|
||||
{p_filtre1 && String(p_filtre1) === "ressource_materielle" && <div className="div_row_droite texte_area_filter_value" >
|
||||
{/*} <Autocomplete
|
||||
disablePortal
|
||||
name="filtre1_value"
|
||||
id="filtre1_value"
|
||||
className="disabled_style"
|
||||
options={New_Getall_Training_Materiel_No_Filter_result}
|
||||
|
||||
onChange={(event, value) => {
|
||||
if (value && value._id) {
|
||||
|
||||
Get_Ressource_Data(value._id)
|
||||
setselected_employee_id(value._id);
|
||||
Get_List_Agenda_Events_For_Given_User(value._id);
|
||||
|
||||
}
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>*/}
|
||||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
@ -1681,6 +1695,7 @@ const Module_Agenda = (props) => {
|
|||
editable
|
||||
selectable
|
||||
//events={events}
|
||||
contentHeight='auto'
|
||||
events={mysy_events}
|
||||
|
||||
select={handleSelect}
|
||||
|
@ -1800,7 +1815,7 @@ const Module_Agenda = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div style={{ width: '15rem', float: 'right', paddingTop:'5px' }}>
|
||||
<div style={{ width: '15rem', float: 'right', paddingTop: '5px' }}>
|
||||
|
||||
<DatePicker
|
||||
name="event_dialog_start"
|
||||
|
|
|
@ -33,7 +33,7 @@ const Module_Alert_Confirmation = (props) => {
|
|||
<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 />
|
||||
}}> <IoCloseCircleOutline style={{color:'#FFF'}}/>
|
||||
</Stack>
|
||||
</div>}
|
||||
|
||||
|
@ -48,7 +48,7 @@ const Module_Alert_Confirmation = (props) => {
|
|||
<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 />
|
||||
}}> <IoCloseCircleOutline style={{color:'#FFF'}}/>
|
||||
</Stack>
|
||||
|
||||
</div>}
|
||||
|
@ -64,7 +64,7 @@ const Module_Alert_Confirmation = (props) => {
|
|||
<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 />
|
||||
}}> <IoCloseCircleOutline style={{color:'#FFF'}}/>
|
||||
</Stack>
|
||||
</div>}
|
||||
|
||||
|
@ -81,7 +81,7 @@ const Module_Alert_Confirmation = (props) => {
|
|||
<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 />
|
||||
}}> <IoCloseCircleOutline style={{color:'#FFF'}}/>
|
||||
</Stack>
|
||||
|
||||
</div>}
|
||||
|
|
|
@ -29,6 +29,7 @@ import Autocomplete from '@mui/material/Autocomplete';
|
|||
import { gridClasses } from '@mui/x-data-grid';
|
||||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree } from "react-icons/pi";
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
|
||||
const Module_Attestation_Formation = (props) => {
|
||||
|
||||
|
@ -104,9 +105,9 @@ const Module_Attestation_Formation = (props) => {
|
|||
const columns_attestations = [
|
||||
{ field: 'id', headerName: 'id', hide: true },
|
||||
{ field: '_id', headerName: '_id', hide: true },
|
||||
{ field: 'email', headerName: 'email', minwidth: 200, flex : 1, hideable: true, resizable: true, },
|
||||
{ field: 'nom', headerName: 'nom',minwidth: 200, flex : 1, hide: false, editable: true, },
|
||||
{ field: 'prenom', headerName: 'prenom',minwidth: 200, flex : 1, hide: false, editable: false, },
|
||||
{ field: 'email', headerName: 'email', minwidth: 200, flex: 1, hideable: true, resizable: true, },
|
||||
{ field: 'nom', headerName: 'nom', minwidth: 200, flex: 1, hide: false, editable: true, },
|
||||
{ field: 'prenom', headerName: 'prenom', minwidth: 200, flex: 1, hide: false, editable: false, },
|
||||
{
|
||||
field: 'status', headerName: 'Statut', width: 100, editable: false, flex: true,
|
||||
valueFormatter: (params) => {
|
||||
|
@ -268,7 +269,10 @@ const Module_Attestation_Formation = (props) => {
|
|||
setCreateLis_Attestation_Ftion_api("true");
|
||||
setCreateLis_Attestation_Ftion_result(res.data.message);
|
||||
Getall_Attestation_By_Session();
|
||||
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")) {
|
||||
alert('Erreur: ' + res.data.message);
|
||||
|
@ -277,14 +281,20 @@ const Module_Attestation_Formation = (props) => {
|
|||
else {
|
||||
setCreateLis_Attestation_Ftion_api("false");
|
||||
setCreateLis_Attestation_Ftion_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) => {
|
||||
setLoading(false);
|
||||
console.warn('CreateLis_Attestation_Ftion : Not good man :( mysearchtext = ' + error);
|
||||
setCreateLis_Attestation_Ftion_api("false");
|
||||
alert(" Impossible d'initialiser la liste des attestations");
|
||||
// alert(" Impossible d'initialiser la liste des attestations");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'initialiser la liste des attestations");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -316,7 +326,10 @@ const Module_Attestation_Formation = (props) => {
|
|||
setCreateLis_Attestation_Ftion_For_Session_api("true");
|
||||
setCreateLis_Attestation_Ftion_For_Session_result(res.data.message);
|
||||
Getall_Attestation_By_Session();
|
||||
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")) {
|
||||
alert('Erreur: ' + res.data.message);
|
||||
|
@ -325,14 +338,20 @@ const Module_Attestation_Formation = (props) => {
|
|||
else {
|
||||
setCreateLis_Attestation_Ftion_For_Session_api("false");
|
||||
setCreateLis_Attestation_Ftion_For_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) => {
|
||||
setLoading(false);
|
||||
console.warn('CreateLis_Attestation_Ftion_For_Session : Not good man :( mysearchtext = ' + error);
|
||||
setCreateLis_Attestation_Ftion_For_Session_api("false");
|
||||
alert(" Impossible d'initialiser la liste des attestations");
|
||||
//alert(" Impossible d'initialiser la liste des attestations");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'initialiser la liste des attestations");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -367,7 +386,11 @@ const Module_Attestation_Formation = (props) => {
|
|||
setSend_Attestation_By_Email_For_Ids_api("true");
|
||||
setSend_Attestation_By_Email_For_Ids_result(res.data.message);
|
||||
Getall_Attestation_By_Session();
|
||||
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")) {
|
||||
alert('Erreur: ' + res.data.message);
|
||||
|
@ -376,14 +399,20 @@ const Module_Attestation_Formation = (props) => {
|
|||
else {
|
||||
setSend_Attestation_By_Email_For_Ids_api("false");
|
||||
setSend_Attestation_By_Email_For_Ids_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) => {
|
||||
setLoading(false);
|
||||
console.warn('Send_Attestation_By_Email_For_Ids : Not good man :( mysearchtext = ' + error);
|
||||
setSend_Attestation_By_Email_For_Ids_api("false");
|
||||
alert(" Impossible d'envoyer les attestations");
|
||||
// alert(" Impossible d'envoyer les attestations");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'envoyer les attestations");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -396,7 +425,7 @@ const Module_Attestation_Formation = (props) => {
|
|||
|
||||
if (String(actionmass_attesation_val) === String("reinit")) {
|
||||
|
||||
alert(" ### reinit");
|
||||
// alert(" ### reinit");
|
||||
|
||||
}
|
||||
|
||||
|
@ -508,14 +537,20 @@ const Module_Attestation_Formation = (props) => {
|
|||
else {
|
||||
setGet_List_Stagiaire_Attestation_Ftion_api("false");
|
||||
setGet_List_Stagiaire_Attestation_Ftion_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) => {
|
||||
setLoading(false);
|
||||
console.warn('Not good man :( Get_List_Stagiaire_Attestation_Ftion = ', error);
|
||||
setGet_List_Stagiaire_Attestation_Ftion_api("false");
|
||||
alert("Impossible de récupérer les modèles de convocations");
|
||||
// alert("Impossible de récupérer les modèles de convocations");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible de récupérer les modèles de convocations");
|
||||
setalert_type("error");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -527,6 +562,20 @@ const Module_Attestation_Formation = (props) => {
|
|||
const [action_server_ref_interne_doc, setaction_server_ref_interne_doc] = useState("");
|
||||
const [action_server_type_doc_ref_interne, setaction_server_type_doc_ref_interne] = useState("");
|
||||
|
||||
const [display_alert_mysy, setdisplay_alert_mysy] = useState("");
|
||||
const [alert_message, setalert_message] = useState("");
|
||||
const [alert_type, setalert_type] = useState("");
|
||||
|
||||
function clear_alert_message() {
|
||||
setalert_message("");
|
||||
}
|
||||
function clear_alert_type() {
|
||||
setalert_type("");
|
||||
}
|
||||
function clear_display_alert_mysy() {
|
||||
setdisplay_alert_mysy("");
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
<div className="module_attestation_formation">
|
||||
|
@ -534,6 +583,17 @@ const Module_Attestation_Formation = (props) => {
|
|||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
{/*** Affichage des messages d'alerte*/}
|
||||
{display_alert_mysy && String(display_alert_mysy) === "1" &&
|
||||
<Module_Alert_Confirmation alert_message={alert_message}
|
||||
alert_type={alert_type}
|
||||
clear_alert_message={clear_alert_message}
|
||||
clear_alert_type={clear_alert_type}
|
||||
clear_display_alert_mysy={clear_display_alert_mysy}
|
||||
/>
|
||||
}
|
||||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
<Dialog
|
||||
open={Dialog_1_open}
|
||||
onClose={Dialog_1_handleClose}
|
||||
|
@ -622,7 +682,7 @@ const Module_Attestation_Formation = (props) => {
|
|||
}
|
||||
}}
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
|
@ -660,7 +720,7 @@ const Module_Attestation_Formation = (props) => {
|
|||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
|
@ -729,8 +789,6 @@ const Module_Attestation_Formation = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
<Button onClick={Dialog_LIST_ATTESTATION_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>
|
||||
</div>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -883,7 +883,7 @@ const Module_Email_Management = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
|
|
@ -374,7 +374,10 @@ const Module_Evaluation_Positionnement = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('Create_List_Survey_For_Session_For_Inscrit : Not good man :( mysearchtext = ' + error);
|
||||
setCreate_List_Survey_For_Session_For_Inscrit_api("false");
|
||||
alert(" Impossible d'initialiser la liste des enquête de positionnement ");
|
||||
// alert(" Impossible d'initialiser la liste des enquête de positionnement ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'initialiser la liste des enquête de positionnement ");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -484,7 +487,10 @@ const Module_Evaluation_Positionnement = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('Send_Survey_By_Email_For_Ids : Not good man :( mysearchtext = ' + error);
|
||||
setSend_Survey_By_Email_For_Ids_api("false");
|
||||
alert(" Impossible d'envoyer les demandes");
|
||||
// alert(" Impossible d'envoyer les demandes");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'envoyer les demandes");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -504,7 +510,10 @@ const Module_Evaluation_Positionnement = (props) => {
|
|||
setLoading(false);
|
||||
//console.log(" In Export_Dashbord_to_CSV res.data = " + res.data);
|
||||
if (String(res.data) === String("false")) {
|
||||
alert("Impossible d'exporter les réponses (2) ");
|
||||
// alert("Impossible d'exporter les réponses (2) ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'exporter les réponses (2)");
|
||||
setalert_type("error");
|
||||
} else {
|
||||
fileDownload(res.data, nom_fichier_cmd)
|
||||
|
||||
|
@ -512,7 +521,10 @@ const Module_Evaluation_Positionnement = (props) => {
|
|||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
alert(" Impossible d'exporter les réponses ")
|
||||
// alert(" Impossible d'exporter les réponses ")
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'exporter les réponses");
|
||||
setalert_type("error");
|
||||
|
||||
});
|
||||
|
||||
|
@ -535,7 +547,7 @@ const Module_Evaluation_Positionnement = (props) => {
|
|||
}
|
||||
var nom_fichier_cmd = "Q_Position.zip";
|
||||
|
||||
var url = process.env.REACT_APP_API_URL + "myclass/api/Export_To_Excel_Survey_with_filter_Tab_Survey_Id/" + stored_cookie + "/" + tab_ids_survey.toString()+"/Positionnement";
|
||||
var url = process.env.REACT_APP_API_URL + "myclass/api/Export_To_Excel_Survey_with_filter_Tab_Survey_Id/" + stored_cookie + "/" + tab_ids_survey.toString() + "/Positionnement";
|
||||
|
||||
|
||||
setLoading(true);
|
||||
|
@ -605,13 +617,34 @@ const Module_Evaluation_Positionnement = (props) => {
|
|||
|
||||
<Dialog
|
||||
open={Dialog_1_open}
|
||||
onClose={Dialog_1_handleClose}
|
||||
// onClose={Dialog_1_handleClose}
|
||||
|
||||
className="module_agenda"
|
||||
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 style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_1_message}
|
||||
|
@ -641,9 +674,17 @@ const Module_Evaluation_Positionnement = (props) => {
|
|||
|
||||
</DialogContent>
|
||||
|
||||
|
||||
|
||||
<DialogActions>
|
||||
|
||||
<IconButton
|
||||
// autoFocus
|
||||
onClick={Close_Dialog_Detail_Event_open}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button onClick={"Update_One_Agenda_Event"} className="bton_enreg_dialog">Mettre à jour</Button>
|
||||
|
@ -689,7 +730,7 @@ const Module_Evaluation_Positionnement = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "30rem" }}>
|
||||
<DialogContentText>
|
||||
{Dialog_1_message}
|
||||
|
@ -756,9 +797,6 @@ const Module_Evaluation_Positionnement = (props) => {
|
|||
}}
|
||||
className="bton_enreg_dialog">Initialiser la liste </Button>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -79,11 +79,8 @@ const Module_Historique_Action = (props) => {
|
|||
//menu_info();
|
||||
Get_List_Historic_Action();
|
||||
|
||||
var divh = document.getElementById('div_header').offsetTop;
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
});
|
||||
//var divh = document.getElementById('div_header').offsetTop;
|
||||
|
||||
|
||||
|
||||
}, [related_collection_recid]);
|
||||
|
|
|
@ -360,7 +360,7 @@ const Module_IA = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>*/}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React, { useRef, useState, useEffect } from "react";
|
||||
import TextField from '@mui/material/TextField';
|
||||
import MenuItem from '@mui/material/MenuItem';
|
||||
|
||||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||
import Button from '@mui/material/Button';
|
||||
import axios from "axios";
|
||||
|
@ -8,14 +8,10 @@ import { getCookie, setCookie } from 'react-use-cookie';
|
|||
import { useHistory } from "react-router-dom";
|
||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
import { Editor } from '@tinymce/tinymce-react';
|
||||
import parse from 'html-react-parser';
|
||||
import { FcViewDetails, FcDisapprove, FcInfo } from "react-icons/fc";
|
||||
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
import add_plus from "../mysy_img/plus.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 'reactjs-popup/dist/index.css';
|
||||
|
@ -27,13 +23,8 @@ import { format } from 'date-fns'
|
|||
import moment from "moment";
|
||||
import 'moment/locale/fr';
|
||||
|
||||
import InputAdornment from '@mui/material/InputAdornment';
|
||||
import { AiFillCloseCircle, AiOutlineConsoleSql } from "react-icons/ai";
|
||||
import Box from '@mui/material/Box';
|
||||
import { Typography, LinearProgress } from '@mui/material';
|
||||
import styled from 'styled-components';
|
||||
import { CiTrash } from "react-icons/ci";
|
||||
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
|
||||
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import DialogContent from '@mui/material/DialogContent';
|
||||
|
@ -41,39 +32,17 @@ import DialogContentText from '@mui/material/DialogContentText';
|
|||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import { ResetTvRounded, RestoreFromTrashRounded } from "@mui/icons-material";
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import { Fab } from "@material-ui/core";
|
||||
import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
||||
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
|
||||
import { confirmAlert } from 'react-confirm-alert';
|
||||
import ToggleSwitch from "./ToggleSwitch";
|
||||
import Module_Historique_Action from "./Module_Historique_Action";
|
||||
import { HiDocumentCheck } from "react-icons/hi2";
|
||||
import { BsSend } from "react-icons/bs";
|
||||
|
||||
import Autocomplete from '@mui/material/Autocomplete';
|
||||
import { FcOpenedFolder } from "react-icons/fc";
|
||||
import { gridClasses } from '@mui/x-data-grid';
|
||||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree } from "react-icons/pi";
|
||||
import Module_Editique from "./Module_Editique";
|
||||
import Module_Attestation_Formation from "./Module_Attestation_Formation";
|
||||
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint, FcPlanner } from "react-icons/fc";
|
||||
import { CiBoxList } from "react-icons/ci";
|
||||
import FullCalendar from "@fullcalendar/react";
|
||||
import daygridPlugin from "@fullcalendar/daygrid";
|
||||
import interactionPlugin from "@fullcalendar/interaction";
|
||||
import timeGridPlugin from "@fullcalendar/timegrid";
|
||||
import resourceTimeGridPlugin from '@fullcalendar/resource-timegrid';
|
||||
import Radio from '@mui/material/Radio';
|
||||
import RadioGroup from '@mui/material/RadioGroup';
|
||||
import FormControlLabel from '@mui/material/FormControlLabel';
|
||||
import FormControl from '@mui/material/FormControl';
|
||||
import FormLabel from '@mui/material/FormLabel';
|
||||
|
||||
import allLocales from '@fullcalendar/core/locales-all'
|
||||
import listPlugin from '@fullcalendar/list';
|
||||
import multiMonthPlugin from '@fullcalendar/multimonth'
|
||||
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
|
||||
const Module_Session_Evaluation = (props) => {
|
||||
|
||||
|
@ -332,14 +301,21 @@ const Module_Session_Evaluation = (props) => {
|
|||
else {
|
||||
setGetall_Training_Employee_No_Filter_api("false");
|
||||
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("success");
|
||||
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.warn('Not good man :( Getall_Training_Employee_No_Filter = ', error);
|
||||
setGetall_Training_Employee_No_Filter_api("false");
|
||||
alert(" Impossible de recuperer la liste des employés");
|
||||
// alert(" Impossible de recuperer la liste des employés");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de recuperer la liste des employés");
|
||||
setalert_type("error");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -400,7 +376,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
else {
|
||||
setGetall_Training_Materiel_No_Filter_api("false");
|
||||
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) => {
|
||||
|
@ -408,7 +387,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('Not good man :( Getall_Training_Materiel_No_Filter = ', error);
|
||||
setGetall_Training_Materiel_No_Filter_api("false");
|
||||
alert(" Impossible de recuperer la liste du materiel");
|
||||
//alert(" Impossible de recuperer la liste du materiel");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de recuperer la liste du materiel");
|
||||
setalert_type("error");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -559,7 +541,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
setCreate_List_Survey_hot_eval_For_Session_For_Inscrit_api("true");
|
||||
setCreate_List_Survey_hot_eval_For_Session_For_Inscrit_result(res.data.message);
|
||||
Getall_Survey_hot_evaluation_By_Session();
|
||||
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")) {
|
||||
alert('Erreur: ' + res.data.message);
|
||||
|
@ -568,14 +553,22 @@ const Module_Session_Evaluation = (props) => {
|
|||
else {
|
||||
setCreate_List_Survey_hot_eval_For_Session_For_Inscrit_api("false");
|
||||
setCreate_List_Survey_hot_eval_For_Session_For_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) => {
|
||||
setLoading(false);
|
||||
console.warn('Create_List_Survey_hot_eval_For_Session_For_Inscrit : Not good man :( mysearchtext = ' + error);
|
||||
setCreate_List_Survey_hot_eval_For_Session_For_Inscrit_api("false");
|
||||
alert(" Impossible d'initialiser la liste des enquête de positionnement ");
|
||||
// alert(" Impossible d'initialiser la liste des enquête de positionnement ");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'initialiser la liste des enquête de positionnement ");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -872,7 +865,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
setCreate_List_Survey_cold_eval_For_Session_For_Inscrit_api("true");
|
||||
setCreate_List_Survey_cold_eval_For_Session_For_Inscrit_result(res.data.message);
|
||||
Getall_Survey_cold_evaluation_By_Session();
|
||||
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")) {
|
||||
alert('Erreur: ' + res.data.message);
|
||||
|
@ -881,14 +877,21 @@ const Module_Session_Evaluation = (props) => {
|
|||
else {
|
||||
setCreate_List_Survey_cold_eval_For_Session_For_Inscrit_api("false");
|
||||
setCreate_List_Survey_cold_eval_For_Session_For_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) => {
|
||||
setLoading(false);
|
||||
console.warn('Create_List_Survey_cold_eval_For_Session_For_Inscrit : Not good man :( mysearchtext = ' + error);
|
||||
setCreate_List_Survey_cold_eval_For_Session_For_Inscrit_api("false");
|
||||
alert(" Impossible d'initialiser la liste des enquête de positionnement ");
|
||||
// alert(" Impossible d'initialiser la liste des enquête de positionnement ");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'initialiser la liste des enquête de positionnement");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -900,7 +903,12 @@ const Module_Session_Evaluation = (props) => {
|
|||
function Create_List_Survey_eval_formateur_For_Session_For_Inscrit() {
|
||||
|
||||
if (String(selected_formateur_id) === "" || String(selected_formateur_id).length < 5) {
|
||||
alert(" Vous devez choisir un formateur ");
|
||||
//alert(" Vous devez choisir un formateur ");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez choisir un formateur ");
|
||||
setalert_type("error");
|
||||
|
||||
return;
|
||||
}
|
||||
var form = new FormData();
|
||||
|
@ -930,7 +938,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_result(res.data.message);
|
||||
Getall_Survey_formateur_evaluation_By_Session();
|
||||
setselected_formateur_id("");
|
||||
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")) {
|
||||
alert('Erreur: ' + res.data.message);
|
||||
|
@ -939,14 +950,20 @@ const Module_Session_Evaluation = (props) => {
|
|||
else {
|
||||
setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_api("false");
|
||||
setCreate_List_Survey_eval_formateur_For_Session_For_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) => {
|
||||
setLoading(false);
|
||||
console.warn('Create_List_Survey_eval_formateur_For_Session_For_Inscrit : Not good man :( mysearchtext = ' + error);
|
||||
setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_api("false");
|
||||
alert(" Impossible d'initialiser la liste des enquête ");
|
||||
// alert(" Impossible d'initialiser la liste des enquête ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'initialiser la liste des enquête ");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -1113,7 +1130,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
setactionmass_eval_formateur("");
|
||||
|
||||
|
||||
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")) {
|
||||
alert('Erreur: ' + res.data.message);
|
||||
|
@ -1122,14 +1142,22 @@ const Module_Session_Evaluation = (props) => {
|
|||
else {
|
||||
setSend_Survey_By_Email_For_Ids_api("false");
|
||||
setSend_Survey_By_Email_For_Ids_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) => {
|
||||
setLoading(false);
|
||||
console.warn('Send_Survey_By_Email_For_Ids : Not good man :( mysearchtext = ' + error);
|
||||
setSend_Survey_By_Email_For_Ids_api("false");
|
||||
alert(" Impossible d'envoyer les demandes");
|
||||
// alert(" Impossible d'envoyer les demandes");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'envoyer les demandes");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -1213,7 +1241,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
setLoading(false);
|
||||
//console.log(" In Export_Dashbord_to_CSV res.data = " + res.data);
|
||||
if (String(res.data) === String("false")) {
|
||||
alert("Impossible d'exporter les réponses (2) ");
|
||||
// alert("Impossible d'exporter les réponses (2) ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'exporter les réponses (2) ");
|
||||
setalert_type("error");
|
||||
} else {
|
||||
fileDownload(res.data, nom_fichier_cmd)
|
||||
|
||||
|
@ -1221,7 +1252,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
alert(" Impossible d'exporter les réponses ")
|
||||
// alert(" Impossible d'exporter les réponses ")
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'exporter les réponses ");
|
||||
setalert_type("error");
|
||||
|
||||
});
|
||||
|
||||
|
@ -1244,7 +1278,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
setLoading(false);
|
||||
//console.log(" In Export_Dashbord_to_CSV res.data = " + res.data);
|
||||
if (String(res.data) === String("false")) {
|
||||
alert("Impossible d'exporter les réponses (2) ");
|
||||
// alert("Impossible d'exporter les réponses (2) ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'exporter les réponses (2) ");
|
||||
setalert_type("error");
|
||||
} else {
|
||||
fileDownload(res.data, nom_fichier_cmd)
|
||||
|
||||
|
@ -1252,7 +1289,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
alert(" Impossible d'exporter les réponses ")
|
||||
// alert(" Impossible d'exporter les réponses ")
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'exporter les réponses ");
|
||||
setalert_type("error");
|
||||
|
||||
});
|
||||
|
||||
|
@ -1276,7 +1316,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
setLoading(false);
|
||||
//console.log(" In Export_Dashbord_to_CSV res.data = " + res.data);
|
||||
if (String(res.data) === String("false")) {
|
||||
alert("Impossible d'exporter les réponses (2) ");
|
||||
//alert("Impossible d'exporter les réponses (2) ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'exporter les réponses (2) ");
|
||||
setalert_type("error");
|
||||
} else {
|
||||
fileDownload(res.data, nom_fichier_cmd)
|
||||
|
||||
|
@ -1284,7 +1327,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
alert(" Impossible d'exporter les réponses ")
|
||||
// alert(" Impossible d'exporter les réponses ")
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'exporter les réponses ");
|
||||
setalert_type("error");
|
||||
|
||||
});
|
||||
|
||||
|
@ -1299,7 +1345,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
|
||||
|
||||
if (tab_ids_survey.length <= 0) {
|
||||
alert(" Aucune ligne selectionnée ");
|
||||
// alert(" Aucune ligne selectionnée ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Aucune ligne selectionnée ");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
var nom_fichier_cmd = "export_evaluation.zip";
|
||||
|
@ -1313,7 +1362,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
setLoading(false);
|
||||
//console.log(" In Export_Dashbord_to_CSV res.data = " + res.data);
|
||||
if (String(res.data) === String("false")) {
|
||||
alert("Impossible d'exporter les réponses (2) ");
|
||||
// alert("Impossible d'exporter les réponses (2) ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'exporter les réponses (2) ");
|
||||
setalert_type("error");
|
||||
} else {
|
||||
fileDownload(res.data, nom_fichier_cmd);
|
||||
|
||||
|
@ -1332,7 +1384,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
alert(" Impossible d'exporter les réponses ")
|
||||
//alert(" Impossible d'exporter les réponses ");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'exporter les réponses ");
|
||||
setalert_type("error");
|
||||
|
||||
});
|
||||
|
||||
|
@ -1384,6 +1439,20 @@ const Module_Session_Evaluation = (props) => {
|
|||
setDialog_LIST_EVALUATION_FORMATEUR_open(false);
|
||||
};
|
||||
|
||||
const [display_alert_mysy, setdisplay_alert_mysy] = useState("");
|
||||
const [alert_message, setalert_message] = useState("");
|
||||
const [alert_type, setalert_type] = useState("");
|
||||
|
||||
function clear_alert_message() {
|
||||
setalert_message("");
|
||||
}
|
||||
function clear_alert_type() {
|
||||
setalert_type("");
|
||||
}
|
||||
function clear_display_alert_mysy() {
|
||||
setdisplay_alert_mysy("");
|
||||
}
|
||||
|
||||
|
||||
return (
|
||||
<div className="modulesessionevaluation">
|
||||
|
@ -1392,6 +1461,18 @@ const Module_Session_Evaluation = (props) => {
|
|||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
{/*** Affichage des messages d'alerte*/}
|
||||
{display_alert_mysy && String(display_alert_mysy) === "1" &&
|
||||
<Module_Alert_Confirmation alert_message={alert_message}
|
||||
alert_type={alert_type}
|
||||
clear_alert_message={clear_alert_message}
|
||||
clear_alert_type={clear_alert_type}
|
||||
clear_display_alert_mysy={clear_display_alert_mysy}
|
||||
/>
|
||||
}
|
||||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
|
||||
{/* Dialog pour gerer les LIST_HOT_EVALUATION_QUESTION */}
|
||||
<Dialog
|
||||
open={Dialog_LIST_HOT_EVALUATION_QUESTION_open}
|
||||
|
@ -1634,7 +1715,10 @@ const Module_Session_Evaluation = (props) => {
|
|||
|
||||
} else {
|
||||
|
||||
alert(" Vous devez choisir un formateur ")
|
||||
// alert(" Vous devez choisir un formateur ")
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez choisir un formateur ");
|
||||
setalert_type("error");
|
||||
}
|
||||
}}
|
||||
|
||||
|
@ -1675,7 +1759,6 @@ const Module_Session_Evaluation = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
<Button onClick={Dialog_LIST_EVALUATION_FORMATEUR_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>
|
||||
</div>
|
||||
|
|
|
@ -614,7 +614,7 @@ const Module_Session_Planification = (props) => {
|
|||
const [selected_sequence_endDate, setselected_sequence_endDate] = useState(new Date());
|
||||
|
||||
|
||||
const [display_view, setdisplay_view] = useState("list");
|
||||
const [display_view, setdisplay_view] = useState("planning");
|
||||
function func_display_planning_view() {
|
||||
setdisplay_view("planning");
|
||||
}
|
||||
|
@ -1034,7 +1034,7 @@ const Module_Session_Planification = (props) => {
|
|||
return;
|
||||
}
|
||||
|
||||
console.log(" form == ", form);
|
||||
console.log(" form uuu == ", form);
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Sequence_Affectation_Ressource_Poste/";
|
||||
|
@ -1412,8 +1412,6 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Sequence_Affectation_Ressource_Poste_Mass/";
|
||||
|
||||
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Add_One_Sequence_Session_Ressource_Mass res.data.status = " + res.data.status);
|
||||
|
@ -1490,6 +1488,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
//console.log(" ##NB_Sequence = ", res.data.message.length);
|
||||
setnb_sequence(res.data.message.length);
|
||||
//props.setnb_sequence(res.data.message.length);
|
||||
|
||||
var new_data2 = [];
|
||||
const new_data = res.data.message.map((x) => {
|
||||
|
@ -1593,6 +1592,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
//console.log(" ##NB_Sequence = ", res.data.message.length);
|
||||
setnb_sequence(res.data.message.length);
|
||||
// props.setnb_sequence(res.data.message.length);
|
||||
|
||||
var new_data2 = [];
|
||||
const new_data = res.data.message.map((x) => {
|
||||
|
@ -2569,6 +2569,8 @@ const Module_Session_Planification = (props) => {
|
|||
setDialog_seq_choix_model_emargement_open(false);
|
||||
setDialog_seq_planif_periode_type("");
|
||||
|
||||
setnb_sequence(res.data.nb_sequence);
|
||||
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
|
@ -2652,6 +2654,8 @@ const Module_Session_Planification = (props) => {
|
|||
setDialog_seq_choix_model_emargement_open(false);
|
||||
setDialog_seq_planif_periode_type("");
|
||||
|
||||
setnb_sequence(res.data.nb_sequence);
|
||||
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
|
@ -3897,13 +3901,11 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
{Dialog_seq_ressource_1_selected_ressource_id && <div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
|
||||
|
||||
<Button onClick={Add_One_Ressource_Fom_Dialog_Sequence} className="bton_enreg_dialog">Ajout Ress. <PlaylistAddOutlinedIcon /> </Button>
|
||||
|
||||
</div>
|
||||
|
@ -3980,9 +3982,6 @@ const Module_Session_Planification = (props) => {
|
|||
Aucune ressource.
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
|
@ -6003,7 +6002,6 @@ const Module_Session_Planification = (props) => {
|
|||
setp_detail_sequence_objectif(newSelectionModel.row.objectif);
|
||||
setp_detail_sequence_comment(newSelectionModel.row.commentaire);
|
||||
|
||||
|
||||
Getall_List_Sequence_Ressource(newSelectionModel.row._id);
|
||||
|
||||
setselected_sequence_id(newSelectionModel.row._id);
|
||||
|
@ -6161,10 +6159,10 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
{display_view && String(display_view) === "planning" && Getall_Sequence_Of_Session_result_planning_view &&
|
||||
<div style={{ "border": "None" }}>
|
||||
<h3> Affichage planning</h3>
|
||||
|
||||
|
||||
|
||||
<div style={{ "width": "98%", "marginLeft": "5px", }} >
|
||||
<div style={{ "width": "98%", "marginLeft": "5px", padding:'10px'}} >
|
||||
|
||||
<FullCalendar
|
||||
height={550}
|
||||
|
@ -6195,15 +6193,8 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
{new_planification_lines && new_planification_lines.length > 0 && <div className='div_row' style={{ backgroundColor: '#FBF2EF' }}>
|
||||
|
@ -6271,31 +6262,7 @@ const Module_Session_Planification = (props) => {
|
|||
className="datagridclass"
|
||||
|
||||
onRowDoubleClick={(newSelectionModel) => {
|
||||
/*
|
||||
setsequence_gridline_id(newSelectionModel.row.id);
|
||||
setselected_detail_sequence_title(newSelectionModel.row.sequence_title);
|
||||
setselected_sequence_startDate(newSelectionModel.row.sequence_start);
|
||||
setselected_sequence_endDate(newSelectionModel.row.sequence_end);
|
||||
|
||||
setp_detail_sequence_agenda(newSelectionModel.row.agenda);
|
||||
setp_detail_sequence_objectif(newSelectionModel.row.objectif);
|
||||
setp_detail_sequence_comment(newSelectionModel.row.commentaire);
|
||||
|
||||
|
||||
Getall_List_Sequence_Ressource(newSelectionModel.row._id);
|
||||
|
||||
setselected_sequence_id(newSelectionModel.row._id);
|
||||
setdisplay_detail_sequence("1");
|
||||
|
||||
if (document.getElementById('myRef_seq_ressource')) {
|
||||
var divh = document.getElementById('myRef_seq_ressource').offsetTop;
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
});
|
||||
}
|
||||
|
||||
*/ }}
|
||||
}}
|
||||
|
||||
|
||||
|
||||
|
@ -6366,7 +6333,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
{display_view && String(display_view) === "planning" &&
|
||||
<div style={{ "border": "None" }}>
|
||||
<h3> Affichage planning</h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Affichage planning</h3>
|
||||
|
||||
|
||||
<div style={{ "width": "98%", "marginLeft": "5px", }} >
|
||||
|
|
|
@ -884,8 +884,8 @@ const Modules_Mes_Documents = (props) => {
|
|||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
{props.my_title && <h3> {props.my_title} </h3>}
|
||||
{!props.my_title && <h3> Tous vos documents </h3>}
|
||||
{props.my_title && <h3 style={{ fontFamily:'DM Sans' }}> {props.my_title} </h3>}
|
||||
{!props.my_title && <h3 style={{ fontFamily:'DM Sans' }}> Tous vos documents </h3>}
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
|
|
@ -32,25 +32,6 @@ import tick_ko from "../mysy_img/tick_KO.png";
|
|||
|
||||
import img_header from "../mysy_img2/img_header.png"
|
||||
|
||||
import { SelectChangeEvent } from '@mui/material/Select';
|
||||
import Chip from '@mui/material/Chip';
|
||||
import Select, { StylesConfig } from 'react-select';
|
||||
|
||||
import mysy_logo2 from "../mysy_img2/Logo_MySy.png"
|
||||
import { AiTwotoneFolder } from "react-icons/ai";
|
||||
import serv_img_market_digi from "../mysy_img/market_digi.jpg";
|
||||
import serv_img_gestion_admin from "../mysy_img/gestion_admin_2.jpg";
|
||||
import serv_img_publication from "../mysy_img/publication.jpg";
|
||||
|
||||
import mysy_search from "../mysy_img2/mysy_search.jpg";
|
||||
import mysy_lms from "../mysy_img2/mysy_e_learning.jpg";
|
||||
import mysy_consulting from "../mysy_img2/mysy_consulting.jpg";
|
||||
import mysy_datacenter from "../mysy_img2/mysy_datacenter.png";
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import DialogContent from '@mui/material/DialogContent';
|
||||
import DialogContentText from '@mui/material/DialogContentText';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
|
||||
|
||||
|
||||
|
@ -2603,11 +2584,11 @@ const Mon_Catalogue_Public = (props) => {
|
|||
domain = url.split('://')[1];
|
||||
}
|
||||
|
||||
// console.log(" ### local_url_subdomain = ", local_url_subdomain);
|
||||
console.log(" ### local_url_subdomain = ", local_url_subdomain);
|
||||
|
||||
const subdomain = domain.split('.')[0];
|
||||
|
||||
// console.log(" ### subdomain = ", subdomain);
|
||||
console.log(" ### subdomain = ", subdomain);
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
|
@ -3023,95 +3004,7 @@ const Mon_Catalogue_Public = (props) => {
|
|||
<div className="Header_Content">
|
||||
|
||||
|
||||
<div className="content_search_bar">
|
||||
<div className="search_bar_h">
|
||||
<div className="search_bar">
|
||||
<div className="input_search_bar">
|
||||
<div className="search_dropdown">
|
||||
<nav className="domaine_icone"> <AiTwotoneFolder /> </nav>
|
||||
<select className="form-select form-select-sm fron_search" onChange={"ChangeDevise"} aria-label=".form-select-sm example"
|
||||
id={"searchdomain"} name={"searchdomain"} >
|
||||
<option selected value="n/a">Tous les domaines </option>
|
||||
|
||||
{domaine_metier && domaine_metier.map((domaine) => (
|
||||
|
||||
<option value={domaine}>{domaine}
|
||||
</option>
|
||||
))}
|
||||
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div className="search_bar_rectangle">
|
||||
|
||||
</div>
|
||||
|
||||
<div className="search_text">
|
||||
<form onSubmit={handleSubmit(onSubmit)} className="div_005">
|
||||
<div class="form" style={{ "textAlign": "left" }}>
|
||||
|
||||
<i class="fa fa-search"></i>
|
||||
<nav className="domaine_icone_fa" onClick={searchFunction}> <FaSearch /> </nav>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control form-input"
|
||||
placeholder={textplaceholder}
|
||||
onChange={SearchTextHandle}
|
||||
id={"SearchText"}
|
||||
name={"SearchText"}
|
||||
value={texte}
|
||||
onBlur={OnblurHandle}
|
||||
style={{ "color": "black" }}
|
||||
|
||||
/>
|
||||
{/*SearchText.length > 2 && <span_clear> <BsFillXCircleFill onClick={clearsearchtext} /> </span_clear>*/}
|
||||
{SearchText.length > 2 && <span class="left-pan" > <BsFillXCircleFill onClick={clearsearchtext} /></span>}
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<div className="cta_recherche" onClick={searchFunction}>
|
||||
<nav className="cta_recherche_txt"> Rechercher </nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className="search_bar_2">
|
||||
<div className="search_dropdown"> </div>
|
||||
|
||||
<div className="block_suggestion">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{suggestion2 && suggestion2.slice(0, 2).map((suggestion, id) =>
|
||||
<div key={id} style={{
|
||||
"cursor": "pointer", "color": "black",
|
||||
"fontSize": "small", "paddingLeft": "1rem", "fontStyle": "italic", "letterSpacing": "2px"
|
||||
}}
|
||||
onClick={() => OnSuggestionHandler(JSON.parse(suggestion).name)}> {JSON.parse(suggestion).name} </div>
|
||||
)}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="block_nos_formation">
|
||||
|
@ -3822,106 +3715,6 @@ const Mon_Catalogue_Public = (props) => {
|
|||
|
||||
<div className="Header_Content">
|
||||
<div className="rectangle_8"> </div>
|
||||
|
||||
<div className="content_search_bar">
|
||||
|
||||
<div className="search_bar_h">
|
||||
|
||||
<div className="search_bar">
|
||||
|
||||
|
||||
<div className="input_search_bar">
|
||||
|
||||
<div className="search_dropdown">
|
||||
<nav className="domaine_icone"> <AiTwotoneFolder /> </nav>
|
||||
<select className="form-select form-select-sm fron_search" onChange={"ChangeDevise"} aria-label=".form-select-sm example"
|
||||
id={"searchdomain"} name={"searchdomain"} >
|
||||
<option selected value="n/a">Tous les domaines </option>
|
||||
|
||||
{domaine_metier && domaine_metier.map((domaine) => (
|
||||
|
||||
<option value={domaine}>{domaine}
|
||||
</option>
|
||||
))}
|
||||
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div className="search_bar_rectangle">
|
||||
|
||||
</div>
|
||||
|
||||
<div className="search_text">
|
||||
<form onSubmit={handleSubmit(onSubmit)} className="div_005">
|
||||
<div class="form" style={{ "textAlign": "left" }}>
|
||||
|
||||
<i class="fa fa-search"></i>
|
||||
<nav className="domaine_icone_fa" onClick={searchFunction}> <FaSearch /> </nav>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control form-input"
|
||||
placeholder={textplaceholder}
|
||||
onChange={SearchTextHandle}
|
||||
id={"SearchText"}
|
||||
name={"SearchText"}
|
||||
value={texte}
|
||||
onBlur={OnblurHandle}
|
||||
style={{ "color": "black" }}
|
||||
|
||||
/>
|
||||
{/*SearchText.length > 2 && <span_clear> <BsFillXCircleFill onClick={clearsearchtext} /> </span_clear>*/}
|
||||
{SearchText.length > 2 && <span class="left-pan" > <BsFillXCircleFill onClick={clearsearchtext} /></span>}
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<div className="cta_recherche" onClick={searchFunction}>
|
||||
<nav className="cta_recherche_txt"> Rechercher </nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className="search_bar_2">
|
||||
<div className="search_dropdown"> </div>
|
||||
|
||||
<div className="block_suggestion">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{suggestion2 && suggestion2.slice(0, 2).map((suggestion, id) =>
|
||||
<div key={id} style={{
|
||||
"cursor": "pointer", "color": "black",
|
||||
"fontSize": "small", "paddingLeft": "1rem", "fontStyle": "italic", "letterSpacing": "2px"
|
||||
}}
|
||||
onClick={() => OnSuggestionHandler(JSON.parse(suggestion).name)}> {JSON.parse(suggestion).name} </div>
|
||||
)}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/*<div className="frame_153">
|
||||
|
||||
<nav className="frame_153_txt">
|
||||
Recherches populaires : Informatique, Graphisme, Management, Dev. Personnel ...
|
||||
</nav>
|
||||
</div> */}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -4759,6 +4552,7 @@ const Mon_Catalogue_Public = (props) => {
|
|||
|
||||
<Fotter_Catalog_Pub partner_data={New_Get_Subdomain_Partner_Data_result[0]} />
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
{/******* FIN Gestion du THEME PAR DEFAULT " */}
|
||||
|
||||
|
|
|
@ -1307,7 +1307,7 @@ const Mon_Tableau_De_Bord = (props) => {
|
|||
<hr className="hr_break" />
|
||||
|
||||
{String(submenu) === String("rapport_financier") && <div style={{ "border": "None" }}>
|
||||
<h3> Rapports Financiers </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Rapports Financiers </h3>
|
||||
|
||||
<Box >
|
||||
<div className="session_data" >
|
||||
|
@ -1497,7 +1497,7 @@ const Mon_Tableau_De_Bord = (props) => {
|
|||
|
||||
{String(submenu) === String("rapport_rh") && <div style={{ "border": "None" }}>
|
||||
|
||||
<h3> Rapports Ressources Humaines </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Rapports Ressources Humaines </h3>
|
||||
<Box >
|
||||
<div className="session_data" >
|
||||
<div style={{ "border": "None" }}>
|
||||
|
@ -1842,7 +1842,7 @@ const Mon_Tableau_De_Bord = (props) => {
|
|||
</div>}
|
||||
|
||||
{String(submenu) === String("rapport_activite") && <div style={{ "border": "None" }}>
|
||||
<h3> Rapport d'activité </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Rapport d'activité </h3>
|
||||
<Box >
|
||||
<div className="session_data" >
|
||||
|
||||
|
@ -2017,7 +2017,7 @@ const Mon_Tableau_De_Bord = (props) => {
|
|||
</div>}
|
||||
|
||||
{String(submenu) === String("bpf") && <div style={{ "border": "None" }}>
|
||||
<h3> Bilan Pédagogique et Financier (BPF) </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Bilan Pédagogique et Financier (BPF) </h3>
|
||||
<div className="titre1"> C. Bilan financier hors taxes : Origine des produits de l'organisme </div>
|
||||
<div className="div_row">
|
||||
|
||||
|
@ -2469,7 +2469,7 @@ const Mon_Tableau_De_Bord = (props) => {
|
|||
|
||||
{String(submenu) === String("montbd") && <div style={{ "border": "None" }}>
|
||||
|
||||
<h3> Mon tableau de bord </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mon tableau de bord </h3>
|
||||
|
||||
<div className="div_row"> </div>
|
||||
<div className="div_row" style={{ "textAlign": "right", "paddingRight": "20px" }}> Affichage
|
||||
|
|
|
@ -943,7 +943,7 @@ const New_Article_2025 = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
|
|
@ -270,7 +270,7 @@ const New_C_Formation_2025 = (props) => {
|
|||
flexDirection: 'column',
|
||||
},
|
||||
image: {
|
||||
width: '100%',
|
||||
maxWidth: '100%',
|
||||
height: '200px',
|
||||
overflow: 'hidden',
|
||||
marginTop: '-2rem'
|
||||
|
|
|
@ -134,12 +134,39 @@ const New_SideBar_2025 = () => {
|
|||
|
||||
{String(environnment) === "PROD" &&
|
||||
<Menu className="ch_burger_menu">
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/Connexion"} activeClassName={"nav-active"}>
|
||||
Connexion Utilisateur
|
||||
|
||||
<NavLink exact to={"/"} activeClassName={"nav-active"}>
|
||||
A propos
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/fonctionnalites"} activeClassName={"nav-active"}>
|
||||
Fonctionnalites
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/tarif"} activeClassName={"nav-active"}>
|
||||
Tarifs
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/contact"} activeClassName={"nav-active"}>
|
||||
Contact
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Recherche-Article-formation"} activeClassName={"nav-active"}>
|
||||
Blog
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
|
||||
Marketplace
|
||||
</NavLink>
|
||||
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signin"} activeClassName={"nav-active"}>
|
||||
Connexion
|
||||
</NavLink>}
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/create_account"} activeClassName={"nav-active"}>
|
||||
Créer compte
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signup"} activeClassName={"nav-active"}>
|
||||
Inscription
|
||||
</NavLink>}
|
||||
|
||||
|
||||
|
@ -147,35 +174,6 @@ const New_SideBar_2025 = () => {
|
|||
Mon compte
|
||||
</NavLink>}
|
||||
|
||||
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
|
||||
Recherche formation
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/qui-sommes-nous"} activeClassName={"nav-active"}>
|
||||
A propos
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/fonctionnalites"} activeClassName={"nav-active"}>
|
||||
Solution
|
||||
</NavLink>
|
||||
|
||||
|
||||
|
||||
<NavLink exact to={"/Produits-Services"} activeClassName={"nav-active"}>
|
||||
Tarifs
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Partner"} activeClassName={"nav-active"}>
|
||||
Partenaires
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/PartnerLogin"} activeClassName={"nav-active"}>
|
||||
Partenaire Login
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Recherche-Article-formation"} activeClassName={"nav-active"}>
|
||||
Liste Articles
|
||||
</NavLink>
|
||||
|
||||
|
||||
|
||||
|
@ -201,50 +199,50 @@ const New_SideBar_2025 = () => {
|
|||
|
||||
{(String(environnment) === "REC" || String(environnment) === "DEM") &&
|
||||
<Menu className="ch_burger_menu">
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/Connexion"} activeClassName={"nav-active"}>
|
||||
Connexion Utilisateur
|
||||
|
||||
<NavLink exact to={"/"} activeClassName={"nav-active"}>
|
||||
A propos
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/fonctionnalites"} activeClassName={"nav-active"}>
|
||||
Fonctionnalites
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/tarif"} activeClassName={"nav-active"}>
|
||||
Tarifs
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/contact"} activeClassName={"nav-active"}>
|
||||
Contact
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Recherche-Article-formation"} activeClassName={"nav-active"}>
|
||||
Blog
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
|
||||
Marketplace
|
||||
</NavLink>
|
||||
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signin"} activeClassName={"nav-active"}>
|
||||
Connexion
|
||||
</NavLink>}
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/create_account"} activeClassName={"nav-active"}>
|
||||
Créer compte
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signup"} activeClassName={"nav-active"}>
|
||||
Inscription
|
||||
</NavLink>}
|
||||
|
||||
|
||||
{String(someoneconnected) === String("1") && <NavLink exact to={"/mysy-user-account"} activeClassName={"nav-active"}>
|
||||
Mon compte
|
||||
</NavLink>}
|
||||
|
||||
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
|
||||
Recherche formation
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/qui-sommes-nous"} activeClassName={"nav-active"}>
|
||||
A propos
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/fonctionnalites"} activeClassName={"nav-active"}>
|
||||
Solution
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Produits-Services"} activeClassName={"nav-active"}>
|
||||
Tarifs
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Partner"} activeClassName={"nav-active"}>
|
||||
Partenaires
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/PartnerLogin"} activeClassName={"nav-active"}>
|
||||
Partenaire Login
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Recherche-Article-formation"} activeClassName={"nav-active"}>
|
||||
Liste Articles
|
||||
</NavLink>
|
||||
|
||||
|
||||
|
||||
{typeof (stored_partner) != "undefined" &&
|
||||
{typeof (stored_partner) !== "undefined" &&
|
||||
/* Connexion partner active */
|
||||
<Button className='bton_annule' onClick={logout} style={{
|
||||
color: "red", opacity: '100%', borderRadius: '5rem', fontSize: "12px", width: "100%", background: "black",
|
||||
|
@ -268,84 +266,53 @@ const New_SideBar_2025 = () => {
|
|||
{String(environnment) === "DEV" &&
|
||||
<Menu className="ch_burger_menu">
|
||||
|
||||
<NavLink exact to={"/mysy-training-login/0/0"} activeClassName={"nav-active"}>
|
||||
DEV : someoneconnected = {String(someoneconnected)}
|
||||
</NavLink>
|
||||
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/mysy-training-login/0/0"} activeClassName={"nav-active"}>
|
||||
Connexion Utilisateur
|
||||
</NavLink>}
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/create_account"} activeClassName={"nav-active"}>
|
||||
Créer compte
|
||||
</NavLink>}
|
||||
|
||||
|
||||
{String(someoneconnected) === String("1") && <NavLink exact to={"/Partner"} activeClassName={"nav-active"}>
|
||||
Mon compte
|
||||
</NavLink>}
|
||||
|
||||
|
||||
<NavLink exact to={"/recherche-formation/"} activeClassName={"nav-active"}>
|
||||
Recherche formation
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/qui-sommes-nous"} activeClassName={"nav-active"}>
|
||||
<NavLink exact to={"/"} activeClassName={"nav-active"}>
|
||||
A propos
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/fonctionnalites"} activeClassName={"nav-active"}>
|
||||
Solution
|
||||
Fonctionnalites
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/Produits-Services"} activeClassName={"nav-active"}>
|
||||
<NavLink exact to={"/tarif"} activeClassName={"nav-active"}>
|
||||
Tarifs
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/Display-Detail-formation/:classId"} activeClassName={"nav-active"}>
|
||||
Detail Formation
|
||||
<NavLink exact to={"/contact"} activeClassName={"nav-active"}>
|
||||
Contact
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/testurl/:course/:tab"} activeClassName={"nav-active"}>
|
||||
Test url
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/PartnerLogin"} activeClassName={"nav-active"}>
|
||||
Partenaire Login
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/Display-Detail-Article/:articleId"} activeClassName={"nav-active"}>
|
||||
Detail Articles
|
||||
</NavLink>
|
||||
|
||||
|
||||
<NavLink exact to={"/Recherche-Article-formation"} activeClassName={"nav-active"}>
|
||||
Liste Articles
|
||||
Blog
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/ResetUserPwd/:token"} activeClassName={"nav-active"}>
|
||||
Reset User Pwd
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/DeleteUserAccount/:token"} activeClassName={"nav-active"}>
|
||||
Delete User Accound
|
||||
</NavLink>
|
||||
|
||||
<NavLink exact to={"/mysy-account-activated/"} activeClassName={"nav-active"}>
|
||||
User Account Activated
|
||||
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
|
||||
Marketplace
|
||||
</NavLink>
|
||||
|
||||
|
||||
{typeof (stored_partner) != "undefined" &&
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signin"} activeClassName={"nav-active"}>
|
||||
Connexion
|
||||
</NavLink>}
|
||||
|
||||
{String(someoneconnected) !== String("1") && <NavLink exact to={"/signup"} activeClassName={"nav-active"}>
|
||||
Inscription
|
||||
</NavLink>}
|
||||
|
||||
|
||||
{String(someoneconnected) === String("1") && <NavLink exact to={"/mysy-user-account"} activeClassName={"nav-active"}>
|
||||
Mon compte
|
||||
</NavLink>}
|
||||
|
||||
|
||||
|
||||
|
||||
{typeof (stored_partner) !== "undefined" &&
|
||||
/* Connexion partner active */
|
||||
<Button className='bton_annule' onClick={logout} style={{
|
||||
color: "red", opacity: '100%', borderRadius: '5rem', fontSize: "12px", width: "100%", background: "black",
|
||||
padding: "5px", letterSpacing: "2px"
|
||||
padding: "5px"
|
||||
}}>
|
||||
<i> Deconnexion </i>
|
||||
</Button>
|
||||
|
|
|
@ -3561,7 +3561,7 @@ const Notes_Evaluation = (props) => {
|
|||
</Dialog>
|
||||
|
||||
{/*** Fin ajout ressource */}
|
||||
<h3> Les Evaluations </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Les Evaluations </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -5534,7 +5534,7 @@ const Notes_Evaluation = (props) => {
|
|||
|
||||
|
||||
{String(submenu) === "ressources" && <div>
|
||||
<h3> Ressources Humaines & Materielles</h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Ressources Humaines & Materielles</h3>
|
||||
|
||||
<div className="session_data">
|
||||
<div style={{ "border": "None" }}>
|
||||
|
|
|
@ -9,6 +9,8 @@ import { useHistory } from "react-router-dom";
|
|||
import Facture from "./Facture";
|
||||
import { FaHandPointRight } from "react-icons/fa";
|
||||
import { useParams } from 'react-router-dom'
|
||||
import Popup from 'reactjs-popup';
|
||||
import 'reactjs-popup/dist/index.css';
|
||||
|
||||
function OrderConfirmation_3DS(props) {
|
||||
const [menu, setmenu] = useState("");
|
||||
|
@ -207,8 +209,38 @@ function OrderConfirmation_3DS(props) {
|
|||
|
||||
|
||||
<div className="div_row_central">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg_cmd"
|
||||
onClick={parent_retur_main_page}> IMPORTANT : Je finalise mon abonnement </Button>
|
||||
|
||||
<Popup
|
||||
trigger={
|
||||
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg_cmd"> IMPORTANT : Je finalise mon abonnement </Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
Votre paiement a été validé. Vous allez être redirigé vers l'interface de création des formations<br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
parent_retur_main_page();
|
||||
close();
|
||||
}}> Ok </button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
|
|
@ -39,6 +39,8 @@ import {
|
|||
FcEngineering
|
||||
} from "react-icons/fc";
|
||||
|
||||
import { SlClose } from "react-icons/sl";
|
||||
|
||||
import CircleNotificationsIcon from '@mui/icons-material/CircleNotifications';
|
||||
import { FcInspection } from "react-icons/fc";
|
||||
|
||||
|
@ -551,7 +553,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/creation");
|
||||
document.body.style.backgroundColor = "#ffffff";
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des formations");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des formations");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -600,7 +602,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("my_configuration");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des documents");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des documents");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -623,7 +625,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("config_formation_initiale");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des documents");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des documents");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -638,7 +640,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/config_champ_specific");
|
||||
document.body.style.backgroundColor = "#ffffff";
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des documents");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des documents");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -653,7 +655,7 @@ const Partner = (props) => {
|
|||
inactive_active_menu_header("my_planning");
|
||||
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des documents");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des documents");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -691,7 +693,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/config_technique");
|
||||
document.body.style.backgroundColor = "#ffffff";
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des documents");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des documents");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -704,7 +706,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/config_session_steps");
|
||||
document.body.style.backgroundColor = "#ffffff";
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des documents");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des documents");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -718,7 +720,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/config_jours_heures");
|
||||
document.body.style.backgroundColor = "#ffffff";
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des documents");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des documents");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -732,7 +734,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/config_formulaires");
|
||||
document.body.style.backgroundColor = "#ffffff";
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des documents");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des documents");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -747,7 +749,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("my_invoices");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des documents");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des documents");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -761,7 +763,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/statistique");
|
||||
document.body.style.backgroundColor = "#ffffff";
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des formations");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des formations");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -775,7 +777,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("my_e_learning");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du E-Learning");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion du E-Learning");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -792,7 +794,7 @@ const Partner = (props) => {
|
|||
inactive_active_menu_header("facture");
|
||||
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des commandes");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des commandes");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -814,7 +816,7 @@ const Partner = (props) => {
|
|||
inactive_active_menu_header("abonnement");
|
||||
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des abonnements");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des abonnements");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -829,7 +831,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("my_partners");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des prix");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des prix");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -845,7 +847,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("my_partners");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des clients");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des clients");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -858,7 +860,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/mes_devis");
|
||||
document.body.style.backgroundColor = "#ffffff";
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des commandes");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des commandes");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -873,7 +875,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("my_invoices");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des commandes");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des commandes");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -890,7 +892,7 @@ const Partner = (props) => {
|
|||
|
||||
inactive_active_menu_header("my_ue");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des sessions");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des sessions");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -907,7 +909,7 @@ const Partner = (props) => {
|
|||
|
||||
inactive_active_menu_header("domaine_categorie_metier");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des sessions");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des sessions");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -924,7 +926,7 @@ const Partner = (props) => {
|
|||
|
||||
inactive_active_menu_header("part_produit_service");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des sessions");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des sessions");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -942,7 +944,7 @@ const Partner = (props) => {
|
|||
|
||||
inactive_active_menu_header("my_session");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des sessions");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des sessions");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -958,7 +960,7 @@ const Partner = (props) => {
|
|||
|
||||
inactive_active_menu_header("note_evaluation");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des sessions");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des sessions");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -972,7 +974,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("my_apprenant");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des stagiaires");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des stagiaires");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -986,7 +988,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("my_apprenant");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des stagiaires");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des stagiaires");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1000,7 +1002,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("groupe_apprenant");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des stagiaires");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des stagiaires");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1014,7 +1016,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("my_ressource");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des employés");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des employés");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1029,7 +1031,7 @@ const Partner = (props) => {
|
|||
inactive_active_menu_header("my_ressource");
|
||||
history.push("/Partner/mon_materiel");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du matériel pédagogique");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion du matériel pédagogique");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1044,7 +1046,7 @@ const Partner = (props) => {
|
|||
inactive_active_menu_header("my_ressource");
|
||||
history.push("/Partner/mes_salles");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du matériel pédagogique");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion du matériel pédagogique");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1060,7 +1062,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/mes_opportunites");
|
||||
inactive_active_menu_header("my_partners");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du matériel pédagogique");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion du matériel pédagogique");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1075,7 +1077,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("my_tbd");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du matériel pédagogique");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion du matériel pédagogique");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1090,7 +1092,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/dashbord_session");
|
||||
inactive_active_menu_header("my_tbd");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du matériel pédagogique");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion du matériel pédagogique");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1106,7 +1108,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/dashbord_ressources_humaines");
|
||||
inactive_active_menu_header("my_tbd");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du matériel pédagogique");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion du matériel pédagogique");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1123,7 +1125,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/dashbord_inscriptions");
|
||||
inactive_active_menu_header("my_tbd");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du matériel pédagogique");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion du matériel pédagogique");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1138,7 +1140,7 @@ const Partner = (props) => {
|
|||
history.push("/Partner/dashbord_factures");
|
||||
inactive_active_menu_header("my_tbd");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du matériel pédagogique");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion du matériel pédagogique");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1800,7 +1802,7 @@ const Partner = (props) => {
|
|||
|
||||
{String(part_is_partner_admin_account) === "1" && <div className="nom_prenom">
|
||||
{parntername && <nav>
|
||||
<b> {parntername} - {String(partnerPackService).toUpperCase()} ({parnternbformation})</b>
|
||||
<b> {parntername} - {String(partnerPackService).toUpperCase()} </b><br />
|
||||
|
||||
<Tooltip className="tooltip_css" id="badge_tool_01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="badge_tool_01" data-tooltip-html="Activité(s) en retard">
|
||||
|
@ -1834,7 +1836,7 @@ const Partner = (props) => {
|
|||
|
||||
{String(part_is_partner_admin_account) !== "1" && <div className="nom_prenom">
|
||||
{parnter_user_employee}
|
||||
{!parntername && <b> Utilisateur </b>}
|
||||
{!parntername && <b> Utilisateur </b>} <br />
|
||||
{GetPartnerNameFromToken_api_result && conntected_employee_activite_retard && parseFloat(conntected_employee_activite_retard) > 0 &&
|
||||
<StyledBadge_mysy_red badgeContent={conntected_employee_activite_retard} style={{ "cursor": "pointer" }}
|
||||
onClick={(event) => {
|
||||
|
@ -2182,10 +2184,10 @@ const Partner = (props) => {
|
|||
{String(firstConnexion) === "1" && String(part_is_partner_admin_account) === "1" &&
|
||||
<div className="div_droite firstConnexion">
|
||||
<div className="firstConnexion_text">
|
||||
<b>Cher partenaire, c'est votre première connexion, </b> <br /> <br />
|
||||
Nous sommes ravis de vous accueillir dans notre aventure MySy.
|
||||
Pour commencer à publier vos formations, veuillez choisir une formule d'abonnement en cliquant <Button onClick={ValideFirstConnexion} className="firstConnexion_bton"> <FaHandPointRight /> ici</Button><br />
|
||||
<br /> Merci.
|
||||
<b>Bienvenue chez MySy, cher partenaire ! </b> <br /> <br />
|
||||
C'est votre première connexion, et toute l'équipe est ravie de vous accueillir dans l'aventure.<br />
|
||||
Pour commencer à publier vos formations et profiter pleinement de notre plateforme, il vous suffit de choisir une formule d'abonnement en cliquant <Button onClick={ValideFirstConnexion} className="firstConnexion_bton"> <FaHandPointRight /> ici</Button><br />
|
||||
<br /> Et merci de faire partie du voyage !
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
|
@ -2193,8 +2195,9 @@ const Partner = (props) => {
|
|||
{String(firstConnexion) === "1" && String(part_is_partner_admin_account) !== "1" &&
|
||||
<div className="div_droite firstConnexion">
|
||||
<div className="firstConnexion_text">
|
||||
<b>Cher Utilisateur, c'est votre première connexion, </b> <br /> <br />
|
||||
Nous sommes ravis de vous accueillir dans notre aventure MySy. Nous vous invitons à modifier votre mot de passe à partir du menu <i>"MES INFORMATIONS"</i> ==> Bouton <i>"SECURITE"</i> <br /><br />
|
||||
<b>Bienvenue chez MySy, cher Utilisateur </b> <br /> <br />
|
||||
C'est votre première connexion, et toute l'équipe est ravie de vous accueillir dans l'aventure.<br />
|
||||
Nous vous invitons à modifier votre mot de passe à partir du menu <i>"MES INFORMATIONS"</i> ==> Bouton <i>"SECURITE"</i> <br /><br />
|
||||
<Button onClick={(e) => setfirstConnexion()} className="firstConnexion_bton"> <FaHandPointRight /> Fermer</Button><br />
|
||||
<br /> Merci.
|
||||
</div>
|
||||
|
@ -2443,7 +2446,8 @@ const Partner = (props) => {
|
|||
conntected_employee_id={conntected_employee_id}
|
||||
object_key={orderid}
|
||||
class_internal_url={packs}
|
||||
read_access={check_user_acces_right("session", "read")} write_access={check_user_acces_right("session", "write")}
|
||||
read_access={check_user_acces_right("session", "read")}
|
||||
write_access={check_user_acces_right("session", "write")}
|
||||
check_user_acces_right={check_user_acces_right} reduce={"0"} />
|
||||
</div>
|
||||
}
|
||||
|
@ -2472,7 +2476,8 @@ const Partner = (props) => {
|
|||
|
||||
{String(menu) === "mon_materiel" &&
|
||||
<div className="div_droite">
|
||||
<Materiels conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("materiel", "read")}
|
||||
<Materiels conntected_employee_id={conntected_employee_id}
|
||||
read_access={check_user_acces_right("materiel", "read")}
|
||||
write_access={check_user_acces_right("materiel", "write")}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
|
@ -2481,7 +2486,10 @@ const Partner = (props) => {
|
|||
|
||||
{String(menu) === "mes_salles" &&
|
||||
<div className="div_droite">
|
||||
<Materiel_Salle conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("materiel", "read")} write_access={check_user_acces_right("materiel", "write")} />
|
||||
<Materiel_Salle conntected_employee_id={conntected_employee_id}
|
||||
read_access={check_user_acces_right("materiel", "read")}
|
||||
write_access={check_user_acces_right("materiel", "write")}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -2937,10 +2945,10 @@ const Partner = (props) => {
|
|||
{String(firstConnexion) === "1" && String(part_is_partner_admin_account) === "1" &&
|
||||
<div className="div_droite firstConnexion">
|
||||
<div className="firstConnexion_text">
|
||||
<b>Cher partenaire, c'est votre première connexion, </b> <br /> <br />
|
||||
Nous sommes ravis de vous accueillir dans notre aventure MySy.
|
||||
Pour commencer à publier vos formations, veuillez choisir une formule d'abonnement en cliquant <Button onClick={ValideFirstConnexion} className="firstConnexion_bton"> <FaHandPointRight /> ici</Button><br />
|
||||
<br /> Merci.
|
||||
<b>Bienvenue chez MySy, cher partenaire ! </b> <br /> <br />
|
||||
C'est votre première connexion, et toute l'équipe est ravie de vous accueillir dans l'aventure.<br />
|
||||
Pour commencer à publier vos formations et profiter pleinement de notre plateforme, il vous suffit de choisir une formule d'abonnement en cliquant <Button onClick={ValideFirstConnexion} className="firstConnexion_bton"> <FaHandPointRight /> ici</Button><br />
|
||||
<br /> Et merci de faire partie du voyage !
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
|
@ -2948,8 +2956,9 @@ const Partner = (props) => {
|
|||
{String(firstConnexion) === "1" && String(part_is_partner_admin_account) !== "1" &&
|
||||
<div className="div_droite firstConnexion">
|
||||
<div className="firstConnexion_text">
|
||||
<b>Cher Utilisateur, c'est votre première connexion, </b> <br /> <br />
|
||||
Nous sommes ravis de vous accueillir dans notre aventure MySy. Nous vous invitons à modifier votre mot de passe à partir du menu <i>"MES INFORMATIONS"</i> ==> Bouton <i>"SECURITE"</i> <br /><br />
|
||||
<b>Bienvenue chez MySy, cher Utilisateur </b> <br /> <br />
|
||||
C'est votre première connexion, et toute l'équipe est ravie de vous accueillir dans l'aventure.<br />
|
||||
Nous vous invitons à modifier votre mot de passe à partir du menu <i>"MES INFORMATIONS"</i> ==> Bouton <i>"SECURITE"</i> <br /><br />
|
||||
<Button onClick={(e) => setfirstConnexion()} className="firstConnexion_bton"> <FaHandPointRight /> Fermer</Button><br />
|
||||
<br /> Merci.
|
||||
</div>
|
||||
|
@ -3207,7 +3216,8 @@ const Partner = (props) => {
|
|||
|
||||
{String(menu) === "mon_materiel" &&
|
||||
<div className="div_droite div_droite_ralonge">
|
||||
<Materiels conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("materiel", "read")}
|
||||
<Materiels conntected_employee_id={conntected_employee_id}
|
||||
read_access={check_user_acces_right("materiel", "read")}
|
||||
write_access={check_user_acces_right("materiel", "write")}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
|
@ -3216,7 +3226,8 @@ const Partner = (props) => {
|
|||
|
||||
{String(menu) === "mes_salles" &&
|
||||
<div className="div_droite div_droite_ralonge">
|
||||
<Materiel_Salle conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("materiel", "read")}
|
||||
<Materiel_Salle conntected_employee_id={conntected_employee_id}
|
||||
read_access={check_user_acces_right("materiel", "read")}
|
||||
write_access={check_user_acces_right("materiel", "write")}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
|
|
|
@ -1518,7 +1518,7 @@ const PartnerClientActivite = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "30rem" }}>
|
||||
<DialogContentText>
|
||||
|
||||
|
|
|
@ -163,13 +163,13 @@ function PartnerSignIn() {
|
|||
|
||||
|
||||
useEffect(() => {
|
||||
const listener = event => {
|
||||
/* const listener = event => {
|
||||
if (event.code === "Enter" || event.code === "NumpadEnter") {
|
||||
event.preventDefault();
|
||||
onSubmit();
|
||||
}
|
||||
};
|
||||
document.addEventListener("keydown", listener);
|
||||
document.addEventListener("keydown", listener);*/
|
||||
}, []);
|
||||
|
||||
const [PartnerMenu, setPartnerMenu] = React.useState(null);
|
||||
|
|
|
@ -768,7 +768,7 @@ const Partner_Client = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">client</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">client</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
<div className="div_row_dialog">
|
||||
|
@ -907,7 +907,7 @@ const Partner_Client = (props) => {
|
|||
<div className="div_row">
|
||||
|
||||
|
||||
<h3> Vos clients & Organismes Financeurs</h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes clients & Organismes Financeurs</h3>
|
||||
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div>
|
||||
|
|
|
@ -6502,7 +6502,7 @@ const Partner_Commande = (props) => {
|
|||
|
||||
|
||||
|
||||
<h3> Vos Commandes et Devis </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes Commandes et Devis </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
|
|
@ -6,30 +6,23 @@ import Button from '@mui/material/Button';
|
|||
import axios from "axios";
|
||||
import { getCookie, setCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
import CheckOut from "./CheckOut";
|
||||
|
||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
import { Editor } from '@tinymce/tinymce-react';
|
||||
import parse from 'html-react-parser';
|
||||
|
||||
import { FcViewDetails, FcDisapprove, FcInfo } from "react-icons/fc";
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
import add_plus from "../mysy_img/plus.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 'reactjs-popup/dist/index.css';
|
||||
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
|
||||
import DatePicker from "react-datepicker";
|
||||
|
||||
import "react-datepicker/dist/react-datepicker.css";
|
||||
import { format } from 'date-fns'
|
||||
import moment from "moment";
|
||||
|
||||
import InputAdornment from '@mui/material/InputAdornment';
|
||||
import { AiFillCloseCircle } from "react-icons/ai";
|
||||
import Box from '@mui/material/Box';
|
||||
import { Typography, LinearProgress, sliderClasses } from '@mui/material';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import { CiTrash } from "react-icons/ci";
|
||||
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
|
@ -48,8 +41,50 @@ import { LiaSave } from "react-icons/lia";
|
|||
import Checkbox from '@mui/material/Checkbox';
|
||||
import { IoMdAddCircleOutline, IoMdRemoveCircleOutline } from "react-icons/io";
|
||||
|
||||
|
||||
import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
|
||||
import { makeStyles } from "@material-ui/core/styles";
|
||||
import Paper from '@material-ui/core/Paper';
|
||||
import Draggable from 'react-draggable';
|
||||
import { IconButton } from '@material-ui/core';
|
||||
import 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 Partner_Config_Formulaires = (props) => {
|
||||
|
||||
const classes = useStyles();
|
||||
|
||||
const history = useHistory();
|
||||
const [submenu, setsubmenu] = useState("");
|
||||
const [selectionModel, setSelectionModel] = React.useState([]);
|
||||
|
@ -79,6 +114,7 @@ const Partner_Config_Formulaires = (props) => {
|
|||
{ field: 'code', headerName: 'code', flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'nom', headerName: 'nom', flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'type', headerName: 'Type', flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'default', headerName: 'Par défaut', flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'description', headerName: 'description', flex: 1, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'commentaire', headerName: 'commentaire', flex: 1, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
@ -342,6 +378,7 @@ const Partner_Config_Formulaires = (props) => {
|
|||
var local_id = JSON.parse(x)._id;
|
||||
var local_code = JSON.parse(x).code;
|
||||
var local_nom = JSON.parse(x).nom;
|
||||
var local_default = JSON.parse(x).default;
|
||||
|
||||
|
||||
//---
|
||||
|
@ -351,6 +388,7 @@ const Partner_Config_Formulaires = (props) => {
|
|||
"label": local_code + " " + local_nom,
|
||||
"nom": local_nom,
|
||||
"code": local_code,
|
||||
"default": local_default,
|
||||
};
|
||||
new_data2.push(node);
|
||||
});
|
||||
|
@ -373,13 +411,22 @@ const Partner_Config_Formulaires = (props) => {
|
|||
else {
|
||||
setGetall_Partner_Formulaires_api("false");
|
||||
setGetall_Partner_Formulaires_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) => {
|
||||
console.warn('Not good man :( Getall_Partner_Formulaires = ', error);
|
||||
setGetall_Partner_Formulaires_api("false");
|
||||
alert(" Impossible de recuperer la liste des formulaires");
|
||||
// alert(" Impossible de recuperer la liste des formulaires");
|
||||
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de recuperer la liste des formulaires");
|
||||
setalert_type("error");
|
||||
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -494,6 +541,7 @@ const Partner_Config_Formulaires = (props) => {
|
|||
const [p_detail_from_nom, setp_detail_from_nom] = useState("");
|
||||
const [p_detail_from_description, setp_detail_from_description] = useState("");
|
||||
const [p_detail_from_commentaire, setp_detail_from_commentaire] = useState("");
|
||||
const [p_detail_from_default, setp_detail_from_default] = useState("");
|
||||
const [p_detail_from_list_question, setp_detail_from_list_question] = useState([]);
|
||||
|
||||
const [p_detail_from_list_check_box, setp_detail_from_list_check_box] = useState([]);
|
||||
|
@ -507,6 +555,10 @@ const Partner_Config_Formulaires = (props) => {
|
|||
const [p_detail_one_from_nom, setp_detail_one_from_nom] = useState("");
|
||||
const [p_detail_one_from_description, setp_detail_one_from_description] = useState("");
|
||||
const [p_detail_one_from_commentaire, setp_detail_one_from_commentaire] = useState("");
|
||||
|
||||
const [p_detail_one_from_default, setp_detail_one_from_default] = useState("");
|
||||
|
||||
|
||||
const [p_detail_one_from_list_question, setp_detail_one_from_list_question] = useState([]);
|
||||
|
||||
const [p_detail_one_from_message_intro, setp_detail_one_from_message_intro] = useState("");
|
||||
|
@ -559,6 +611,10 @@ const Partner_Config_Formulaires = (props) => {
|
|||
if (mylocal_form_data.nom)
|
||||
setp_detail_from_nom(mylocal_form_data.nom);
|
||||
|
||||
setp_detail_from_default("0");
|
||||
if (mylocal_form_data.default)
|
||||
setp_detail_from_default(mylocal_form_data.default);
|
||||
|
||||
setp_detail_from_description("");
|
||||
if (mylocal_form_data.description)
|
||||
setp_detail_from_description(mylocal_form_data.description);
|
||||
|
@ -587,20 +643,32 @@ const Partner_Config_Formulaires = (props) => {
|
|||
disable_formulaire_fields();
|
||||
}
|
||||
else {
|
||||
alert("Aucune information récuperée");
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Aucune information récuperée");
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
setGet_Given_Formulaire_Data_api("false");
|
||||
setGet_Given_Formulaire_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) => {
|
||||
console.warn('Not good man :( Get_Given_Formulaire_Data = ', error);
|
||||
setGet_Given_Formulaire_Data_api("false");
|
||||
alert(" Impossible de recuperer les données du formulaire");
|
||||
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible de recuperer les données du formulaire");
|
||||
setalert_type("error");
|
||||
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -641,6 +709,11 @@ const Partner_Config_Formulaires = (props) => {
|
|||
document.getElementsByName("detail_config_message_intro")[0].disabled = true;
|
||||
document.getElementsByName("detail_config_message_intro")[0].style.backgroundColor = "#ECEFF1";
|
||||
}
|
||||
|
||||
if (document.getElementsByName("detail_config_par_defaut_1") && document.getElementsByName("detail_config_par_defaut_1")[0]) {
|
||||
document.getElementsByName("detail_config_par_defaut_1")[0].disabled = true;
|
||||
document.getElementsByName("detail_config_par_defaut_1")[0].style.backgroundColor = "#ECEFF1";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -679,6 +752,11 @@ const Partner_Config_Formulaires = (props) => {
|
|||
document.getElementsByName("detail_config_message_intro")[0].disabled = false;
|
||||
document.getElementsByName("detail_config_message_intro")[0].style.backgroundColor = "#FFFFFF";
|
||||
}
|
||||
|
||||
if (document.getElementsByName("detail_config_par_defaut_1") && document.getElementsByName("detail_config_par_defaut_1")[0]) {
|
||||
document.getElementsByName("detail_config_par_defaut_1")[0].disabled = false;
|
||||
document.getElementsByName("detail_config_par_defaut_1")[0].style.backgroundColor = "#FFFFFF";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -796,6 +874,7 @@ const Partner_Config_Formulaires = (props) => {
|
|||
form.append("commentaire", p_detail_from_commentaire);
|
||||
form.append("message_introduction", p_detail_from_message_intro);
|
||||
form.append("type", p_detail_from_type);
|
||||
form.append("default", p_detail_from_default);
|
||||
|
||||
form.append("form_id", selected_id);
|
||||
|
||||
|
@ -817,7 +896,11 @@ const Partner_Config_Formulaires = (props) => {
|
|||
Getall_Partner_Formulaires();
|
||||
|
||||
|
||||
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')) {
|
||||
var divh = document.getElementById('myRef_head').offsetTop;
|
||||
window.scrollTo({
|
||||
|
@ -830,14 +913,21 @@ const Partner_Config_Formulaires = (props) => {
|
|||
else {
|
||||
setUpdate_formlaire_data_api("false");
|
||||
setUpdate_formlaire_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) => {
|
||||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Update_formlaire_data = ' + error);
|
||||
setUpdate_formlaire_data_api("false");
|
||||
alert(" Impossible de mettre à jour le formulaire ");
|
||||
// alert(" Impossible de mettre à jour le formulaire ");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible de mettre à jour le formulaire");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -871,8 +961,10 @@ const Partner_Config_Formulaires = (props) => {
|
|||
|
||||
Getall_Partner_Formulaires();
|
||||
|
||||
|
||||
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')) {
|
||||
var divh = document.getElementById('myRef_head').offsetTop;
|
||||
window.scrollTo({
|
||||
|
@ -885,14 +977,23 @@ const Partner_Config_Formulaires = (props) => {
|
|||
else {
|
||||
setDelete_One_Formulaire_api("false");
|
||||
setDelete_One_Formulaire_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) => {
|
||||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Delete_One_Formulaire = ' + error);
|
||||
setDelete_One_Formulaire_api("false");
|
||||
alert(" Impossible de supprimer le formulaire ");
|
||||
// alert(" Impossible de supprimer le formulaire ");
|
||||
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de supprimer le formulaire ");
|
||||
setalert_type("error");
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -921,6 +1022,7 @@ const Partner_Config_Formulaires = (props) => {
|
|||
form.append("commentaire", p_detail_one_from_commentaire);
|
||||
form.append("message_introduction", p_detail_one_from_message_intro);
|
||||
form.append("type", p_detail_one_from_type);
|
||||
form.append("default", p_detail_one_from_default);
|
||||
|
||||
//console.log(" form == ", form);
|
||||
|
||||
|
@ -945,7 +1047,10 @@ const Partner_Config_Formulaires = (props) => {
|
|||
setconfig_data_changed("");
|
||||
|
||||
|
||||
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')) {
|
||||
var divh = document.getElementById('myRef_head').offsetTop;
|
||||
window.scrollTo({
|
||||
|
@ -958,14 +1063,22 @@ const Partner_Config_Formulaires = (props) => {
|
|||
else {
|
||||
setAdd_formlaire_data_api("false");
|
||||
setAdd_formlaire_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) => {
|
||||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Add_formlaire_data = ' + error);
|
||||
setAdd_formlaire_data_api("false");
|
||||
alert(" Impossible d'ajouter le formulaire ");
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible d'ajouter le formulaire");
|
||||
setalert_type("error");
|
||||
|
||||
// alert(" Impossible d'ajouter le formulaire ");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -996,7 +1109,12 @@ const Partner_Config_Formulaires = (props) => {
|
|||
|
||||
|
||||
if (String(selected_id).length < 2) {
|
||||
alert(" Vous devez choisir un formulaire ");
|
||||
// alert(" Vous devez choisir un formulaire ");
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Vous devez choisir un formulaire");
|
||||
setalert_type("error");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1014,13 +1132,23 @@ const Partner_Config_Formulaires = (props) => {
|
|||
|
||||
if (String(question_type) === "note") {
|
||||
|
||||
if( String(question_max_note) === ""){
|
||||
alert(" La note maximale doit être un entier supérieur à 1");
|
||||
if (String(question_max_note) === "") {
|
||||
// alert(" La note maximale doit être un entier supérieur à 1");
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" La note maximale doit être un entier supérieur à 1");
|
||||
setalert_type("error");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (isNaN(Number(question_max_note))) {
|
||||
alert(" La note maximale doit être un entier supérieur à 1");
|
||||
// alert(" La note maximale doit être un entier supérieur à 1");
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" La note maximale doit être un entier supérieur à 1");
|
||||
setalert_type("error");
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1093,14 +1221,20 @@ const Partner_Config_Formulaires = (props) => {
|
|||
}
|
||||
|
||||
|
||||
alert(res.data.message);
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
setDialog_Question_open(false);
|
||||
|
||||
}
|
||||
else {
|
||||
setAdd_Update_One_Question_api("false");
|
||||
setAdd_Update_One_Question_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) => {
|
||||
|
@ -1109,7 +1243,13 @@ const Partner_Config_Formulaires = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Add_Update_One_Question = ' + error);
|
||||
setAdd_Update_One_Question_api("false");
|
||||
alert(" Impossible de mettre à jour la question ");
|
||||
// alert(" Impossible de mettre à jour la question ");
|
||||
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de mettre à jour la question");
|
||||
setalert_type("error");
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -1122,12 +1262,23 @@ const Partner_Config_Formulaires = (props) => {
|
|||
|
||||
|
||||
if (String(selected_id).length < 2) {
|
||||
alert(" Vous devez choisir un formulaire ");
|
||||
// alert(" Vous devez choisir un formulaire ");
|
||||
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez choisir un formulaire ");
|
||||
setalert_type("error");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (String(local_question_id).length < 2) {
|
||||
alert(" Vous devez choisir une question ");
|
||||
// alert(" Vous devez choisir une question ");
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Vous devez choisir une question ");
|
||||
setalert_type("error");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1170,15 +1321,20 @@ const Partner_Config_Formulaires = (props) => {
|
|||
});
|
||||
}
|
||||
|
||||
|
||||
alert(res.data.message);
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
setDialog_Question_open(false);
|
||||
|
||||
}
|
||||
else {
|
||||
setDelete_One_Question_api("false");
|
||||
setDelete_One_Question_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) => {
|
||||
|
@ -1187,7 +1343,13 @@ const Partner_Config_Formulaires = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Delete_One_Question = ' + error);
|
||||
setDelete_One_Question_api("false");
|
||||
alert(" Impossible de supprimer la question ");
|
||||
// alert(" Impossible de supprimer la question ");
|
||||
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de supprimer la question ");
|
||||
setalert_type("error");
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -1251,6 +1413,22 @@ const Partner_Config_Formulaires = (props) => {
|
|||
setstatistic_checked(event.target.checked);
|
||||
};
|
||||
|
||||
const [display_alert_mysy, setdisplay_alert_mysy] = useState("");
|
||||
const [alert_message, setalert_message] = useState("");
|
||||
const [alert_type, setalert_type] = useState("");
|
||||
|
||||
function clear_alert_message() {
|
||||
setalert_message("");
|
||||
}
|
||||
function clear_alert_type() {
|
||||
setalert_type("");
|
||||
}
|
||||
|
||||
function clear_display_alert_mysy() {
|
||||
setdisplay_alert_mysy("");
|
||||
}
|
||||
|
||||
|
||||
return (
|
||||
<div className="partner_configuration_technique">
|
||||
{isLoading && <div className="loader-container">
|
||||
|
@ -1262,12 +1440,34 @@ const Partner_Config_Formulaires = (props) => {
|
|||
|
||||
<Dialog
|
||||
open={Dialog_Question_open}
|
||||
onClose={Dialog_Question_handleClose}
|
||||
// onClose={Dialog_Question_handleClose}
|
||||
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 style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "25rem" }}>
|
||||
|
||||
<DialogContentText>
|
||||
|
@ -1504,7 +1704,14 @@ const Partner_Config_Formulaires = (props) => {
|
|||
</DialogContent>
|
||||
|
||||
<DialogActions>
|
||||
|
||||
<IconButton
|
||||
// autoFocus
|
||||
onClick={Dialog_Question_handleClose_buton}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
<div className="div_row">
|
||||
{String(selected_question_id) === "" && <div className="div_row_gauche"> <Button onClick={Add_Update_One_Question} className="bton_enreg_dialog">Ajouter</Button> </div>}
|
||||
|
@ -1520,27 +1727,8 @@ const Partner_Config_Formulaires = (props) => {
|
|||
{/*** End Dialog Question*/}
|
||||
|
||||
|
||||
<Dialog
|
||||
open={Dialog_1_open}
|
||||
onClose={Dialog_1_handleClose}
|
||||
|
||||
>
|
||||
|
||||
<DialogTitle>MySy Information</DialogTitle>
|
||||
<DialogContent>
|
||||
<DialogContentText>
|
||||
{Dialog_1_message}
|
||||
</DialogContentText>
|
||||
|
||||
</DialogContent>
|
||||
|
||||
<DialogActions>
|
||||
<Button onClick={Dialog_1_handleClose_buton}>OK</Button>
|
||||
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
|
||||
<h3> Votre configuration des formulaires </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Votre configuration des formulaires </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -1871,6 +2059,7 @@ const Partner_Config_Formulaires = (props) => {
|
|||
description: JSON.parse(item).description,
|
||||
commentaire: JSON.parse(item).commentaire,
|
||||
type: JSON.parse(item).type,
|
||||
default: JSON.parse(item).default,
|
||||
}
|
||||
))}
|
||||
|
||||
|
@ -2079,6 +2268,32 @@ const Partner_Config_Formulaires = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
<div className="session_caract"> Formulaire par défaut <br />
|
||||
{String(p_detail_from_default) === "1" &&
|
||||
<Checkbox
|
||||
name="detail_config_par_defaut_1"
|
||||
id="detail_config_par_defaut_1"
|
||||
className="disabled_style"
|
||||
checked={true}
|
||||
|
||||
// style={{ background: '#ECEFF1' }}
|
||||
/>}
|
||||
|
||||
{String(p_detail_from_default) !== "1" &&
|
||||
<Checkbox
|
||||
name="detail_config_par_defaut_1"
|
||||
id="detail_config_par_defaut_1"
|
||||
className="disabled_style"
|
||||
checked={false}
|
||||
|
||||
// style={{ background: '#ECEFF1' }}
|
||||
/>}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="div_row" style={{ "padding": "10px" }}>
|
||||
|
||||
|
||||
|
@ -2371,7 +2586,43 @@ const Partner_Config_Formulaires = (props) => {
|
|||
/>
|
||||
</div>
|
||||
|
||||
<div className="session_caract"> Formulaire par défaut <br />
|
||||
{String(p_detail_from_default) === "1" &&
|
||||
<Checkbox
|
||||
name="detail_config_par_defaut"
|
||||
id="detail_config_par_defaut"
|
||||
className="disabled_style"
|
||||
checked={true}
|
||||
// style={{ background: '#ECEFF1' }}
|
||||
onChange={(e) => {
|
||||
if (e.target.checked) {
|
||||
setp_detail_from_default("1");
|
||||
} else {
|
||||
setp_detail_from_default("0");
|
||||
}
|
||||
|
||||
}}
|
||||
/>}
|
||||
|
||||
{String(p_detail_from_default) !== "1" &&
|
||||
<Checkbox
|
||||
name="detail_config_par_defaut"
|
||||
id="detail_config_par_defaut"
|
||||
className="disabled_style"
|
||||
checked={false}
|
||||
// style={{ background: '#ECEFF1' }}
|
||||
onChange={(e) => {
|
||||
if (e.target.checked) {
|
||||
setp_detail_from_default("1");
|
||||
} else {
|
||||
setp_detail_from_default("0");
|
||||
}
|
||||
|
||||
}}
|
||||
/>}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
@ -2639,11 +2890,29 @@ const Partner_Config_Formulaires = (props) => {
|
|||
value={p_detail_one_from_commentaire}
|
||||
onChange={(e) => {
|
||||
setp_detail_one_from_commentaire(e.target.value);
|
||||
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="session_caract"> Formulaire par défaut <br />
|
||||
<Checkbox
|
||||
|
||||
name="detail_config_par_defaut"
|
||||
id="detail_config_par_defaut"
|
||||
|
||||
className="disabled_style"
|
||||
checked={false}
|
||||
onChange={(e) => {
|
||||
if (e.target.checked) {
|
||||
setp_detail_one_from_default("1");
|
||||
} else {
|
||||
setp_detail_one_from_default("0");
|
||||
}
|
||||
}}
|
||||
// style={{ background: '#FFFFFF' }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
|
|
@ -657,7 +657,7 @@ const Partner_Config_Ftion_Initiale = (props) => {
|
|||
</div>}
|
||||
|
||||
|
||||
<h3> Formation Initale configuration </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Formation Initale configuration </h3>
|
||||
<div className="div_row" ref={myRef_head} id="myRef_head" >
|
||||
<Button variant="outlined" onClick={submenu_type_eval} className="detail_class_submenu" id='technique' name='technique'>Type Evaluation</Button>
|
||||
{/*
|
||||
|
|
|
@ -1878,7 +1878,7 @@ const Partner_Configuration_Jours_Travail = (props) => {
|
|||
{isLoading && <div className="loader-container">
|
||||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
<h3> Votre configuration des jours et heure de travail </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Votre configuration des jours et heure de travail </h3>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="div_row" >
|
||||
|
|
|
@ -690,7 +690,7 @@ const Partner_Configuration_Session_Steps = (props) => {
|
|||
</DialogActions>
|
||||
</Dialog>
|
||||
|
||||
<h3> Votre configuration des étapes de session </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Votre configuration des étapes de session </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2000,7 +2000,7 @@ const Partner_domaine_Categorie_Metier = (props) => {
|
|||
|
||||
{/*** domaine */}
|
||||
{String(submenu) === "domaine" && <div className="div_row" style={{ paddingRight: '10px' }}>
|
||||
<h3> Les domaines de formation</h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Les domaines de formation</h3>
|
||||
|
||||
<div>
|
||||
<div className="div_row" style={{ paddingRight: '10px' }}>
|
||||
|
@ -2317,7 +2317,7 @@ const Partner_domaine_Categorie_Metier = (props) => {
|
|||
|
||||
{/*** categorie */}
|
||||
{String(submenu) === "categorie" && <div className="div_row" style={{ paddingRight: '10px' }}>
|
||||
<h3> Les catégories de formation</h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Les catégories de formation</h3>
|
||||
|
||||
<div>
|
||||
<div className="div_row" style={{ paddingRight: '10px' }}>
|
||||
|
@ -2680,7 +2680,7 @@ const Partner_domaine_Categorie_Metier = (props) => {
|
|||
{/*** metier */}
|
||||
{String(submenu) === "metier" && <div className="div_row" style={{ paddingRight: '10px' }}>
|
||||
|
||||
<h3> Les métiers</h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Les métiers</h3>
|
||||
<div>
|
||||
<div className="div_row" style={{ paddingRight: '10px' }}>
|
||||
<div className="session_data">
|
||||
|
|
|
@ -17,8 +17,7 @@ import { Fab } from "@material-ui/core";
|
|||
import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
||||
|
||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
import { Editor } from '@tinymce/tinymce-react';
|
||||
import parse from 'html-react-parser';
|
||||
|
||||
import { FcViewDetails, FcDisapprove, FcInfo } from "react-icons/fc";
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
|
@ -68,9 +67,47 @@ import { FcOpenedFolder } from "react-icons/fc";
|
|||
import Module_Historique_Action from "./Module_Historique_Action";
|
||||
import { GridExportCsvOptions } from '@mui/x-data-grid';
|
||||
|
||||
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 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 Partner_Facture = (props) => {
|
||||
|
||||
const classes = useStyles();
|
||||
const { action, orderid } = useParams();
|
||||
|
||||
|
||||
|
@ -464,13 +501,19 @@ const Partner_Facture = (props) => {
|
|||
Getall_Invoice_Paiement_Payed_Remain_Amounts();
|
||||
clear_Paiement_DetailFields()
|
||||
|
||||
alert(res.data.message);
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
|
||||
}
|
||||
else {
|
||||
sethandleClick_delete_Paiement_api("false");
|
||||
sethandleClick_delete_Paiement_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) => {
|
||||
|
@ -570,7 +613,10 @@ const Partner_Facture = (props) => {
|
|||
else {
|
||||
setGetall_Invoice_Paiement_api("false");
|
||||
setGetall_Invoice_Paiement_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) => {
|
||||
|
@ -637,7 +683,10 @@ const Partner_Facture = (props) => {
|
|||
else {
|
||||
setGetall_Invoice_Paiement_Payed_Remain_Amounts_api("false");
|
||||
setGetall_Invoice_Paiement_Payed_Remain_Amounts_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) => {
|
||||
|
@ -841,7 +890,10 @@ const Partner_Facture = (props) => {
|
|||
else {
|
||||
setGet_Given_Line_Of_Partner_Invoice_Line_Data_api("false");
|
||||
setGet_Given_Line_Of_Partner_Invoice_Line_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) => {
|
||||
|
@ -993,7 +1045,10 @@ const Partner_Facture = (props) => {
|
|||
else {
|
||||
setGetall_Parter_Invoice_No_Filter_api("false");
|
||||
setGetall_Parter_Invoice_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) => {
|
||||
|
@ -1033,7 +1088,10 @@ const Partner_Facture = (props) => {
|
|||
else {
|
||||
setGetall_Parter_Invoice_With_Filter_On_Client_Id_api("false");
|
||||
setGetall_Parter_Invoice_With_Filter_On_Client_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) => {
|
||||
|
@ -1411,7 +1469,10 @@ const Partner_Facture = (props) => {
|
|||
setLoading(false);
|
||||
setGetAttendee_api("false");
|
||||
setGetAttendee_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) => {
|
||||
|
@ -1643,7 +1704,10 @@ const Partner_Facture = (props) => {
|
|||
else {
|
||||
setGetall_Parter_Invoice_With_Filter_api("false");
|
||||
setGetall_Parter_Invoice_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) => {
|
||||
|
@ -1683,12 +1747,18 @@ const Partner_Facture = (props) => {
|
|||
if (String(res.data.status) === String("true")) {
|
||||
setSend_Invoice_By_Email_api("true");
|
||||
setSend_Invoice_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("success");
|
||||
}
|
||||
else {
|
||||
setSend_Invoice_By_Email_api("false");
|
||||
setSend_Invoice_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) => {
|
||||
|
@ -1734,7 +1804,10 @@ const Partner_Facture = (props) => {
|
|||
setLoading(false);
|
||||
setGet_Partner_Invoice_Lines_from_header_id_api("false");
|
||||
setGet_Partner_Invoice_Lines_from_header_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) => {
|
||||
|
@ -2182,7 +2255,10 @@ const Partner_Facture = (props) => {
|
|||
else {
|
||||
setGet_Given_Paiement_Data_api("false");
|
||||
setGet_Given_Paiement_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) => {
|
||||
|
@ -2290,7 +2366,10 @@ const Partner_Facture = (props) => {
|
|||
|
||||
Dialog_Paiement_1_handleClose_buton();
|
||||
|
||||
alert(res.data.message);
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
if (document.getElementById('myRef')) {
|
||||
var divh = document.getElementById('myRef').offsetTop;
|
||||
window.scrollTo({
|
||||
|
@ -2304,7 +2383,10 @@ const Partner_Facture = (props) => {
|
|||
else {
|
||||
setAdd_Update_Paiement_Data_api("false");
|
||||
setAdd_Update_Paiement_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) => {
|
||||
|
@ -2352,7 +2434,10 @@ const Partner_Facture = (props) => {
|
|||
|
||||
Display_Detail_Invoice_data(selected_id);
|
||||
|
||||
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')) {
|
||||
var divh = document.getElementById('myRef_head').offsetTop;
|
||||
|
@ -2367,7 +2452,10 @@ const Partner_Facture = (props) => {
|
|||
else {
|
||||
setCreate_Invoice_Credit_Note_api("false");
|
||||
setCreate_Invoice_Credit_Note_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) => {
|
||||
|
@ -2439,7 +2527,10 @@ const Partner_Facture = (props) => {
|
|||
|
||||
Dialog_annotation_1_handleClose_buton();
|
||||
|
||||
alert(res.data.message);
|
||||
// alert(res.data.message)
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
if (document.getElementById('myRef')) {
|
||||
var divh = document.getElementById('myRef').offsetTop;
|
||||
window.scrollTo({
|
||||
|
@ -2453,7 +2544,10 @@ const Partner_Facture = (props) => {
|
|||
else {
|
||||
setAdd_Update_annotation_Data_api("false");
|
||||
setAdd_Update_annotation_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) => {
|
||||
|
@ -2709,6 +2803,21 @@ const Partner_Facture = (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 (
|
||||
|
||||
<div className="partner_facture">
|
||||
|
@ -2716,13 +2825,25 @@ const Partner_Facture = (props) => {
|
|||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
{/*** Affichage des messages d'alerte*/}
|
||||
{display_alert_mysy && String(display_alert_mysy) === "1" &&
|
||||
<Module_Alert_Confirmation alert_message={alert_message}
|
||||
alert_type={alert_type}
|
||||
clear_alert_message={clear_alert_message}
|
||||
clear_alert_type={clear_alert_type}
|
||||
clear_display_alert_mysy={clear_display_alert_mysy}
|
||||
/>
|
||||
}
|
||||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
|
||||
<Dialog
|
||||
open={Dialog_Detail_Article_open}
|
||||
onClose={Dialog_1_handleClose}
|
||||
className="partner_commande"
|
||||
>
|
||||
|
||||
<DialogTitle> Détail ligne Facture <font style={{ fontWeight: "700" }}> {String(invoice_internal_ref)} </font> </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title"> Détail ligne Facture <font style={{ fontWeight: "700" }}> {String(invoice_internal_ref)} </font> </DialogTitle>
|
||||
<DialogContent>
|
||||
|
||||
|
||||
|
@ -2934,9 +3055,29 @@ const Partner_Facture = (props) => {
|
|||
// onClose={Dialog_invoice_history_handleClose}
|
||||
className="displaypartnersession"
|
||||
static
|
||||
onClose={() => null} >
|
||||
onClose={() => null}
|
||||
|
||||
<DialogTitle>MySy Information</DialogTitle>
|
||||
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', fontFamily:"DM Sans"}} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "20rem" }}>
|
||||
|
||||
<div>
|
||||
|
@ -2960,6 +3101,16 @@ const Partner_Facture = (props) => {
|
|||
|
||||
|
||||
<DialogActions>
|
||||
|
||||
<IconButton
|
||||
// autoFocus
|
||||
onClick={Dialog_invoice_history_handleClose_buton}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
|
||||
|
@ -2983,9 +3134,29 @@ const Partner_Facture = (props) => {
|
|||
// onClose={Dialog_send_invoice_with_PJ_handleClose}
|
||||
className="displaypartnersession"
|
||||
static
|
||||
onClose={() => null} >
|
||||
onClose={() => null}
|
||||
|
||||
<DialogTitle>MySy Information</DialogTitle>
|
||||
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', fontFamily:"DM Sans"}} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "20rem" }}>
|
||||
<DialogContentText>
|
||||
Envoi Facture par email
|
||||
|
@ -3064,6 +3235,16 @@ const Partner_Facture = (props) => {
|
|||
|
||||
|
||||
<DialogActions>
|
||||
|
||||
<IconButton
|
||||
// autoFocus
|
||||
onClick={Dialog_send_invoice_with_PJ_handleClose_buton}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button onClick={(e) => {
|
||||
|
@ -3092,13 +3273,34 @@ const Partner_Facture = (props) => {
|
|||
{/*** Paiement */}
|
||||
<Dialog
|
||||
open={Dialog_Paiement_1_open}
|
||||
onClose={Dialog_Paiement_1_handleClose}
|
||||
// onClose={Dialog_Paiement_1_handleClose}
|
||||
|
||||
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> Paiement </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title"> Paiement </DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_Paiement_1_message}
|
||||
|
@ -3208,6 +3410,16 @@ const Partner_Facture = (props) => {
|
|||
|
||||
|
||||
<DialogActions>
|
||||
|
||||
<IconButton
|
||||
// autoFocus
|
||||
onClick={Dialog_Paiement_1_handleClose_buton}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
|
||||
|
@ -3230,13 +3442,34 @@ const Partner_Facture = (props) => {
|
|||
{/*** annotation */}
|
||||
<Dialog
|
||||
open={Dialog_annotation_1_open}
|
||||
onClose={Dialog_annotation_1_handleClose}
|
||||
// onClose={Dialog_annotation_1_handleClose}
|
||||
|
||||
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> Annotation </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title"> Annotation </DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "15rem" }}>
|
||||
<DialogContentText>
|
||||
{Dialog_annotation_1_message}
|
||||
|
@ -3265,6 +3498,15 @@ const Partner_Facture = (props) => {
|
|||
|
||||
|
||||
<DialogActions>
|
||||
<IconButton
|
||||
// autoFocus
|
||||
onClick={Dialog_annotation_1_handleClose_buton}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button onClick={Add_Update_annotation_Data} className="bton_enreg_dialog">Mettre à jour</Button>
|
||||
|
@ -3305,7 +3547,7 @@ const Partner_Facture = (props) => {
|
|||
|
||||
{/******** FIN Menu Clique Droit test */}
|
||||
|
||||
<h3> Vos Factures </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes Factures </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
|
|
@ -296,7 +296,7 @@ function Partner_Invoicing_Data(props) {
|
|||
{String(RecordData_api) === String("false") && <div className="koUpdateData"> Impossible de modifier les informations </div>}
|
||||
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
<div style={{ display: 'flex', flexDirection: 'row', gap: '20px', width: '100%', flexWrap: 'wrap', justifyContent: 'left' }}>
|
||||
|
||||
<TextField
|
||||
required
|
||||
|
@ -394,8 +394,8 @@ function Partner_Invoicing_Data(props) {
|
|||
name="adr_street"
|
||||
|
||||
label="Adresse"
|
||||
className="texte_area_adress"
|
||||
sx={{ m: 1, width: '96%' }}
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
InputProps={{
|
||||
startAdornment: (
|
||||
<InputAdornment position="start">
|
||||
|
@ -462,7 +462,7 @@ function Partner_Invoicing_Data(props) {
|
|||
|
||||
/>
|
||||
|
||||
</Box>
|
||||
</div>
|
||||
|
||||
<div className="div_row">
|
||||
|
||||
|
|
|
@ -557,7 +557,7 @@ const Partner_Prix_Achat = (props) => {
|
|||
|
||||
</Dialog>
|
||||
|
||||
<h3> Vos prix d'achat </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes prix d'achat </h3>
|
||||
|
||||
<div>
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
|
|
|
@ -1163,7 +1163,7 @@ const Partner_Product_Service = (props) => {
|
|||
</DialogActions>
|
||||
</Dialog>
|
||||
|
||||
<h3> Vos Prix </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes Prix </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
|
|
@ -167,7 +167,7 @@ function PaymentMethode(props) {
|
|||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
}else if (String(result['status']) === String("Err_Connexion")) {
|
||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + result['message']);
|
||||
history.push("/Connexion");
|
||||
}
|
||||
|
@ -240,10 +240,10 @@ function PaymentMethode(props) {
|
|||
|
||||
//console.log(" props.mypaymentmode = " + props.mypaymentmode);
|
||||
|
||||
var num_carte = "XXXX"+JSON.parse(props.mypaymentmode).last4;
|
||||
var num_carte = "XXXX" + JSON.parse(props.mypaymentmode).last4;
|
||||
setnum_carte(num_carte);
|
||||
|
||||
var exp_data = JSON.parse(props.mypaymentmode).exp_month+"/"+JSON.parse(props.mypaymentmode).exp_year;
|
||||
var exp_data = JSON.parse(props.mypaymentmode).exp_month + "/" + JSON.parse(props.mypaymentmode).exp_year;
|
||||
setdate_exp(exp_data);
|
||||
|
||||
|
||||
|
@ -257,7 +257,7 @@ function PaymentMethode(props) {
|
|||
return (
|
||||
<div className="paymentmethode">
|
||||
<div className="row_gauche_bis">
|
||||
mypaymentmode = {props.mypaymentmode}
|
||||
|
||||
|
||||
<div className="div_row_central">
|
||||
{String(paymentadded) === String("1") && <div className="okUpdateData">
|
||||
|
@ -281,7 +281,7 @@ function PaymentMethode(props) {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
|
||||
<TextField
|
||||
required
|
||||
|
@ -301,7 +301,7 @@ function PaymentMethode(props) {
|
|||
label="Numéro de carte"
|
||||
name="num_carte"
|
||||
id="num_carte"
|
||||
value={"XXXX"+(JSON.parse(props.mypaymentmode).last4)}
|
||||
value={"XXXX" + (JSON.parse(props.mypaymentmode).last4)}
|
||||
autoComplete="off"
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '95%' }}
|
||||
|
@ -316,7 +316,7 @@ function PaymentMethode(props) {
|
|||
name="date_exp"
|
||||
id="date_exp"
|
||||
autoComplete="new-qsq"
|
||||
value={(JSON.parse(props.mypaymentmode).exp_month)+"/"+(JSON.parse(props.mypaymentmode).exp_year)}
|
||||
value={(JSON.parse(props.mypaymentmode).exp_month) + "/" + (JSON.parse(props.mypaymentmode).exp_year)}
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '45%' }}
|
||||
onChange={Checkdate_expdate_exp}
|
||||
|
@ -358,7 +358,7 @@ function PaymentMethode(props) {
|
|||
|
||||
{String(menu) === String("sepa") && <div>
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
|
||||
<TextField
|
||||
required
|
||||
|
@ -408,7 +408,7 @@ function PaymentMethode(props) {
|
|||
Pour confirmer le changement, veuillez entrer votre mot de passe et votre clé sécrete <br />
|
||||
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
|
||||
<FormControl sx={{ m: 1, width: '45%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<InputLabel htmlFor="outlined-adornment-password">Mot de passe</InputLabel>
|
||||
|
@ -486,7 +486,7 @@ function PaymentMethode(props) {
|
|||
}}>J'ai lu et j'accepte les conditions ci-dessus.</label>
|
||||
</div>
|
||||
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={RecordData}>Enregistrer</Button>
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={RecordData}>Enregistrer </Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -139,24 +139,25 @@ function PaymentMethodeNoConnect(props) {
|
|||
)
|
||||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
//console.log(' paymenadded_api Success:', result['message'], "result['status'] = ", result['status']);
|
||||
console.log(' paymenadded_api Success:', result['message'], "result['status'] = ", result['status']);
|
||||
setRecordData_api(result['status']);
|
||||
|
||||
|
||||
if (String(result['status']) === String("true")) {
|
||||
|
||||
setpaymentadded("1");
|
||||
props.GetPayementMode();
|
||||
props.display_succes_message_from_sub_componante("La mise à jour a été correctement faite");
|
||||
props.menu_paymentmethode_close();
|
||||
|
||||
}else if (String(result['status']) === String("Err_Connexion")) {
|
||||
|
||||
|
||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + result['message']);
|
||||
history.push("/Connexion");
|
||||
}
|
||||
|
||||
else {
|
||||
|
||||
setpaymentadded("0");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -250,7 +251,7 @@ function PaymentMethodeNoConnect(props) {
|
|||
{String(paymentadded) === String("1") && <div className="okUpdateData">
|
||||
Le mode de Paiement a été correctement ajouté
|
||||
|
||||
{window.location.reload()}
|
||||
{/*window.location.reload()*/}
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -269,7 +270,7 @@ function PaymentMethodeNoConnect(props) {
|
|||
</div>
|
||||
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
|
||||
<TextField
|
||||
required
|
||||
|
@ -336,7 +337,7 @@ function PaymentMethodeNoConnect(props) {
|
|||
Pour confirmer le changement, veuillez entrer votre mot de passe et votre clé sécrete <br />
|
||||
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
|
||||
|
||||
<FormControl sx={{ m: 1, width: '100%' }} variant="standard" size="small" className="texte_area_passwd carte_cle_pass">
|
||||
<InputLabel htmlFor="outlined-adornment-password">Mot de passe</InputLabel>
|
||||
|
@ -415,7 +416,7 @@ function PaymentMethodeNoConnect(props) {
|
|||
|
||||
</div>
|
||||
<div className="div_row_centre">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={RecordData}>Enregistrer</Button>
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={RecordData}>Enregistrer </Button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
|
|
@ -363,7 +363,7 @@ function PaymentMethodeNoConnect(props) {
|
|||
|
||||
|
||||
<div className="div_row_centre">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={RecordData}>Enregistrer</Button>
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={RecordData}>Enregistrer </Button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -132,10 +132,10 @@ function ProduitsServices() {
|
|||
return (
|
||||
<div className="produitsservices">
|
||||
<Helmet>
|
||||
<title>Tarifs des Produits et Services </title>
|
||||
<title>Tarifs des Produits et Services ttt </title>
|
||||
<meta name="description" content="Tarifs des Produits et Services.Avec nos solutions de E-Learning, gestion administrative et gestion relation client, nos prix sont les moins chers du marché pour gérer votre organisme de formation. Nous automatisons Qualiopi. L’ensemble de nos options : signature électronique, Gestion avis participants, Les émargements sécurisés, les contrats des formateurs, la gestion des financeurs sont inclus dans nos tarifs de base." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<meta name="title" content="Tarifs des Produits et Services " />
|
||||
<meta name="title" content="Tarifs des Produits et Services ttt" />
|
||||
<link rel="canonical" href={window.location.href} />
|
||||
|
||||
</Helmet>
|
||||
|
|
|
@ -12,11 +12,7 @@ import { getCookie, removeCookie } from 'react-use-cookie';
|
|||
import { Helmet } from "react-helmet";
|
||||
import LogoutOutlinedIcon from '@mui/icons-material/LogoutOutlined';
|
||||
import Button from '@mui/material/Button';
|
||||
import logowhite from "../mysy_img/MYSY-LOGO-WHITE.png";
|
||||
import Footer from "./Fotter";
|
||||
import Header from "./Header";
|
||||
import MenuItem from "@material-ui/core/MenuItem";
|
||||
import Menu from "@material-ui/core/Menu";
|
||||
|
||||
import { confirmAlert } from 'react-confirm-alert'; // Import
|
||||
import { useCookies } from "react-cookie";
|
||||
import connect_white from "../mysy_img/connect_white_v2.png";
|
||||
|
@ -39,12 +35,7 @@ import 'react-tooltip/dist/react-tooltip.css'
|
|||
import { Tooltip } from 'react-tooltip'
|
||||
import Checkbox from '@mui/material/Checkbox';
|
||||
|
||||
import Box from '@mui/material/Box';
|
||||
import Fab from '@mui/material/Fab';
|
||||
import AddIcon from '@mui/icons-material/Add';
|
||||
import EditIcon from '@mui/icons-material/Edit';
|
||||
import FavoriteIcon from '@mui/icons-material/Favorite';
|
||||
import NavigationIcon from '@mui/icons-material/Navigation';
|
||||
|
||||
import { FcPlus } from "react-icons/fc";
|
||||
import Autocomplete from '@mui/material/Autocomplete';
|
||||
import TextField from '@mui/material/TextField';
|
||||
|
@ -1210,7 +1201,7 @@ const RechercheArticles_new_v2 = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title">Votre article </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">Votre article </DialogTitle>
|
||||
<DialogContent className="DialogContent_width DialogContent_width_session_800px" >
|
||||
|
||||
|
||||
|
@ -1465,7 +1456,7 @@ const RechercheArticles_new_v2 = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ function Register() {
|
|||
return (
|
||||
<form onSubmit={handleSubmit(onSubmit)}>
|
||||
<h1>Créer votre compte</h1>
|
||||
<h3>Inscription rapide</h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}>Inscription rapide</h3>
|
||||
<div>
|
||||
<input
|
||||
{...register("name", {
|
||||
|
|
|
@ -94,6 +94,8 @@ import Checkbox from '@mui/material/Checkbox';
|
|||
import { Container, Row, Col } from 'react-grid-system';
|
||||
|
||||
|
||||
import steph_img from "../mysy_img/spteph.jpg";
|
||||
|
||||
|
||||
// pour le payement stripe : https://stripe.com/docs/payments/quickstart?client=react&lang=python
|
||||
const stripePromise = loadStripe('pk_test_51LUUfAAbmaEugrFTI25uZBD3IFjbtaL6jUfRV83diDf7nco8worna4NGKhMHbPP71WCwT5EHFRdDNatxPrJWwgZ300kgH5EO4p');
|
||||
|
@ -863,7 +865,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
"& .MuiDataGrid-cellContent": {
|
||||
minHeight: 40,
|
||||
maxHeight: 1000
|
||||
},[`& .${gridClasses.cell}`]: {
|
||||
}, [`& .${gridClasses.cell}`]: {
|
||||
py: 1,
|
||||
},
|
||||
}}
|
||||
|
@ -889,7 +891,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
"& .MuiDataGrid-cellContent": {
|
||||
minHeight: 40,
|
||||
maxHeight: 1000
|
||||
},[`& .${gridClasses.cell}`]: {
|
||||
}, [`& .${gridClasses.cell}`]: {
|
||||
py: 1,
|
||||
},
|
||||
}}
|
||||
|
@ -1180,16 +1182,16 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
|
||||
<div className="carte_visite">
|
||||
<div className="main_div">
|
||||
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width":'25%' }}>
|
||||
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '25%' }}>
|
||||
<br />
|
||||
<img classname="img" src="https://img.mysy-training.com/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo"
|
||||
style={{ "maxWidth": "50%", "marginTop": "2rem" }} />
|
||||
<br />
|
||||
|
||||
<div className="div_nom" style={{"fontSize":'25px'}}>
|
||||
<div className="div_nom" style={{ "fontSize": '25px' }}>
|
||||
Cherif BALDE<br />
|
||||
</div>
|
||||
<div className="div_function" style={{"fontSize":'25px'}}>
|
||||
<div className="div_function" style={{ "fontSize": '25px' }}>
|
||||
Directeur
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1199,7 +1201,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
|
||||
</div>
|
||||
|
||||
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight":'3rem', "fontSize":'20px' }}>
|
||||
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight": '3rem', "fontSize": '20px' }}>
|
||||
<div> <ImMobile2 /> +337 69 20 39 45</div>
|
||||
<div> <ImOffice /> +331 77 00 38 57</div>
|
||||
<div> <BsMailbox /> cbalde@mysy-training.com</div>
|
||||
|
@ -1211,33 +1213,43 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
|
||||
</div>
|
||||
|
||||
<div className="div_row">
|
||||
<div className="div_row">
|
||||
|
||||
<div className="carte_visite">
|
||||
<div className="main_div">
|
||||
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width":'25%' }}>
|
||||
<br />
|
||||
<img classname="img" src="https://img.mysy-training.com/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo"
|
||||
style={{ "maxWidth": "50%", "marginTop": "2rem" }} />
|
||||
<br />
|
||||
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '25%' }}>
|
||||
<img src={steph_img} alt="Mysy Training Logo"
|
||||
style={{
|
||||
"marginTop": "2rem", borderRadius: '10px', width: '55%', border: 'none', marginTop: '2px',
|
||||
height: "100%"
|
||||
}} />
|
||||
|
||||
<div className="div_nom" style={{"fontSize":'25px'}}>
|
||||
Matthieu BOIFFARD<br />
|
||||
</div>
|
||||
<div className="div_function" style={{"fontSize":'25px'}}>
|
||||
Responsable Commercial
|
||||
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '25%' }}>
|
||||
|
||||
<img classname="img" src="https://img.mysy-training.com/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo"
|
||||
style={{ "maxWidth": "50%", "marginTop": "2rem", border: 'none' }} />
|
||||
|
||||
|
||||
<div className="div_nom" style={{ "fontSize": '25px' }}>
|
||||
Stéphanie BERNHARD <br />
|
||||
</div>
|
||||
<div className="div_function" style={{ "fontSize": '25px' }}>
|
||||
Responsable développement
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div className="ch_div_centre">
|
||||
<hr className="myhr" />
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight":'3rem', "fontSize":'20px' }}>
|
||||
<div> <ImMobile2 /> +336 67 45 99 64</div>
|
||||
<div className="ch_div_droite div_coordonnees" style={{
|
||||
"paddingRight": "3rem", "lineHeight": '3rem', "fontSize": '20px',
|
||||
paddingTop: '4rem'
|
||||
}}>
|
||||
<div> <ImMobile2 /> +337 63 97 23 78</div>
|
||||
<div> <ImOffice /> +331 77 00 38 57</div>
|
||||
<div> <BsMailbox /> mboiffard@mysy-training.com</div>
|
||||
<div> <BsMailbox /> sbernhard@mysy-training.com</div>
|
||||
<div> <ImHome /> https://www.mysy-training.com/</div>
|
||||
|
||||
|
||||
|
@ -1246,20 +1258,65 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="div_row">
|
||||
|
||||
<div className="carte_visite">
|
||||
<div className="main_div">
|
||||
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width":'25%' }}>
|
||||
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '25%' }}>
|
||||
<img src={steph_img} alt="Mysy Training Logo"
|
||||
style={{
|
||||
"marginTop": "2rem", borderRadius: '10px', width: '60%', border: 'none', marginTop: '2px',
|
||||
height: "100%", marginRight:'2px'
|
||||
}} />
|
||||
|
||||
</div>
|
||||
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '70%',
|
||||
textAlign:'left'
|
||||
}}>
|
||||
|
||||
<img classname="img" src="https://img.mysy-training.com/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo"
|
||||
style={{ "maxWidth": "15%", "marginTop": "2rem", border: 'none', paddingLeft:'10px', marginLeft:'10px',
|
||||
marginTop:'1px'
|
||||
}} />
|
||||
|
||||
|
||||
<div className="div_nom" style={{ "fontSize": '20px', textAlign:'left', paddingLeft:'10px' }}>
|
||||
Stéphanie BERNHARD <br />
|
||||
</div>
|
||||
<div className="div_function" style={{ "fontSize": '18px', textAlign:'left', paddingLeft:'10px' }}>
|
||||
Responsable développement
|
||||
<br /> <br />
|
||||
<ImMobile2 /> +337 63 97 23 78 <br />
|
||||
<ImOffice /> +331 77 00 38 57 <br />
|
||||
<BsMailbox /> sbernhard@mysy-training.com <br />
|
||||
<ImHome /> https://www.mysy-training.com/ <br />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div className="carte_visite">
|
||||
<div className="main_div">
|
||||
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '25%' }}>
|
||||
<br />
|
||||
<img classname="img" src="https://img.mysy-training.com/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo"
|
||||
style={{ "maxWidth": "50%", "marginTop": "2rem" }} />
|
||||
<br />
|
||||
|
||||
<div className="div_nom" style={{"fontSize":'25px'}}>
|
||||
<div className="div_nom" style={{ "fontSize": '25px' }}>
|
||||
Aicha BARRY<br />
|
||||
</div>
|
||||
<div className="div_function" style={{"fontSize":'25px'}}>
|
||||
<div className="div_function" style={{ "fontSize": '25px' }}>
|
||||
Directrice Administration & Relation Client
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1269,7 +1326,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
|
||||
</div>
|
||||
|
||||
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight":'3rem', "fontSize":'20px' }}>
|
||||
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight": '3rem', "fontSize": '20px' }}>
|
||||
<div> <ImMobile2 /> +336 16 08 80 48</div>
|
||||
<div> <ImOffice /> +331 77 00 38 57</div>
|
||||
<div> <BsMailbox /> mboiffard@mysy-training.com</div>
|
||||
|
@ -1290,10 +1347,10 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
<br />
|
||||
|
||||
<div className="div_nom">
|
||||
Matthieu BOIFFARD<br />
|
||||
Stéphanie BERNHARD 1<br />
|
||||
</div>
|
||||
<div className="div_function">
|
||||
Responsable Commercial
|
||||
Responsable développement
|
||||
</div>
|
||||
</div>
|
||||
<div className="ch_div_centre">
|
||||
|
@ -1302,7 +1359,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
|
||||
</div>
|
||||
|
||||
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight":'3rem', "fontSize":'20px' }}>
|
||||
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight": '3rem', "fontSize": '20px' }}>
|
||||
<div> <ImMobile2 /> +336 67 45 99 64</div>
|
||||
<div> <ImOffice /> +331 77 00 38 57</div>
|
||||
<div> <BsMailbox /> mboiffard@mysy-training.com</div>
|
||||
|
@ -1343,7 +1400,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
toolbar: 'undo redo | casechange blocks | bold italic backcolor | ' +
|
||||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px;line-height: 0.6rem; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px;line-height: 0.6rem; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -1369,7 +1426,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
toolbar: 'undo redo | casechange blocks | bold italic backcolor | ' +
|
||||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px;line-height: 0.6rem; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px;line-height: 0.6rem; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
@ -1429,7 +1486,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
|
||||
{topX_formation && topX_formation.length > 3 && <div>
|
||||
|
||||
<h3>Le top 5 de vos formationes de la semaine est : </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}>Le top 5 de vos formationes de la semaine est : </h3>
|
||||
|
||||
|
||||
{topX_formation &&
|
||||
|
@ -1455,7 +1512,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
|
||||
|
||||
<div className="section col-md-6">
|
||||
<h3>Le top 5 de vos formationes de la semaine est : </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}>Le top 5 de vos formationes de la semaine est : </h3>
|
||||
|
||||
|
||||
{topX_formation &&
|
||||
|
|
|
@ -1541,7 +1541,7 @@ const TestUrl_New = (props) => {
|
|||
<div className="div_mobile">
|
||||
|
||||
|
||||
<h3> Page de test * testurl_new </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Page de test * testurl_new </h3>
|
||||
parametres courseid = {courseid}, tabid = {tabid}
|
||||
<br />
|
||||
Affichage Timeline <br />
|
||||
|
@ -1803,7 +1803,7 @@ const TestUrl_New = (props) => {
|
|||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
<Button className="bton_enreg" onClick={Add_one_Partner_Document} style={{ "margin": "1rem" }}
|
||||
|
|
|
@ -320,7 +320,7 @@ const Test_Drag_Drop = (props) => {
|
|||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
<h3> Test Page Drag & Drop</h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Test Page Drag & Drop</h3>
|
||||
<Button variant="contained"
|
||||
color="success"
|
||||
className="btn_abonnement"
|
||||
|
|
|
@ -18,20 +18,66 @@ import { CiTrash } from "react-icons/ci";
|
|||
import "react-datepicker/dist/react-datepicker.css";
|
||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||
import { useParams } from 'react-router-dom'
|
||||
import Header from "./Header";
|
||||
import Footer from "./Fotter";
|
||||
|
||||
|
||||
import { FcCheckmark } from "react-icons/fc";
|
||||
|
||||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree } from "react-icons/pi";
|
||||
import Popup from 'reactjs-popup';
|
||||
import 'reactjs-popup/dist/index.css';
|
||||
|
||||
import TextField from '@mui/material/TextField';
|
||||
import Display_Action_And_Class from "./Display_Action_And_Class";
|
||||
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
import AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline';
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import DialogContent from '@mui/material/DialogContent';
|
||||
import DialogContentText from '@mui/material/DialogContentText';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import { IconButton } from '@material-ui/core';
|
||||
import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
|
||||
|
||||
import { makeStyles } from "@material-ui/core/styles";
|
||||
import Paper from '@material-ui/core/Paper';
|
||||
import Draggable from 'react-draggable';
|
||||
|
||||
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',
|
||||
},
|
||||
}));
|
||||
|
||||
|
||||
function UpdateAttendeeList() {
|
||||
|
||||
const classes = useStyles();
|
||||
const history = useHistory();
|
||||
const { client_id, session_id, partner_owner_recid } = useParams();
|
||||
const [isLoading, setLoading] = useState();
|
||||
|
@ -74,6 +120,7 @@ function UpdateAttendeeList() {
|
|||
const columns_preinscrit = [
|
||||
{ field: 'id', headerName: 'id', hide: true },
|
||||
{ field: '_id', headerName: '_id', hide: true },
|
||||
|
||||
{
|
||||
field: 'civilite', headerName: 'Civ.', minWidth: 100, flex: 1, maxWidth: 100, hide: false, editable: true,
|
||||
type: "singleSelect",
|
||||
|
@ -101,10 +148,145 @@ function UpdateAttendeeList() {
|
|||
{ field: 'prenom', headerName: 'prenom', minWidth: 150, flex: 1, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'email', headerName: 'email', minWidth: 150, flex: 1, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{
|
||||
field: 'status', headerName: 'Statut', minWidth: 150, flex: 1, editable: false,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
|
||||
{cellValues.row.status && String(cellValues.row.status) === "1" && "Validé"}
|
||||
{cellValues.row.status && String(cellValues.row.status) === "0" && "PréIns"}
|
||||
{cellValues.row.pres_dist_hyp && String(cellValues.row.status) !== "0"
|
||||
&& String(cellValues.row.status) === "1" && "N/A"}
|
||||
</div>
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
||||
const columns_preinscrit_with_add_delete_bton = [
|
||||
{ field: 'id', headerName: 'id', hide: true },
|
||||
{ field: '_id', headerName: '_id', hide: true },
|
||||
|
||||
{
|
||||
field: 'civilite', headerName: 'Civ.', minWidth: 100, flex: 1, maxWidth: 100, hide: false, editable: true,
|
||||
type: "singleSelect",
|
||||
valueOptions: [
|
||||
{ value: 'm', label: 'M' },
|
||||
{ value: 'mme', label: 'Mme' },
|
||||
{ value: 'neutre', label: 'Neutre' }
|
||||
],
|
||||
renderCell: (params) => {
|
||||
return (
|
||||
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
|
||||
{params.value && String(params.value) === "m" && "M"}
|
||||
{params.value && String(params.value) === "mme" && "Mme"}
|
||||
{params.value && String(params.value) === "neutre" && "Neutre"}
|
||||
|
||||
</div>
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
{ field: 'nom', headerName: 'nom', minWidth: 150, flex: 1, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'prenom', headerName: 'prenom', minWidth: 150, flex: 1, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'email', headerName: 'email', minWidth: 150, flex: 1, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{
|
||||
field: 'status', headerName: 'Statut', minWidth: 150, flex: 1, editable: false,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
|
||||
{cellValues.row.status && String(cellValues.row.status) === "1" && "Validé"}
|
||||
{cellValues.row.status && String(cellValues.row.status) === "0" && "PréIns"}
|
||||
{cellValues.row.pres_dist_hyp && String(cellValues.row.status) !== "0"
|
||||
&& String(cellValues.row.status) === "1" && "N/A"}
|
||||
</div>
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div>
|
||||
|
||||
{cellValues.row.status === "1" && <Button onClick={(event) => {
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Cette inscription est déjà validée");
|
||||
setalert_type("info");
|
||||
return;
|
||||
}}>
|
||||
<FcCheckmark />
|
||||
</Button>}
|
||||
|
||||
{cellValues.row.status === "0" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la ligne 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_data_grid_line(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
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>}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
]
|
||||
|
||||
|
||||
const [document_checked, setdocument_checked] = useState("0");
|
||||
|
||||
const [Getall_Client_Communication_Contact_api, setGetall_Client_Communication_Contact_api] = useState();
|
||||
|
@ -159,6 +341,8 @@ function UpdateAttendeeList() {
|
|||
|
||||
const [Partner_Recid, setPartner_Recid] = useState("");
|
||||
const [class_internal_url, setclass_internal_url] = useState("");
|
||||
const [max_presinscrit, setmax_presinscrit] = useState("");
|
||||
const [is_client_preinsc_update_request, setis_client_preinsc_update_request] = useState("");
|
||||
|
||||
|
||||
|
||||
|
@ -186,25 +370,29 @@ function UpdateAttendeeList() {
|
|||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
//console.log(" In Getall_TrainingParticipant res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_TrainingParticipant res.data.message r_class = " + res.data.message);
|
||||
//console.log(" In Getall_TrainingParticipant res.data.message r_class = " + res.data.message, " -- message_global_data = ", res.data.message_global_data);
|
||||
setGetall_TrainingParticipant_api("true");
|
||||
setGetall_TrainingParticipant_result(res.data.message);
|
||||
setRows_preinsc(res.data.message);
|
||||
|
||||
setmax_presinscrit(String(JSON.parse(res.data.message_global_data).max_presinscrit))
|
||||
setis_client_preinsc_update_request(String(JSON.parse(res.data.message_global_data).is_client_preinsc_update_request))
|
||||
|
||||
|
||||
|
||||
var new_data2 = [];
|
||||
const new_data = res.data.message.map((x) => {
|
||||
|
||||
//---
|
||||
var localid = JSON.parse(x).id;
|
||||
var local_id = JSON.parse(x)._id;
|
||||
var local_status = JSON.parse(x).status;
|
||||
var local_nom = JSON.parse(x).nom;
|
||||
var local_prenom = JSON.parse(x).prenom;
|
||||
var local_email = JSON.parse(x).email;
|
||||
var local_civilite = JSON.parse(x).civilite;
|
||||
|
||||
setPartner_Recid(String(JSON.parse(x).partner_owner_recid))
|
||||
setclass_internal_url(String(JSON.parse(x).class_internal_url))
|
||||
setPartner_Recid(String(JSON.parse(x).partner_owner_recid));
|
||||
setclass_internal_url(String(JSON.parse(x).class_internal_url));
|
||||
|
||||
//---
|
||||
var node = {
|
||||
|
@ -214,6 +402,7 @@ function UpdateAttendeeList() {
|
|||
"prenom": local_prenom,
|
||||
"email": local_email,
|
||||
"civilite": local_civilite,
|
||||
"status": local_status,
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
||||
|
@ -281,7 +470,7 @@ function UpdateAttendeeList() {
|
|||
tmp['prenom'] = (x).prenom;
|
||||
tmp['email'] = (x).email;
|
||||
tmp['civilite'] = (x).civilite;
|
||||
|
||||
tmp['status'] = (x).status;
|
||||
return tmp;
|
||||
|
||||
|
||||
|
@ -295,6 +484,7 @@ function UpdateAttendeeList() {
|
|||
tmp['prenom'] = new_value;
|
||||
tmp['email'] = (x).email;
|
||||
tmp['civilite'] = (x).civilite;
|
||||
tmp['status'] = (x).status;
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
@ -307,6 +497,7 @@ function UpdateAttendeeList() {
|
|||
tmp['prenom'] = (x).prenom;
|
||||
tmp['email'] = (x).email;
|
||||
tmp['civilite'] = new_value;
|
||||
tmp['status'] = (x).status;
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
@ -319,6 +510,7 @@ function UpdateAttendeeList() {
|
|||
tmp['prenom'] = (x).prenom;
|
||||
tmp['email'] = new_value;
|
||||
tmp['civilite'] = (x).civilite;
|
||||
tmp['status'] = (x).status;
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
@ -331,13 +523,14 @@ function UpdateAttendeeList() {
|
|||
tmp['prenom'] = (x).prenom;
|
||||
tmp['email'] = (x).email;
|
||||
tmp['civilite'] = (x).civilite;
|
||||
tmp['status'] = (x).status;
|
||||
|
||||
return tmp;
|
||||
|
||||
|
||||
});
|
||||
|
||||
console.log(" ### updatedData = ", updatedData);
|
||||
// console.log(" ### updatedData = ", updatedData);
|
||||
|
||||
setNew_Getall_TrainingParticipant_result([]);
|
||||
|
||||
|
@ -366,13 +559,14 @@ function UpdateAttendeeList() {
|
|||
form.append("session_id", session_id);
|
||||
form.append("list_attendee_data", new_attende_dat_JSON);
|
||||
form.append("partner_recid", Partner_Recid);
|
||||
form.append("is_client_preinsc_update_request", is_client_preinsc_update_request);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Client_Update_Liste_Attendee_No_Token/";
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
console.log(" In Record_New_Attendee_Data res.data.status = " + res.data.status);
|
||||
console.log(" In Record_New_Attendee_Data res.data.message r_class = " + res.data.message);
|
||||
// console.log(" In Record_New_Attendee_Data res.data.status = " + res.data.status);
|
||||
// console.log(" In Record_New_Attendee_Data res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
|
@ -382,7 +576,9 @@ function UpdateAttendeeList() {
|
|||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
|
||||
history.push("/");
|
||||
Getall_TrainingParticipant();
|
||||
|
||||
//history.push("/");
|
||||
}
|
||||
else {
|
||||
setRecord_New_Attendee_Data_api("false");
|
||||
|
@ -416,6 +612,196 @@ function UpdateAttendeeList() {
|
|||
setdisplay_alert_mysy("");
|
||||
}
|
||||
|
||||
function add_one_ligne_to_datagrid() {
|
||||
|
||||
if (New_Getall_TrainingParticipant_result.length >= String(max_presinscrit)) {
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Vous avez atteint le nombre maximum d'inscriptions autorisé");
|
||||
setalert_type("warning");
|
||||
return;
|
||||
}
|
||||
|
||||
if (String(is_client_preinsc_update_request) === "1" && New_Getall_TrainingParticipant_result.length < String(max_presinscrit)) {
|
||||
var new_data2 = [];
|
||||
const new_data = New_Getall_TrainingParticipant_result.map((x) => {
|
||||
//---
|
||||
var localid = (x).id;
|
||||
var local_id = (x)._id;
|
||||
var local_nom = (x).nom;
|
||||
var local_prenom = (x).prenom;
|
||||
var local_email = (x).email;
|
||||
var local_civilite = (x).civilite;
|
||||
var local_status = (x).status;
|
||||
|
||||
|
||||
//---
|
||||
var node = {
|
||||
"_id": local_id,
|
||||
"id": localid,
|
||||
"nom": local_nom,
|
||||
"prenom": local_prenom,
|
||||
"email": local_email,
|
||||
"civilite": local_civilite,
|
||||
"status": local_status,
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
||||
});
|
||||
|
||||
//---
|
||||
var node = {
|
||||
"_id": "new",
|
||||
"id": String(New_Getall_TrainingParticipant_result.length),
|
||||
"nom": "new_nom",
|
||||
"prenom": "new_prenom",
|
||||
"email": "new_email@email.com",
|
||||
"civilite": "neutre",
|
||||
"status": "0",
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
||||
if (new_data2.length > 0) {
|
||||
setNew_Getall_TrainingParticipant_result(new_data2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function delete_data_grid_line(event, cellValues) {
|
||||
|
||||
if (cellValues.row.status !== "0") {
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le statut soit être à 'Preins' pour être supprimable. Merci de contacter le gestionnaire de formation");
|
||||
setalert_type("warning");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (String(is_client_preinsc_update_request) === "1" && New_Getall_TrainingParticipant_result.length <= String(max_presinscrit)) {
|
||||
var new_data2 = [];
|
||||
const new_data = New_Getall_TrainingParticipant_result.map((x) => {
|
||||
|
||||
if ((x).id != cellValues.row.id) {
|
||||
//---
|
||||
var localid = (x).id;
|
||||
var local_id = (x)._id;
|
||||
var local_nom = (x).nom;
|
||||
var local_prenom = (x).prenom;
|
||||
var local_email = (x).email;
|
||||
var local_civilite = (x).civilite;
|
||||
var local_status = (x).status;
|
||||
|
||||
|
||||
|
||||
//---
|
||||
var node = {
|
||||
"_id": local_id,
|
||||
"id": localid,
|
||||
"nom": local_nom,
|
||||
"prenom": local_prenom,
|
||||
"email": local_email,
|
||||
"civilite": local_civilite,
|
||||
"status": local_status,
|
||||
};
|
||||
new_data2.push(node);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// Si le tableau est vide de chez vide, on ajoute une ligne
|
||||
if (new_data2.length <= 0) {
|
||||
var node = {
|
||||
"_id": "new",
|
||||
"id": String(New_Getall_TrainingParticipant_result.length),
|
||||
"nom": "new_nom",
|
||||
"prenom": "new_prenom",
|
||||
"email": "new_email@email.com",
|
||||
"civilite": "neutre",
|
||||
"status": "0",
|
||||
};
|
||||
new_data2.push(node);
|
||||
}
|
||||
|
||||
|
||||
setNew_Getall_TrainingParticipant_result(new_data2);
|
||||
var form = new FormData();
|
||||
|
||||
const myJSON = JSON.stringify(tab_variable);
|
||||
|
||||
|
||||
|
||||
const new_attende_dat_JSON = JSON.stringify(New_Getall_TrainingParticipant_result);
|
||||
|
||||
// console.log(" Record_New_Attendee_Data New_Getall_TrainingParticipant_result = ", New_Getall_TrainingParticipant_result);
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("client_id", client_id);
|
||||
form.append("session_id", session_id);
|
||||
form.append("partner_recid", Partner_Recid);
|
||||
form.append("inscription_id", cellValues.row._id);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Client_Delete_One_Attendee_No_Token/";
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
// console.log(" In Record_New_Attendee_Data res.data.status = " + res.data.status);
|
||||
// console.log(" In Record_New_Attendee_Data res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
|
||||
Getall_TrainingParticipant();
|
||||
|
||||
//history.push("/");
|
||||
}
|
||||
else {
|
||||
setRecord_New_Attendee_Data_api("false");
|
||||
setRecord_New_Attendee_Data_message(res.data.message);
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.warn('delete_data_grid_line : Not good man :( delete_data_grid_line = ' + error);
|
||||
setRecord_New_Attendee_Data_api("false");
|
||||
alert(" Impossible de supprimer le participant ");
|
||||
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
const [Dialog_preinscrit_message, setDialog_preinscrit_message] = React.useState(false);
|
||||
const [Dialog_preinscrit_open, setDialog_preinscrit_open] = React.useState(false);
|
||||
function Dialog_preinscrit_handle_change_participant_session(message) {
|
||||
setDialog_preinscrit_message(message);
|
||||
setDialog_preinscrit_open(true);
|
||||
}
|
||||
|
||||
const Dialog_preinscrit_handleClose = () => {
|
||||
//alert(" Utiliser le bouton 'fermer' ");
|
||||
//setOpen(false);
|
||||
};
|
||||
|
||||
const Dialog_preinscrit_handleClose_buton = () => {
|
||||
|
||||
setDialog_preinscrit_open(false);
|
||||
};
|
||||
const [Dialog_1_message, setDialog_1_message] = React.useState(false);
|
||||
|
||||
return (
|
||||
<div className="updateattendeelist">
|
||||
|
||||
|
@ -435,11 +821,168 @@ function UpdateAttendeeList() {
|
|||
}
|
||||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
|
||||
|
||||
{/* Dialog pour gerer Un PRE/INSCRIT */}
|
||||
<Dialog
|
||||
open={Dialog_preinscrit_open}
|
||||
// onClose={Dialog_preinscrit_handleClose}
|
||||
//className="displaypartnersession"
|
||||
|
||||
className="displaypartnersession"
|
||||
|
||||
static
|
||||
onClose={() => null}
|
||||
|
||||
PaperProps={{
|
||||
|
||||
|
||||
className: classes.paper, // Apply the paper style
|
||||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
top: '7rem',
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
hideBackdrop={true}
|
||||
disableScrollLock
|
||||
classes={{
|
||||
paper: classes.dialog
|
||||
}}
|
||||
|
||||
PaperComponent={PaperComponent}
|
||||
aria-labelledby="draggable-dialog-title"
|
||||
|
||||
>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title"> Apprenant </DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "20rem" }}>
|
||||
<DialogContentText>
|
||||
{Dialog_1_message}
|
||||
</DialogContentText>
|
||||
|
||||
|
||||
<div className="session_caract_Dialog">Etape <br />
|
||||
|
||||
{/*<Autocomplete
|
||||
disablePortalNew
|
||||
name="duplicate_session_etape"
|
||||
id="duplicate_session_etape"
|
||||
className="disabled_style"
|
||||
options={New_Getall_Parter_OR_Default_Session_Steps_result}
|
||||
value={New_Getall_Parter_OR_Default_Session_Steps_result.filter((data) => (data).session_step_name === String(dup_p_session_etape))[0].session_step_name}
|
||||
|
||||
onChange={(event, value) => {
|
||||
if (value && value.session_step_name) {
|
||||
setdup_p_session_etape(value.session_step_name);
|
||||
|
||||
} else {
|
||||
setdup_p_session_etape("");
|
||||
}
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>*/}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{/*
|
||||
|
||||
<div className="session_caract_Dialog" > Date Session<br />
|
||||
<div style={{ width: "45%", float: "left", textAlign: "left" }}>
|
||||
<DatePicker
|
||||
name="date_du"
|
||||
id="date_du"
|
||||
selected={new Date(moment(dup_p_date_du, "DD/MM/YYYY"))}
|
||||
onChange={(date) => {
|
||||
setdup_p_date_du(format(date, 'd/MM/yyyy'));
|
||||
|
||||
}
|
||||
}
|
||||
showTimeSelect={false}
|
||||
dateFormat="dd/MM/yyyy"
|
||||
className="disabled_style enable_style datepicker_complement"
|
||||
locale='fr-FR'
|
||||
|
||||
/>
|
||||
|
||||
</div>
|
||||
<div style={{ float: "left", textAlign: "center", paddingTop: "20px", fontSize: "12px" }}>
|
||||
Au
|
||||
|
||||
</div>
|
||||
<div style={{ width: "45%", float: "left", textAlign: "right" }}>
|
||||
|
||||
<DatePicker
|
||||
name="date_du"
|
||||
id="date_du"
|
||||
selected={new Date(moment(dup_p_date_au, "DD/MM/YYYY"))}
|
||||
onChange={(date) => {
|
||||
setdup_p_date_au(format(date, 'd/MM/yyyy'));
|
||||
|
||||
}
|
||||
}
|
||||
showTimeSelect={false}
|
||||
dateFormat="dd/MM/yyyy"
|
||||
className="disabled_style enable_style datepicker_complement"
|
||||
locale='fr-FR'
|
||||
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div> */}
|
||||
|
||||
</DialogContent>
|
||||
|
||||
<DialogActions>
|
||||
|
||||
<IconButton
|
||||
autoFocus
|
||||
onClick={Dialog_preinscrit_handleClose_buton}
|
||||
color="primary"
|
||||
className={classes.customizedButton}
|
||||
>
|
||||
<CancelPresentationIcon />
|
||||
</IconButton>
|
||||
|
||||
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button onClick={(e) => {
|
||||
|
||||
}}
|
||||
className="bton_enreg_dialog">Dupliquer </Button>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
<Button onClick={Dialog_preinscrit_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</DialogActions>
|
||||
|
||||
</Dialog>
|
||||
{/* FIN Dialog pour gerer Un PRE/INSCRIT */}
|
||||
|
||||
|
||||
|
||||
<div className="div_row">
|
||||
|
||||
</div>
|
||||
|
||||
{Getall_Client_Communication_Contact_result && Getall_Client_Communication_Contact_result.length > 0 && <div className="div_row" style={{ "width": "90%", "marginLeft": "5%", "background": "white", }}>
|
||||
{Getall_Client_Communication_Contact_result && Getall_Client_Communication_Contact_result.length > 0 &&
|
||||
<div className="div_row" style={{ "width": "90%", "marginLeft": "5%", "background": "white",
|
||||
fontFamily:'DM Sans'
|
||||
}}>
|
||||
<div style={{ textAlign: 'left' }}>
|
||||
|
||||
|
||||
|
@ -469,7 +1012,7 @@ function UpdateAttendeeList() {
|
|||
<div className="div_row">
|
||||
|
||||
</div>
|
||||
{New_Getall_TrainingParticipant_result && New_Getall_TrainingParticipant_result.length > 0 && <div style={{ "width": "90%", "marginLeft": "5%", "background": "white", }}>
|
||||
{String(is_client_preinsc_update_request) !== "1" && New_Getall_TrainingParticipant_result && New_Getall_TrainingParticipant_result.length > 0 && <div style={{ "width": "90%", "marginLeft": "5%", "background": "white", }}>
|
||||
|
||||
|
||||
<div className="session_data" >
|
||||
|
@ -484,7 +1027,131 @@ function UpdateAttendeeList() {
|
|||
[`& .${gridClasses.cell}`]: {
|
||||
py: 1,
|
||||
},
|
||||
'& .line--statut--invoiced': {
|
||||
'& .line--inscription--done': {
|
||||
backgroundColor: '#EAFAF1',
|
||||
color: '#239B56',
|
||||
fontWeight: '700'
|
||||
|
||||
},
|
||||
"& .MuiDataGrid-columnHeaders": {
|
||||
backgroundColor: "#c8cfd5",
|
||||
color: "black",
|
||||
fontSize: 14
|
||||
},
|
||||
|
||||
|
||||
}}
|
||||
|
||||
>
|
||||
<DataGrid
|
||||
|
||||
onCellEditCommit={OnchangeCellDataGrid}
|
||||
editMode="cell"
|
||||
|
||||
|
||||
checkboxSelection
|
||||
onSelectionModelChange={(newSelectionModel) => {
|
||||
setselectionModel_preinsc(newSelectionModel);
|
||||
//console.log("ch selected--" + newSelectionModel);
|
||||
}}
|
||||
selectionModel={selectionModel_preinsc}
|
||||
|
||||
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
|
||||
rows={New_Getall_TrainingParticipant_result.map((item, index) => (
|
||||
{
|
||||
id: index,
|
||||
_id: item._id,
|
||||
_id: item._id,
|
||||
nom: item.nom,
|
||||
prenom: (item).prenom,
|
||||
email: (item).email,
|
||||
civilite: (item).civilite,
|
||||
status: (item).status,
|
||||
}
|
||||
))}
|
||||
|
||||
columns={columns_preinscrit}
|
||||
pageSize={10}
|
||||
className="datagridclass"
|
||||
|
||||
rowsPerPageOptions={[10]}
|
||||
disableSelectionOnClick
|
||||
components={{
|
||||
Toolbar: GridToolbar,
|
||||
}}
|
||||
|
||||
getRowClassName={(params) => {
|
||||
|
||||
// Pour la gestion de la couleur de zone double cliquée
|
||||
if (String(params.row.status) === "1") {
|
||||
return 'line--inscription--done';
|
||||
}
|
||||
|
||||
|
||||
}}
|
||||
|
||||
getEstimatedRowHeight={() => 200}
|
||||
getRowHeight={() => "auto"}
|
||||
sx={{
|
||||
"& .MuiDataGrid-cellContent": {
|
||||
minHeight: 50,
|
||||
|
||||
},
|
||||
[`& .${gridClasses.cell}`]: {
|
||||
py: 1,
|
||||
},
|
||||
}}
|
||||
/>
|
||||
</Box>
|
||||
|
||||
<br />
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
</div>}
|
||||
|
||||
<div className="div_row">
|
||||
{String(is_client_preinsc_update_request) !== "1" && String(document_checked) === "1" && (!Getall_TrainingParticipant_result || Getall_TrainingParticipant_result.length <= 0) && <div style={{
|
||||
height: "40vh", "width": "100%",
|
||||
"background": "#F2F4F4", overflow: "auto", "paddingBottom": "1rem",
|
||||
"marginTop": "5rem", "color": "red", fontWeight: '700', "fontSize": "20px"
|
||||
}}>
|
||||
|
||||
Le document est invalide
|
||||
|
||||
</div>}
|
||||
|
||||
{String(is_client_preinsc_update_request) === "1" && String(max_presinscrit) > "0" &&
|
||||
<div>
|
||||
<div className="div_row" style={{ "width": "90%", "marginLeft": "5%", "background": "white", "textAlign": 'left', "marginBottom": "2rem" }}>
|
||||
<b> Inscrire ou mettre à jour les participants à la formation. Maxium autorisé : {max_presinscrit} </b><br />
|
||||
Procedure : <br />
|
||||
Pour mettre à jour une cellule : Double cliquer sur la cellule et modifier l'information. <br />
|
||||
Pour ajouter ou supprimer une ligne : Utiliser les boutons.
|
||||
<br />
|
||||
</div>
|
||||
|
||||
|
||||
{New_Getall_TrainingParticipant_result && New_Getall_TrainingParticipant_result.length > 0 && <div style={{ "width": "90%", "marginLeft": "5%", "background": "white", }}>
|
||||
|
||||
<div className="session_data" >
|
||||
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
|
||||
<Box
|
||||
sx={{
|
||||
height: 500,
|
||||
width: '100%',
|
||||
paddingRight: '2px',
|
||||
|
||||
|
||||
[`& .${gridClasses.cell}`]: {
|
||||
py: 1,
|
||||
},
|
||||
'& .line--inscription--done': {
|
||||
backgroundColor: '#EAFAF1',
|
||||
color: '#239B56',
|
||||
fontWeight: '700'
|
||||
|
@ -522,18 +1189,34 @@ function UpdateAttendeeList() {
|
|||
prenom: (item).prenom,
|
||||
email: (item).email,
|
||||
civilite: (item).civilite,
|
||||
status: (item).status,
|
||||
}
|
||||
))}
|
||||
|
||||
columns={columns_preinscrit}
|
||||
columns={columns_preinscrit_with_add_delete_bton}
|
||||
|
||||
isCellEditable={(params) => params.row.status === "0"}
|
||||
|
||||
pageSize={10}
|
||||
className="datagridclass"
|
||||
|
||||
|
||||
rowsPerPageOptions={[10]}
|
||||
disableSelectionOnClick
|
||||
components={{
|
||||
Toolbar: GridToolbar,
|
||||
}}
|
||||
|
||||
getRowClassName={(params) => {
|
||||
|
||||
// Pour la gestion de la couleur de zone double cliquée
|
||||
if (String(params.row.status) === "1") {
|
||||
return 'line--inscription--done';
|
||||
}
|
||||
|
||||
|
||||
}}
|
||||
|
||||
getEstimatedRowHeight={() => 200}
|
||||
getRowHeight={() => "auto"}
|
||||
sx={{
|
||||
|
@ -552,9 +1235,37 @@ function UpdateAttendeeList() {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="div_row" style={{ "border": "None", marginBottom: "1rem" }}>
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }} >
|
||||
<nav style={{
|
||||
"textAlign": 'right', width: '15rem', color: '#1976d2',
|
||||
boxSizing: 'border-box', border: 'none', margin: 'auto', 'marginRight': '10px',
|
||||
'cursor': 'pointer'
|
||||
}} onClick={(event) => {
|
||||
add_one_ligne_to_datagrid();
|
||||
}}> <AddCircleOutlineIcon />1 ligne </nav>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<br />
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
|
||||
</div>}
|
||||
|
||||
</div>}
|
||||
|
||||
</div>
|
||||
<br />
|
||||
<div className="div_row" style={{ width: '90%', marginLeft: '5%', marginTop: '1rem' }}>
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', }}>
|
||||
|
||||
<Popup
|
||||
trigger={
|
||||
|
@ -605,12 +1316,19 @@ function UpdateAttendeeList() {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }} >
|
||||
<div className="div_row_droite" style={{ "textAlign": 'right' }} >
|
||||
<Button variant="contained" className="bton_annule" onClick={(event) => {
|
||||
history.push("/");
|
||||
}} >Annuler
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="div_row">
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
|
@ -625,23 +1343,6 @@ function UpdateAttendeeList() {
|
|||
</div>}
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
|
||||
<div className="div_row">
|
||||
{String(document_checked) === "1" && (!Getall_TrainingParticipant_result || Getall_TrainingParticipant_result.length <= 0) && <div style={{
|
||||
height: "40vh", "width": "100%",
|
||||
"background": "#F2F4F4", overflow: "auto", "paddingBottom": "1rem",
|
||||
"marginTop":"5rem", "color":"red", fontWeight:'700', "fontSize":"20px"
|
||||
}}>
|
||||
|
||||
Le document est invalide
|
||||
|
||||
</div>}
|
||||
</div>
|
||||
|
||||
<div className="div_row">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
);
|
||||
|
|
|
@ -2233,17 +2233,8 @@ function UpdateParnterInfo(props) {
|
|||
//console.log(" img_width = ", img_width);
|
||||
_URL.revokeObjectURL(objectUrl);
|
||||
if (parseFloat(img_width) > 1500 && parseFloat(img_width) < 1930 &&
|
||||
parseFloat(img_height) > 150 && parseFloat(img_height) < 195) {
|
||||
//console.log(" img_height est = ", img_height, " < à 1500 ");
|
||||
parseFloat(img_height) > 150 && parseFloat(img_height) < 250) {
|
||||
|
||||
// Verification que le nom du fichier est alpha numerique
|
||||
/*var regExp = /^[A-Za-z0-9]+$/;
|
||||
if (!regExp.test(event.target.files[0].name)) {
|
||||
sethandleSubmission_bg_message(" Le nom de l'image comporte des caractères non alphanumériques");
|
||||
sethandleSubmission_bg_api("false");
|
||||
setLoading(false);
|
||||
return
|
||||
}*/
|
||||
|
||||
|
||||
if (String(event.target.files[0].name).length > 50) {
|
||||
|
@ -2611,14 +2602,16 @@ function UpdateParnterInfo(props) {
|
|||
form.append("_id", selected_catalog_pub_config_id);
|
||||
form.append("banniere_img", img_bg_file);
|
||||
|
||||
//console.log(" form == ", form);
|
||||
// console.log("Add_Update_Catalog_Pub_Banniere form == ", form);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Update_Partner_Catalog_Pub_Config/";
|
||||
|
||||
// console.log("myurl== ", myurl);
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
setLoading(false);
|
||||
//console.log(" In Add_Update_Catalog_Pub_Banniere res.data.status = " + res.data.status);
|
||||
// console.log(" In Add_Update_Catalog_Pub_Banniere res.data.status = " + res.data.status);
|
||||
//console.log(" In Add_Update_Catalog_Pub_Banniere res.data.message r_class = " + res.data.message);
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
|
@ -2648,7 +2641,7 @@ function UpdateParnterInfo(props) {
|
|||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Add_Update_Catalog_Pub_Banniere = ' + error);
|
||||
setAdd_Update_Catalog_Pub_Banniere_api("false");
|
||||
alert(" Impossible de supprimer la bannière ");
|
||||
alert(" Impossible de mettre à jour la bannière ");
|
||||
|
||||
})
|
||||
}
|
||||
|
@ -3454,7 +3447,7 @@ function UpdateParnterInfo(props) {
|
|||
</div>}
|
||||
|
||||
{String(submenu).trim() === "submenu_donnee_catalog_pub" && <div className="training_data">
|
||||
<h3> Configuration du Catalogue public </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Configuration du Catalogue public </h3>
|
||||
|
||||
|
||||
<div className="partner_catalog_pub">
|
||||
|
@ -4756,7 +4749,7 @@ function UpdateParnterInfo(props) {
|
|||
|
||||
{Partner_Catalog_Pub_banniere && String(Partner_Catalog_Pub_banniere).length > 20 && <div className="div_row" style={{ "border": "None" }}>
|
||||
Bannière actuelle : <br />
|
||||
<img src={Partner_Catalog_Pub_banniere} alt={""} className="img_bg_file_css" /> zzzz
|
||||
<img src={Partner_Catalog_Pub_banniere} alt={""} className="img_bg_file_css" />
|
||||
<br />
|
||||
<br />
|
||||
<Button variant="contained" className="btn_enreg" onClick={Delete_Catalog_Pub_Banniere_Img}>Supprimer Bannière
|
||||
|
@ -5471,7 +5464,10 @@ function UpdateParnterInfo(props) {
|
|||
|
||||
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }} onChange={DataUpdated}>
|
||||
|
||||
|
||||
|
||||
<div style={{ display: 'flex', flexDirection: 'row', gap: '20px', width: '100%', flexWrap: 'wrap', justifyContent: 'left' }} onChange={DataUpdated}>
|
||||
|
||||
{String(is_partner_admin_account) === "1" && <TextField
|
||||
required
|
||||
|
@ -5630,8 +5626,8 @@ function UpdateParnterInfo(props) {
|
|||
<TextField
|
||||
name="adr_street"
|
||||
label="Adresse"
|
||||
className="texte_area_adress"
|
||||
sx={{ m: 1, width: '90%' }}
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
InputProps={{
|
||||
startAdornment: (
|
||||
<InputAdornment position="start">
|
||||
|
@ -5690,96 +5686,6 @@ function UpdateParnterInfo(props) {
|
|||
value={p_adr_country}
|
||||
onChange={(e) => setp_adr_country(e.target.value)}
|
||||
/>
|
||||
{String(is_partner_admin_account) === "1" && <div>
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
<div className="div_row_gauche">
|
||||
<div className="titre1"> Votre logo </div>
|
||||
<div className="div_row_bis" style={{ "marginBottom": "10px", "marginTop": "1rem" }} >
|
||||
<div className="div_row_gauche_image">
|
||||
<img class="img_class_logo" src={userimgclassprofil} /><br />
|
||||
|
||||
</div>
|
||||
<div className="div_row_droite_image">
|
||||
<input type="file" id="files_img_class" accept="image/*" onChange={imglogoclasschangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br />
|
||||
{String(userformedited) === "1" && <nav> <label for="files_img_class" className="bton_image_class">Charger un logo</label><br />
|
||||
|
||||
{String(isimgclassSelected_recid) && String(isimgclassSelected_recid).length > 3 &&
|
||||
<nav className="bton_supprime_image_class" onClick={removeRecodedLogoImage}>Supprimer le logo<br /> </nav>
|
||||
}
|
||||
|
||||
</nav>}
|
||||
|
||||
{/*isimgclassSelected && <Button variant="outlined" onClick={sendClassImage} className="bton_image_class">Enregistrer image</Button>*/}
|
||||
{isimgclassdeleted && String(isimgclassdeleted) === "1" && <nav className="koUpdateData"> {isimgclassdeleted_message}</nav>}
|
||||
{isimgclassdeleted && String(isimgclassdeleted) === "0" && <nav className="okUpdateData"> {isimgclassdeleted_message}</nav>}
|
||||
{isimgclassSelected && String(isimgclassSaved) === "0" && <nav className="koUpdateData"> {isimgclassSaved_message}</nav>}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className="div_row_bis tips_img_class">
|
||||
<li>
|
||||
L'image doit etre carrée.
|
||||
</li>
|
||||
<li>
|
||||
Les formats autorisés sont : <i>['jpg', 'jpeg', 'png', 'jpe', 'webp']</i>
|
||||
</li>
|
||||
<li>
|
||||
Les dimensions recommandées: 128pixels X 128pixels -- 144pixels X 144pixels -- 168pixels X 168pixels<br />
|
||||
Les dimensions maximales sont de 256pixels X 256pixels
|
||||
</li>
|
||||
<li>
|
||||
La taille de l'image ne doit pas dépasser 1 mega octet
|
||||
</li>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite">
|
||||
<div className="titre1"> Votre cachet </div>
|
||||
<div className="div_row_bis" style={{ "marginBottom": "10px", "marginTop": "1rem" }} >
|
||||
<div className="div_row_gauche_image">
|
||||
<img class="img_class_logo" src={isimgcachet} /><br />
|
||||
|
||||
</div>
|
||||
<div className="div_row_droite_image">
|
||||
<input type="file" id="files_img_cachet_class" accept="image/*" onChange={imgcachetchangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br />
|
||||
{String(userformedited) === "1" && <nav> <label for="files_img_cachet_class" className="bton_image_class">Charger un cachet</label><br />
|
||||
|
||||
|
||||
{String(isimgcachetSelected_recid) && String(isimgcachetSelected_recid).length > 3 &&
|
||||
<nav className="bton_supprime_image_class" onClick={removeRecodedCachetImage}>Supprimer le cachet </nav>}
|
||||
|
||||
<br /> </nav>}
|
||||
{/*isimgclassSelected && <Button variant="outlined" onClick={sendClassImage} className="bton_image_class">Enregistrer image</Button>*/}
|
||||
{isimgcachetdeleted && String(isimgcachetdeleted) === "1" && <nav className="koUpdateData"> {isimgcachetdeleted_message}</nav>}
|
||||
{isimgcachetdeleted && String(isimgcachetdeleted) === "0" && <nav className="okUpdateData"> {isimgcachetdeleted_message}</nav>}
|
||||
{isimgcachetSelected && String(isimgcachetSaved) === "0" && <nav className="koUpdateData"> {isimgcachetSaved_message}</nav>}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className="div_row_bis tips_img_class">
|
||||
<li>
|
||||
L'image doit etre carrée.
|
||||
</li>
|
||||
<li>
|
||||
Les formats autorisés sont : <i>['jpg', 'jpeg', 'png', 'jpe', 'webp']</i>
|
||||
</li>
|
||||
<li>
|
||||
Les dimensions recommandées: 128pixels X 128pixels -- 144pixels X 144pixels -- 168pixels X 168pixels<br />
|
||||
Les dimensions maximales sont de 256pixels X 256pixels
|
||||
</li>
|
||||
<li>
|
||||
La taille de l'image ne doit pas dépasser 1 mega octet
|
||||
</li>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
<div className="titre1"> Certification </div>
|
||||
<div className="div_row">
|
||||
|
||||
|
||||
<TextField
|
||||
|
@ -5845,10 +5751,6 @@ function UpdateParnterInfo(props) {
|
|||
))}
|
||||
</TextField>
|
||||
}
|
||||
</div>
|
||||
<div className="div_row">
|
||||
|
||||
|
||||
|
||||
|
||||
{fields1desabled == true && String(mydatadock) !== "1" &&
|
||||
|
@ -5921,10 +5823,7 @@ function UpdateParnterInfo(props) {
|
|||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
value="Oui"
|
||||
|
||||
|
||||
/>
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -5948,12 +5847,104 @@ function UpdateParnterInfo(props) {
|
|||
))}
|
||||
</TextField>
|
||||
}
|
||||
|
||||
|
||||
|
||||
{String(is_partner_admin_account) === "1" &&
|
||||
<div style={{ display: 'flex', flexDirection: 'row', gap: '20px', width: '100%', flexWrap: 'wrap', justifyContent: 'left' }} onChange={DataUpdated}>
|
||||
|
||||
<div className="div_row_gauche" style={{ "width": '48%' }} >
|
||||
<div className="titre1"> Votre logo </div>
|
||||
<div className="div_row_bis" style={{ "marginBottom": "10px", "marginTop": "1rem" }} >
|
||||
<div className="div_row_gauche_image">
|
||||
<img class="img_class_logo" src={userimgclassprofil} /><br />
|
||||
|
||||
</div>
|
||||
<div className="div_row_droite_image">
|
||||
<input type="file" id="files_img_class" accept="image/*" onChange={imglogoclasschangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br />
|
||||
{String(userformedited) === "1" && <nav> <label for="files_img_class" className="bton_image_class">Charger un logo</label><br />
|
||||
|
||||
{String(isimgclassSelected_recid) && String(isimgclassSelected_recid).length > 3 &&
|
||||
<nav className="bton_supprime_image_class" onClick={removeRecodedLogoImage}>Supprimer le logo<br /> </nav>
|
||||
}
|
||||
|
||||
</nav>}
|
||||
|
||||
{/*isimgclassSelected && <Button variant="outlined" onClick={sendClassImage} className="bton_image_class">Enregistrer image</Button>*/}
|
||||
{isimgclassdeleted && String(isimgclassdeleted) === "1" && <nav className="koUpdateData"> {isimgclassdeleted_message}</nav>}
|
||||
{isimgclassdeleted && String(isimgclassdeleted) === "0" && <nav className="okUpdateData"> {isimgclassdeleted_message}</nav>}
|
||||
{isimgclassSelected && String(isimgclassSaved) === "0" && <nav className="koUpdateData"> {isimgclassSaved_message}</nav>}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className="div_row_bis tips_img_class">
|
||||
<li>
|
||||
L'image doit etre carrée.
|
||||
</li>
|
||||
<li>
|
||||
Les formats autorisés sont : <i>['jpg', 'jpeg', 'png', 'jpe', 'webp']</i>
|
||||
</li>
|
||||
<li>
|
||||
Les dimensions recommandées: 128pixels X 128pixels -- 144pixels X 144pixels -- 168pixels X 168pixels<br />
|
||||
Les dimensions maximales sont de 256pixels X 256pixels
|
||||
</li>
|
||||
<li>
|
||||
La taille de l'image ne doit pas dépasser 1 mega octet
|
||||
</li>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "width": '48%' }}>
|
||||
<div className="titre1"> Votre cachet </div>
|
||||
<div className="div_row_bis" style={{ "marginBottom": "10px", "marginTop": "1rem" }} >
|
||||
<div className="div_row_gauche_image">
|
||||
<img class="img_class_logo" src={isimgcachet} /><br />
|
||||
|
||||
</div>
|
||||
<div className="div_row_droite_image">
|
||||
<input type="file" id="files_img_cachet_class" accept="image/*" onChange={imgcachetchangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br />
|
||||
{String(userformedited) === "1" && <nav> <label for="files_img_cachet_class" className="bton_image_class">Charger un cachet</label><br />
|
||||
|
||||
|
||||
{String(isimgcachetSelected_recid) && String(isimgcachetSelected_recid).length > 3 &&
|
||||
<nav className="bton_supprime_image_class" onClick={removeRecodedCachetImage}>Supprimer le cachet </nav>}
|
||||
|
||||
<br /> </nav>}
|
||||
{/*isimgclassSelected && <Button variant="outlined" onClick={sendClassImage} className="bton_image_class">Enregistrer image</Button>*/}
|
||||
{isimgcachetdeleted && String(isimgcachetdeleted) === "1" && <nav className="koUpdateData"> {isimgcachetdeleted_message}</nav>}
|
||||
{isimgcachetdeleted && String(isimgcachetdeleted) === "0" && <nav className="okUpdateData"> {isimgcachetdeleted_message}</nav>}
|
||||
{isimgcachetSelected && String(isimgcachetSaved) === "0" && <nav className="koUpdateData"> {isimgcachetSaved_message}</nav>}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className="div_row_bis tips_img_class">
|
||||
<li>
|
||||
L'image doit etre carrée.
|
||||
</li>
|
||||
<li>
|
||||
Les formats autorisés sont : <i>['jpg', 'jpeg', 'png', 'jpe', 'webp']</i>
|
||||
</li>
|
||||
<li>
|
||||
Les dimensions recommandées: 128pixels X 128pixels -- 144pixels X 144pixels -- 168pixels X 168pixels<br />
|
||||
Les dimensions maximales sont de 256pixels X 256pixels
|
||||
</li>
|
||||
<li>
|
||||
La taille de l'image ne doit pas dépasser 1 mega octet
|
||||
</li>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
<div className="titre1"> Info Contact </div>
|
||||
<div style={{ display: 'flex', flexDirection: 'row', gap: '20px', width: '100%', flexWrap: 'wrap', justifyContent: 'left' }} onChange={DataUpdated}>
|
||||
|
||||
<TextField
|
||||
name="contact_nom"
|
||||
|
@ -6023,6 +6014,8 @@ function UpdateParnterInfo(props) {
|
|||
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div>
|
||||
</div>}
|
||||
|
||||
|
||||
</div>
|
||||
<div className="div_row22">
|
||||
{fields1desabled == false && <div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
|
@ -6040,8 +6033,11 @@ function UpdateParnterInfo(props) {
|
|||
|
||||
</div>
|
||||
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
|
||||
<div className="div_row"> </div>
|
||||
|
||||
<div className="titre1"> Accès E-Learning </div>
|
||||
<div style={{ display: 'flex', flexDirection: 'row', gap: '20px', width: '100%', flexWrap: 'wrap', justifyContent: 'left' }} onChange={DataUpdated}>
|
||||
<TextField
|
||||
name="contact_login_elearning"
|
||||
label="E-Learning Login"
|
||||
|
@ -6077,11 +6073,7 @@ function UpdateParnterInfo(props) {
|
|||
|
||||
/>
|
||||
|
||||
|
||||
</Box>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
|
||||
|
|
|
@ -363,7 +363,7 @@ function UpdateUserGoals(props) {
|
|||
toolbar: 'undo redo | casechange blocks | bold italic backcolor | ' +
|
||||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
|
|
|
@ -209,7 +209,7 @@ function UpdateUserProfil(props) {
|
|||
<div className="updateuserprofil">
|
||||
|
||||
|
||||
<h3> Votre profils </h3>
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Votre profils </h3>
|
||||
|
||||
|
||||
{String(recorddata_api) === String("true") && <div className="okUpdateData"> Le profil a été ajouté/mise à jour </div>}
|
||||
|
|
|
@ -49,7 +49,7 @@ const LogoCloud = () => {
|
|||
<div className='new_a_propos_2025'>
|
||||
<div className="LogoCloud_block1" >
|
||||
<h2 className="LogoCloud_h2">
|
||||
1000+ institutions éducatifs ont confiance en Mysy Training
|
||||
50+ Organismes de Formation ont confiance en Mysy Training
|
||||
</h2>
|
||||
|
||||
<div className='block_logo_client'>
|
||||
|
|
|
@ -77,7 +77,7 @@ const New_C_A_Propos_2025 = (props) => {
|
|||
|
||||
<VisionSection />
|
||||
|
||||
<KeyMetrics />
|
||||
{/* <KeyMetrics /> */}
|
||||
|
||||
<Features />
|
||||
|
||||
|
|
|
@ -2,26 +2,24 @@ import React, { useRef, useState, useEffect } from "react";
|
|||
import "./new_s_detail_formation_2025.css";
|
||||
import { useParams } from 'react-router-dom'
|
||||
import axios from "axios";
|
||||
import Popup from 'reactjs-popup';
|
||||
|
||||
import 'reactjs-popup/dist/index.css';
|
||||
|
||||
import { Helmet } from "react-helmet";
|
||||
import 'react-slideshow-image/dist/styles.css'
|
||||
import { Fade } from 'react-slideshow-image';
|
||||
|
||||
import slideimg1 from "../../mysy_img/education.jpg";
|
||||
import slideimg4 from "../../mysy_img/mysy_img.png";
|
||||
|
||||
import img_met_program from "../../mysy_img/met_programmation.jpg";
|
||||
import img_met_hotel from "../../mysy_img/met_hotel.jpg";
|
||||
|
||||
import img_met_graphisme from "../../mysy_img/metier_graphisme.jpg";
|
||||
|
||||
import img_met_autre from "../../mysy_img/met_autre.jpg";
|
||||
import img_met_digital from "../../mysy_img/met_digital.jpg";
|
||||
import img_met_management from "../../mysy_img/met_management.jpg";
|
||||
import img_met_projet from "../../mysy_img/met_projet.jpg";
|
||||
|
||||
import img_met_market from "../../mysy_img/met_market.jpg";
|
||||
import img_met_autre2 from "../../mysy_img/met_autre2.jpg";
|
||||
|
||||
import img_met_dev_perso from "../../mysy_img/metier_dev_perso.jpg";
|
||||
import img_met_rh from "../../mysy_img/met_rh.jpg";
|
||||
|
||||
|
@ -40,18 +38,14 @@ import Social_Fa_icon from '../../img_new_design_2025/social_i_Fa.png';
|
|||
import { Button, } from "reactstrap";
|
||||
import { useHistory } from "react-router-dom";
|
||||
import { useCookies } from "react-cookie";
|
||||
import { FacebookShareButton, LinkedinShareButton, TwitterShareButton } from "react-share";
|
||||
import { SocialIcon } from 'react-social-icons';
|
||||
|
||||
import { confirmAlert } from 'react-confirm-alert';
|
||||
//import { Rating } from 'react-simple-star-rating';
|
||||
import Rating from '@mui/material/Rating';
|
||||
import parse from 'html-react-parser';
|
||||
import Inscription from "./../Inscription_Information";
|
||||
import SendIcon from '@mui/icons-material/Send';
|
||||
import mysy_logo2 from "../../mysy_img2/Logo_MySy.png"
|
||||
import { FaSearch, FaRegArrowAltCircleDown, FaRegArrowAltCircleUp } from 'react-icons/fa';
|
||||
import { areOptionsEqual } from "@mui/base";
|
||||
import { borderRadius, style } from "@mui/system";
|
||||
|
||||
|
||||
import Accordion from '@mui/material/Accordion';
|
||||
import AccordionDetails from '@mui/material/AccordionDetails';
|
||||
|
@ -65,10 +59,6 @@ import DialogContent from '@mui/material/DialogContent';
|
|||
import DialogContentText from '@mui/material/DialogContentText';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
|
||||
import Box from '@mui/material/Box';
|
||||
import TextField from '@mui/material/TextField';
|
||||
|
||||
import DescriptionIcon from '@mui/icons-material/Description';
|
||||
|
||||
const New_C_Detail_Formation_2025 = (props) => {
|
||||
const { classId, action } = useParams();
|
||||
|
@ -87,7 +77,6 @@ const New_C_Detail_Formation_2025 = (props) => {
|
|||
const [userIp, setuserIp] = useState("");
|
||||
const [mynote, setmynote] = useState(0);
|
||||
const [userconnected, setuserconnected] = useState("0");
|
||||
const [someoneconnected, setsomeoneconnected] = useState("0");
|
||||
const [partnerconnected, setpartnerconnected] = useState("0");
|
||||
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']);
|
||||
const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']);
|
||||
|
@ -1834,7 +1823,7 @@ const New_C_Detail_Formation_2025 = (props) => {
|
|||
id={val._id}
|
||||
>
|
||||
|
||||
<Typography sx={{ color: 'text.secondary' }}>
|
||||
<Typography sx={{ color: 'text.secondary', }}>
|
||||
{val.titre}
|
||||
</Typography>
|
||||
</AccordionSummary>
|
||||
|
@ -2244,7 +2233,7 @@ const New_C_Detail_Formation_2025 = (props) => {
|
|||
id={val._id}
|
||||
>
|
||||
|
||||
<Typography sx={{ color: 'text.secondary' }}>
|
||||
<Typography sx={{ color: 'text.secondary', fontWeight:'500' }}>
|
||||
{val.titre}
|
||||
</Typography>
|
||||
</AccordionSummary>
|
||||
|
|
|
@ -6897,24 +6897,7 @@
|
|||
|
||||
|
||||
.block_info_page_pave_title_desc_title {
|
||||
/*
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
font-family: Roboto, Verdana, Georgia, Arial, 'Times New Roman';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 20px;
|
||||
line-height: 40px;
|
||||
font-feature-settings: 'liga' off;
|
||||
color: white;
|
||||
flex: none;
|
||||
order: 0;
|
||||
align-self: stretch;
|
||||
flex-grow: 0;
|
||||
|
||||
background-color: #20BFA9;
|
||||
text-align: center;
|
||||
*/
|
||||
|
||||
height: 24px;
|
||||
|
||||
|
@ -6967,54 +6950,34 @@
|
|||
}
|
||||
|
||||
.programme_block {
|
||||
/* max-height: 18rem;
|
||||
min-height: 10rem;
|
||||
overflow: auto;
|
||||
padding: 10px;
|
||||
font-family: Roboto, Verdana, Georgia, Arial, 'Times New Roman';
|
||||
line-height: 30px;
|
||||
font-size: 14px;*/
|
||||
|
||||
|
||||
|
||||
font-family: 'Inter';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
line-height: 180%;
|
||||
/* or 26px */
|
||||
font-feature-settings: 'liga' off;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
line-height: 160%;
|
||||
/* or 26px */
|
||||
font-feature-settings: 'liga' off;
|
||||
|
||||
/* Foundation /Blue-Grey/Normal */
|
||||
color: #4B5162;
|
||||
/* Foundation /Blue-Grey/Normal */
|
||||
color: #4B5162;
|
||||
|
||||
|
||||
/* Inside auto layout */
|
||||
flex: none;
|
||||
order: 1;
|
||||
align-self: stretch;
|
||||
flex-grow: 0;
|
||||
padding: 0px;
|
||||
/* Inside auto layout */
|
||||
flex: none;
|
||||
order: 1;
|
||||
align-self: stretch;
|
||||
flex-grow: 0;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
.description_block {
|
||||
/* max-height: 13rem;
|
||||
min-height: 8rem;
|
||||
overflow: auto;
|
||||
padding: 10px;
|
||||
font-family: Roboto, Verdana, Georgia, Arial, 'Times New Roman';
|
||||
line-height: 30px;
|
||||
font-size: 14px;*/
|
||||
|
||||
|
||||
|
||||
font-family: 'Inter';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
line-height: 180%;
|
||||
line-height: 160%;
|
||||
/* or 26px */
|
||||
font-feature-settings: 'liga' off;
|
||||
|
||||
|
@ -7027,38 +6990,29 @@
|
|||
order: 1;
|
||||
align-self: stretch;
|
||||
flex-grow: 0;
|
||||
padding: 0px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.objectif_block {
|
||||
/* max-height: 11rem;
|
||||
min-height: 5rem;
|
||||
overflow: auto;
|
||||
padding: 10px;
|
||||
font-family: Roboto, Verdana, Georgia, Arial, 'Times New Roman';
|
||||
line-height: 30px;
|
||||
font-size: 14px;*/
|
||||
|
||||
|
||||
|
||||
font-family: 'Inter';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
line-height: 180%;
|
||||
/* or 26px */
|
||||
font-feature-settings: 'liga' off;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
line-height: 160%;
|
||||
/* or 26px */
|
||||
font-feature-settings: 'liga' off;
|
||||
|
||||
/* Foundation /Blue-Grey/Normal */
|
||||
color: #4B5162;
|
||||
/* Foundation /Blue-Grey/Normal */
|
||||
color: #4B5162;
|
||||
|
||||
|
||||
/* Inside auto layout */
|
||||
flex: none;
|
||||
order: 1;
|
||||
align-self: stretch;
|
||||
flex-grow: 0;
|
||||
padding: 0px;
|
||||
/* Inside auto layout */
|
||||
flex: none;
|
||||
order: 1;
|
||||
align-self: stretch;
|
||||
flex-grow: 0;
|
||||
|
||||
}
|
||||
|
||||
.session_block {
|
||||
|
|
|
@ -193,10 +193,10 @@ const New_C_Fonctionalites_2025 = (props) => {
|
|||
<div className="new_fonctionalites_2025">
|
||||
|
||||
<Helmet>
|
||||
<title>Logiciel de gestion pour Organisme de formation : Gestion Administrative, CRM, LMS, Marketplace, découvrez les Fonctionnalités et Modules du logiciel de gestion des organismes de formation</title>
|
||||
<meta name="description" content="Avec notre logiciel Tout-en-Un, Nous automatisons les étapes Qualiopi (Inscription, Documents personnalisés, Les émargements sécurisés, Les évaluations, etc). Votre Le bilan pédagogique et financier est généré automatiquement." />
|
||||
<title>Gérez votre OF sans stress : tout est inclus avec MySy Training</title>
|
||||
<meta name="description" content="Un seul logiciel, zéro surprise : MySy Training gère tout pour votre OF, et toutes les options sont incluses. Pas de blabla, que de l'efficacité." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<meta name="title" content="Gestion Administrative, CRM, LMS, Marketplace, découvrez les Fonctionnalités et Modules du logiciel de gestion des organismes de formation" />
|
||||
<meta name="title" content="Gérez votre OF sans stress : tout est inclus avec MySy Training" />
|
||||
<link rel="canonical" href={window.location.href} />
|
||||
|
||||
</Helmet>
|
||||
|
|
|
@ -77,10 +77,10 @@ const FooterSection = ({ logoSrc, address, email, phone }) => {
|
|||
|
||||
<div className="footer-bottom">
|
||||
<div className="legal-links">
|
||||
<a href="#">Privacy policy</a>
|
||||
<a href="#">Cookies</a>
|
||||
<a href="#">Legal</a>
|
||||
<a href="#">Accessibility</a>
|
||||
<a href='/sample/MYSY_POLITIQUE_CONFIDENTIALITE.pdf' download target="_blank">| Confidentialité | Cookies | données personnelles </a>
|
||||
<a href='/sample/MYSY_MENTIONS_LEGALES.pdf' download target="_blank">| Mentions légales </a>
|
||||
<a href='/sample/MYSY_CGU.pdf' download target="_blank">| CGU </a>
|
||||
<a href='/sample/Conditions_Generales-Vente_CGV.pdf' download target="_blank">| CGV </a>
|
||||
<span className="copyright">Copyright © {current_year} MySy Training Technology. Tous droits réservés.</span>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -240,6 +240,7 @@
|
|||
line-height: 160%;
|
||||
color: #171717;
|
||||
margin: 0;
|
||||
height: 250px;
|
||||
}
|
||||
|
||||
.client-info {
|
||||
|
@ -397,6 +398,7 @@
|
|||
line-height: 160%;
|
||||
color: #171717;
|
||||
margin: 0;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.client-info {
|
||||
|
@ -554,6 +556,7 @@
|
|||
line-height: 160%;
|
||||
color: #171717;
|
||||
margin: 0;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.client-info {
|
||||
|
|
|
@ -4,44 +4,46 @@ import './TestimonialSection.css';
|
|||
const TestimonialSection = ({ testimonials = [
|
||||
{
|
||||
id: 1,
|
||||
text: '"ELYOS a transformé notre façon de travailler ! La connexion du CRM avec la gestion administrative permet qu’après signature électronique de nos conventions et devis que les sessions de formation se créent automatiquement, éliminant ainsi les tâches manuelles fastidieuses..."',
|
||||
author: 'Marie D.',
|
||||
text: '"Avec le changement d\'outils on appréhendait un peu, mais ils ont été là pendant toute la phase de demarrage. On pouvait les appeler à tout moment. Ca change :) :) Merci Elyos"',
|
||||
author: 'Vincent M.',
|
||||
role: 'Responsable Formation',
|
||||
avatar: '/img/testimony_img1.jfif',
|
||||
rating: 5
|
||||
avatar: '/img/no_body_homme.png',
|
||||
rating: 4.5
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
text: '"Avec l\'AUTOMATISATION La checklist Qualiopi, Je ne me prends plus la tête à savoir où j\'en suis, le reste à faire etc... Je me concentre désormais sur mes clients et mes apprenants..."',
|
||||
author: 'Marie D.',
|
||||
text: '"L\'équipe m\'a accompagner dans la prise en main de l\'outil et franchement ça change. J\'avais un contact dédié que je pouvais appeler à tout moment les premiers mois. Vraiment Top !!!"',
|
||||
author: 'Djamila E.',
|
||||
role: 'Responsable Formation',
|
||||
avatar: '/img/testimony_img1.jfif',
|
||||
rating: 4.5
|
||||
avatar: '/img/jamila_e.png',
|
||||
rating: 5
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
text: '"Avec le changement d\'outils on appréhendait un peu, mais ils ont été là pendant toute la phase de demarrage. On pouvait les appeler à tout moment. Ca change :) :) Merci Elyos"',
|
||||
author: 'Marie D.',
|
||||
role: 'Responsable Formation',
|
||||
avatar: '/img/testimony_img1.jfif',
|
||||
text: '"ELYOS a transformé notre façon de travailler ! La connexion du CRM avec la gestion administrative permet qu’après signature électronique de nos conventions et devis que les sessions de formation se créent automatiquement,..."',
|
||||
author: 'Valerie C.',
|
||||
role: 'Gestionnaire de Formation',
|
||||
avatar: '/img/valerie_c.png',
|
||||
rating: 5
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
text: '"Avec l\'AUTOMATISATION La checklist Qualiopi, Je ne me prends plus la tête à savoir où j\'en suis, le reste à faire etc... Je me concentre désormais sur mes clients et mes apprenants..."',
|
||||
author: 'Aline L.',
|
||||
role: 'Responsable Organisme Formation',
|
||||
avatar: '/img/no_body_femme.png',
|
||||
rating: 4.5
|
||||
},
|
||||
|
||||
{
|
||||
id: 4,
|
||||
id: 5,
|
||||
text: '"C\’est un outil facilitant, aidant pour le quotidien d\'un organisme de formation. les équipes sont à l\'écoute pour les évolutions."',
|
||||
author: 'Marie D.',
|
||||
role: 'Responsable Formation',
|
||||
avatar: '/img/testimony_img2.jfif',
|
||||
author: 'Thibault P.',
|
||||
role: 'Directeur Organisme Formation',
|
||||
avatar: '/img/thibault_p.png',
|
||||
rating: 5
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
text: '"L\'équipe m\'a accompagner dans la prise en main de l\'outil et franchement ça change. J\'avais un contact dédié que je pouvais appeler à tout moment les premiers mois. Vraiment Top !!!"',
|
||||
author: 'Marie D.',
|
||||
role: 'Responsable Formation',
|
||||
avatar: '/img/testimony_img2.jfif',
|
||||
rating: 5
|
||||
}
|
||||
|
||||
]}) => {
|
||||
const renderStars = (rating) => {
|
||||
const stars = [];
|
||||
|
|
|
@ -211,7 +211,7 @@ const Header = () => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move' }} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title" >MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
Confirmez la deconnexion <br />
|
||||
|
|
|
@ -49,7 +49,7 @@ const LogoCloud = () => {
|
|||
<div className='new_homepage_2025'>
|
||||
<div className="LogoCloud_block1" >
|
||||
<h2 className="LogoCloud_h2">
|
||||
1000+ institutions éducatifs ont confiance en Mysy Training
|
||||
50+ Organismes de Formation ont confiance en Mysy Training
|
||||
</h2>
|
||||
|
||||
<div className='block_logo_client'>
|
||||
|
|
|
@ -1,9 +1,20 @@
|
|||
.new_homepage_2025 {
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
.bannier_event {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.bannier_event_mobile {
|
||||
cursor: pointer;
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.fonctionnalite_Background {
|
||||
width: 100%;
|
||||
height: 900px;
|
||||
min-height: 700px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
@ -289,7 +300,7 @@
|
|||
.ListCard_cardStyle {
|
||||
width: 100%;
|
||||
max-width: 270px;
|
||||
min-height: 304px;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 20px 8px;
|
||||
|
@ -932,9 +943,19 @@
|
|||
}
|
||||
|
||||
@media only screen and (min-width: 601px) and (max-width: 991px) {
|
||||
.bannier_event {
|
||||
width: 100%;
|
||||
margin: auto;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.bannier_event_mobile {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fonctionnalite_Background {
|
||||
width: 100%;
|
||||
height: 800px;
|
||||
min-height: 400px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
@ -945,6 +966,52 @@
|
|||
padding: 20px;
|
||||
}
|
||||
|
||||
.fonctionnalite_Background_home_page_img_saas {
|
||||
width: 100%;
|
||||
min-height: 100px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
||||
background: #f3f4fb;
|
||||
|
||||
opacity: 1;
|
||||
padding: 50px;
|
||||
}
|
||||
|
||||
.fonctionnalite_Background_bannier_event {
|
||||
width: 100%;
|
||||
min-height: 100px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
||||
background: #FFF;
|
||||
|
||||
opacity: 1;
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
.banniere_img_gauche {
|
||||
width: 40%;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.banniere_img_droite {
|
||||
width: 40%;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.banniere_block_img {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 5rem;
|
||||
justify-content: center;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
|
||||
.title_and_cat {
|
||||
/* Title + CTA */
|
||||
|
||||
|
@ -1856,19 +1923,75 @@
|
|||
}
|
||||
|
||||
@media only screen and (min-width: 992px) and (max-width: 1199px) {
|
||||
.bannier_event {
|
||||
width: 100%;
|
||||
margin: auto;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.bannier_event_mobile {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fonctionnalite_Background {
|
||||
width: 100%;
|
||||
height: 800px;
|
||||
min-height: 400px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
background: #C4C8EE;
|
||||
|
||||
background: #f3f4fb;
|
||||
|
||||
opacity: 1;
|
||||
padding: 50px;
|
||||
}
|
||||
|
||||
|
||||
.fonctionnalite_Background_home_page_img_saas {
|
||||
width: 100%;
|
||||
min-height: 100px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
||||
background: #f3f4fb;
|
||||
|
||||
opacity: 1;
|
||||
padding: 50px;
|
||||
}
|
||||
|
||||
.fonctionnalite_Background_bannier_event {
|
||||
width: 100%;
|
||||
min-height: 100px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
||||
background: #FFF;
|
||||
|
||||
opacity: 1;
|
||||
padding: 50px;
|
||||
}
|
||||
|
||||
.banniere_img_gauche {
|
||||
width: 40%;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.banniere_img_droite {
|
||||
width: 40%;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.banniere_block_img {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 7rem;
|
||||
justify-content: center;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.title_and_cat {
|
||||
/* Title + CTA */
|
||||
|
||||
|
@ -2777,19 +2900,77 @@
|
|||
}
|
||||
|
||||
@media only screen and (min-width: 1200px) {
|
||||
|
||||
.bannier_event {
|
||||
width: 90%;
|
||||
margin: auto;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.bannier_event_mobile {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fonctionnalite_Background {
|
||||
width: 100%;
|
||||
height: 800px;
|
||||
min-height: 400px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
background: #C4C8EE;
|
||||
|
||||
background: #f3f4fb;
|
||||
|
||||
opacity: 1;
|
||||
padding: 50px;
|
||||
}
|
||||
|
||||
|
||||
.fonctionnalite_Background_home_page_img_saas {
|
||||
width: 100%;
|
||||
min-height: 100px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
||||
background: #f3f4fb;
|
||||
|
||||
opacity: 1;
|
||||
padding: 50px;
|
||||
}
|
||||
|
||||
.fonctionnalite_Background_bannier_event {
|
||||
width: 100%;
|
||||
min-height: 100px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
||||
background: #FFF;
|
||||
|
||||
opacity: 1;
|
||||
padding: 50px;
|
||||
}
|
||||
|
||||
.banniere_img_gauche {
|
||||
width: 35%;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.banniere_img_droite {
|
||||
width: 35%;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
|
||||
.banniere_block_img {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 10rem;
|
||||
justify-content: center;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.title_and_cat {
|
||||
/* Title + CTA */
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue