diff --git a/public/sample/template_import_session_formation.csv b/public/sample/template_import_session_formation.csv index 3cb07ac..a48b5ff 100644 --- a/public/sample/template_import_session_formation.csv +++ b/public/sample/template_import_session_formation.csv @@ -1,81 +1,5 @@ -external_code;titre;domaine;description;objectif;programme;prerequis;institut_formation;distantiel;presentiel;prix;note;img_url;url;duree;plus_produit;mots_cle;metier;certif;publie;zone_diffusion;pourqui;support;img_banner_detail_class -TEST_10008;SENSIBILISER AUX HANDICAPS;management;"Le stress fait partie de notre existence. Les facteurs de stress d’aujourd’hui sont nombreux et se multiplient et face à eux, le lâcher prise est indispensable. C’est seulement lorsque nous n’avons plus assez de ressources internes pour y faire face, qu’il devient alors problématique. -Découvrez nos techniques de gestion du stress pour être plus à l’aise dans un environnement professionnel et réussir à ne pas se laisser envahir par des émotions négatives. -Au cours de notre formation en réalité virtuelle, nous allons vous entraîner à détecter vos facteurs de stress et à gagner en gestion des émotions, prise de recul et résilience pour vous sentir à la fois détendu et performant. -En lien avec les dernières mesures et lois concernant le handicap en milieu professionnel, le module de formation Sensibiliser aux handicaps permet au manager, collaborateur ou personne en situation de handicap de s’entraîner aux interactions pro-sociales.";"LEVIER #1 : Favoriser l'intégration des personnes handicapées -LEVIER #2 : Développer les bonnes pratiques managériales -LEVIER #3 : Gérer les incompréhensions et biais inconscients.";"INTRODUCTION: -• Qu’est-ce que le handicap et glossaire du Handicap -• Les différents types de handicap -• Notions d'insertion, intégration, inclusion - -LES BONNES PRATIQUES MANAGERIALES -• Mieux appréhender le handicap -• Les bonnes pratiques comportementales -• Favoriser l’intégration de la personne au sein de l’équipe - - -FOCUS SUR LE HANDICAP INVISIBLE -• Enjeux de communication et de socialisation : -• les répercussions sur le climat de travail - - -LE CADRE JURIDIQUE ET ÉTHIQUE -• Lois : les notions importantes à savoir -• Développer une politique d’emploi inclusive -• Faire du dialogue social un levier pour l’embauche de personnes handicapées - -INTÉGRATION ET MAINTIEN DANS L'EMPLOI -• RQTH : Définition et Enjeux -• Acteurs clés -• Rôle du référent handicape - - -CONCLUSION -• Les avantages à intégrer une PSH dans l'organisation";;5 Discovery;1;1;680;5;https://img.mysy-training.com/5doscovery/Logo_complet_couleurswebp.webp;;1;"Embodiment et technique de l'incarnation pour prendre la peau de la personne en situation de handicap et mieux comprendre sa position. -Avec la réalité virtuelle, vous avez les bénéfices suivants : -• RAPIDITÉ ET EFFICACITÉ - CONFIANCE - ÉMOTION -• CONCENTRATION – RENTABILITÉ - LUDIQUE ET ENGAGEANT -• DÉMULTIPLICATION DES SENSATIONS";;management;1;1;fr-;;Réalité Virtuelle;https://img.mysy-training.com/5doscovery/5disc_bannier1.png -TEST_10009;GESTION DU STRESS;management;"Le stress fait partie de notre existence. Les facteurs de stress d’aujourd’hui sont nombreux et se multiplient et face à eux, le lâcher prise est indispensable. C’est seulement lorsque nous n’avons plus assez de ressources internes pour y faire face, qu’il devient alors problématique. -Découvrez nos techniques de gestion du stress pour être plus à l’aise dans un environnement professionnel et réussir à ne pas se laisser envahir par des émotions négatives. -Au cours de notre formation en réalité virtuelle, nous allons vous entraîner à détecter vos facteurs de stress et à gagner en gestion des émotions, prise de recul et résilience pour vous sentir à la fois détendu et performant.";"LEVIER #1 : Développer ses compétences inter-personnelles -LEVIER #2 : Renforcer son positionnement et agilité -LEVIER #3 : Enrichir ses connaissances sur soi et les autres";"LES OUTILS DE DÉVELOPPEMENTS PERSONNELS -• La connaissance de soi -• Les modèles méthodologiques et scientifiques -• L’apport des neurosciences Devenir son «coach» personnel : démarche et enjeux - -LÂCHER PRISE ET ANCRAGE -• Comment prendre de la distance -• S’ancrer dans l’instant présent -• Développer optimisme, empathie et bienveillance - -LE CHANGEMENT COMME FORCE MOTRICE -• Le cycle du changement dans un monde incertain (VUCA) -• Le modèle Agile® -• Apprendre à apprendre et…désapprendre - -CONNAITRE SA PERSONNALITÉ -• Apport de la méthode Process Com -• Les différents profils de Personnalité -• Perception, Besoins psychologiques, Motivations -• Gérer les zones d’inconfort - - -VALEURS PERSONNELLES ET ÉQUILIBRE -• La carte des valeurs fondamentales -• Réactualisation de ses principes -• Domaines de vie et équilibre -• Revisiter la pyramide de Maslow - -CONSTRUIRE MON PLAN D’ACTIONS PERSONNELLES -• Clarifier ses objectifs dans les 5 domaines de vie -• Lever les freins internes et les doutes -• Passer à l’action... avec implication et détachement Mesurer ses résultats";;5 Discovery;1;1;680;5;https://img.mysy-training.com/5doscovery/Logo_complet_couleurswebp.webp;;1;"• De nombreux outils de coaching personnel et pluridisciplinaire -• Modèles Process Com, Psychologie positive, Intelligence émotionnelle - -Avec la réalité virtuelle, vous avez les bénéfices suivants : -• RAPIDITÉ ET EFFICACITÉ - CONFIANCE - ÉMOTION -• CONCENTRATION – RENTABILITÉ - LUDIQUE ET ENGAGEANT -• DÉMULTIPLICATION DES SENSATIONS";;management;1;1;fr-;;Réalité Virtuelle;https://img.mysy-training.com/5doscovery/5disc_bannier1.png +code_session;date_debut;date_fin;nb_participant;adresse;code_postal;ville;session_status;date_debut_inscription;date_fin_inscription;formateur;distanciel;presentiel;prix_session +10006_S1;08/02/2023;08/02/2023;10;;75000;paris;1;29/12/2022;07/02/2023;5 Discovery;1;1;680 +10006_S2;27/03/2023;27/03/2023;10;;75000;paris;1;29/12/2022;26/03/2023;5 Discovery;1;1;680 +10006_S3;04/04/2023;04/04/2023;10;;75000;paris;1;29/12/2022;03/04/2023;5 Discovery;1;1;680 +10006_S4;17/05/2023;17/05/2023;10;;75000;paris;1;29/12/2022;16/05/2023;5 Discovery;1;1;680 diff --git a/src/components/GestionAdministrative.js b/src/components/GestionAdministrative.js index 13b352b..cfbf7de 100644 --- a/src/components/GestionAdministrative.js +++ b/src/components/GestionAdministrative.js @@ -524,7 +524,7 @@ function GestionAdministrative(props) { document.getElementById('menu_eval').style.background = "#d8edfc"; document.getElementById('menu_eval').style.color = "#3b3e40"; - + } function submenu_inscrit() { @@ -535,7 +535,7 @@ function GestionAdministrative(props) { setliste_sessions_file_change_api(); setCreateSessionFormation_api(); - + document.getElementById('menu_inscrit').style.background = "#104277"; document.getElementById('menu_inscrit').style.color = "#ffffff"; @@ -1896,7 +1896,7 @@ function GestionAdministrative(props) { setliste_sessions_file_change_result(result['message']); setliste_sessions_file_change_api("true"); GetCurrentClass_trainingsession(); - + } else { setliste_sessions_file_change_message(result['message']); @@ -2308,9 +2308,9 @@ function GestionAdministrative(props) {
- +
- +
diff --git a/src/components/Partner.js b/src/components/Partner.js index dfc1a50..22f7232 100644 --- a/src/components/Partner.js +++ b/src/components/Partner.js @@ -62,6 +62,14 @@ const Partner = (props) => { setapiexcelimportmessage(""); }; + const changeHandler2 = (event) => { + setformation_file_name(); + sethandleSubmission_api(); + hiddenFileInput_formation.current.click(); + }; + + const hiddenFileInput_formation = React.useRef(null); + const history = useHistory(); @@ -82,8 +90,28 @@ const Partner = (props) => { const formData = new FormData(); - const handleSubmission = () => { - formData.append('File', selectedFile); + const [handleSubmission_api, sethandleSubmission_api] = useState(); + const [handleSubmission_result, sethandleSubmission_result] = useState(); + const [handleSubmission_message, sethandleSubmission_message] = useState(); + + const handleSubmission = event => { + + const fileUploaded = event.target.files[0]; + let file_size = event.target.files[0].size; + let file_type = event.target.files[0].type; + + //console.log("file_size = ",file_size," file_type = ",file_type); + if (file_size > 1000000) { + alert("Le fichier ne doit pas depasser un 1 Méga octets"); + return; + } + + setformation_file_name(event.target.files[0].name); + + //console.log(" import du ficier ", event.target.files[0].name); + + + formData.append('File', fileUploaded); //formData.append('token', 'K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA'); const stored_cookie = getCookie('tokenmysypart'); @@ -105,12 +133,20 @@ const Partner = (props) => { setexcelimportmessage(result['message']); setmyApiResponse("true"); setapiexcelimportmessage(result['status']); + if (String(result['status']) === String("true")) { + sethandleSubmission_api("true"); + } + else{ + sethandleSubmission_api("false"); + sethandleSubmission_message(result['message']); + } //alert("result['status'] " + result['status']); }) .catch((error) => { console.error('Error:', result); setmyApiResponse("false"); setapiexcelimportmessage("-1"); + sethandleSubmission_api("false"); }); }; @@ -309,7 +345,7 @@ const Partner = (props) => { var form = new FormData(); - console.log(" GetPartnerNameFromToken stored_cookie = ",stored_cookie); + console.log(" GetPartnerNameFromToken stored_cookie = ", stored_cookie); form.append("token", stored_cookie); @@ -317,8 +353,8 @@ const Partner = (props) => { axios.post(myurl, form).then(res => { if (String(res.data.status) === String("true")) { - console.log(" In GetPartnerNameFromToken res.data.status = " + res.data.status); - console.log(" In GetPartnerNameFromToken res.data.message = " + res.data.message); + //console.log(" In GetPartnerNameFromToken res.data.status = " + res.data.status); + //console.log(" In GetPartnerNameFromToken res.data.message = " + res.data.message); setparntername(JSON.parse(res.data.message).nom); if (JSON.parse(res.data.message).pack_service) { setpartnerPackService(JSON.parse(res.data.message).pack_service); @@ -339,7 +375,7 @@ const Partner = (props) => { } } else { - console.log(" In GetPartnerNameFromToken res.data.status = " + res.data.status); + //console.log(" In GetPartnerNameFromToken res.data.status = " + res.data.status); //console.log(" In GetPartnerNameFromToken res.data.message = " + res.data.message); } @@ -397,10 +433,14 @@ const Partner = (props) => { alert(" Vous devez ajouter un mode de Paiement pour acceder à cette fonctionnalité"); } - function ValideFirstConnexion(){ + function ValideFirstConnexion() { setfirstConnexion(""); setmenu("abonnement"); } + + const [formation_file_name, setformation_file_name] = useState(); + + return (
@@ -430,44 +470,44 @@ const Partner = (props) => {
} - +
{parntername && {parntername} - {String(partnerPackService).toUpperCase()} } {!parntername && Partenaire }

{String(menu) !== "infopartner" &&
INFORMATIONS PERSONNELLES
} {String(menu) === "infopartner" &&
INFORMATIONS PERSONNELLES
}
- + {String(menu) !== "creation" &&
CREER FORMATION
} {String(menu) === "creation" &&
CREER FORMATION
}
- - {String(menu) !== "affichage" &&
MES FORMATIONS
} - {String(menu) === "affichage" &&
MES FORMATIONS
} + + {String(menu) !== "affichage" &&
MES FORMATIONS
} + {String(menu) === "affichage" &&
MES FORMATIONS
}
- - {String(menu) !== "abonnement" &&
ABONNEMENT
} - {String(menu) === "abonnement" &&
ABONNEMENT
} + + {String(menu) !== "abonnement" &&
ABONNEMENT
} + {String(menu) === "abonnement" &&
ABONNEMENT
}
- - {String(menu) !== "facture" &&
FACTURATION
} - {String(menu) === "facture" &&
FACTURATION
} + + {String(menu) !== "facture" &&
FACTURATION
} + {String(menu) === "facture" &&
FACTURATION
}
- - {String(menu) !== "statistique" &&
STATISTIQUES
} - {String(menu) === "statistique" &&
STATISTIQUES
} + + {String(menu) !== "statistique" &&
STATISTIQUES
} + {String(menu) === "statistique" &&
STATISTIQUES
}
{String(firstConnexion) === "1" &&
-
- Cher partenaire, c'est votre première connexion,
 
- Nous sommes ravis de vous accueillir dans notre aventure MySy. - Pour commencer à publier vos formations, veuillez choisir une formule d'abonnement en cliquant
-  
Merci. +
+ Cher partenaire, c'est votre première connexion,
 
+ Nous sommes ravis de vous accueillir dans notre aventure MySy. + Pour commencer à publier vos formations, veuillez choisir une formule d'abonnement en cliquant
+  
Merci.
- +
} @@ -533,29 +573,46 @@ const Partner = (props) => {
- + {String(partnerstatus) === String("0") &&
- Import excel d'une formation Télécharger un fichier modèle +
+ {formation_file_name && } + + + + + Télécharger un fichier modèle
-
+ {/*
*/}
 
-
} {String(partnerstatus) !== String("0") &&
- + Import excel d'une formation Télécharger un fichier modèle diff --git a/src/styles/components/_gestionadministrative.scss b/src/styles/components/_gestionadministrative.scss index 91ac0de..b492f5f 100644 --- a/src/styles/components/_gestionadministrative.scss +++ b/src/styles/components/_gestionadministrative.scss @@ -772,7 +772,7 @@ .detail_class_submenu:hover { background-color: #104277; color: white; - } + } .detail_class_submenu:focus { //border: 3px dotted green; diff --git a/src/styles/components/_partner.scss b/src/styles/components/_partner.scss index a7709d6..d072cee 100644 --- a/src/styles/components/_partner.scss +++ b/src/styles/components/_partner.scss @@ -455,6 +455,23 @@ .firstConnexion_div_btn { text-align: center; } + + .detail_class_submenu { + background: #d8edfc; + border-radius: 15px; + margin-right: 1rem; + padding: 0.3rem; + margin-bottom: 0.5rem; + width: 10rem; + text-align: center; + border: 1px solid #9cf; + color: #3b3e40; + font-family: "verdana", "Quicksand", "Signika", sans-serif; + font-size: small; + letter-spacing: 0.1rem; + font-weight: normal; + } + } @media only screen and (min-width: 601px) and (max-width: 991px) { @@ -873,6 +890,23 @@ .firstConnexion_div_btn { text-align: center; } + + .detail_class_submenu { + background: #d8edfc; + border-radius: 15px; + margin-right: 1rem; + padding: 0.3rem; + margin-bottom: 0.5rem; + width: 10rem; + text-align: center; + border: 1px solid #9cf; + color: #3b3e40; + font-family: "verdana", "Quicksand", "Signika", sans-serif; + font-size: small; + letter-spacing: 0.1rem; + font-weight: normal; + } + } @media only screen and (min-width: 992px) and (max-width: 1199px) { @@ -1332,6 +1366,23 @@ .firstConnexion_div_btn { text-align: center; } + + .detail_class_submenu { + background: #d8edfc; + border-radius: 15px; + margin-right: 1rem; + padding: 0.3rem; + margin-bottom: 0.5rem; + width: 10rem; + text-align: center; + border: 1px solid #9cf; + color: #3b3e40; + font-family: "verdana", "Quicksand", "Signika", sans-serif; + font-size: small; + letter-spacing: 0.1rem; + font-weight: normal; + } + } @media only screen and (min-width: 1200px) { @@ -1786,8 +1837,26 @@ border-top-right-radius: 5px; border-bottom-right-radius: 5px; } + + .detail_class_submenu { + background: #d8edfc; + border-radius: 15px; + margin-right: 1rem; + padding: 0.3rem; + margin-bottom: 0.5rem; + width: 10rem; + text-align: center; + border: 1px solid #9cf; + color: #3b3e40; + font-family: "verdana", "Quicksand", "Signika", sans-serif; + font-size: small; + letter-spacing: 0.1rem; + font-weight: normal; + } } + + // end media .css-1wgeduv-MuiFormControl-root-MuiTextField-root { padding-top: 5px; }