22/06/24 - 17h30
parent
f5b8775c60
commit
bac9398743
|
@ -141,6 +141,7 @@
|
|||
"react-search-autocomplete": "^7.2.2",
|
||||
"react-select": "^5.2.2",
|
||||
"react-share": "^4.4.1",
|
||||
"react-signature-canvas": "^1.0.6",
|
||||
"react-simple-modal": "^1.1.5",
|
||||
"react-simple-modal-cb": "^2.0.4",
|
||||
"react-simple-star-rating": "^4.1.1",
|
||||
|
@ -26807,6 +26808,20 @@
|
|||
"react": "^16.3.0 || ^17.0.0 || ^18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-signature-canvas": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/react-signature-canvas/-/react-signature-canvas-1.0.6.tgz",
|
||||
"integrity": "sha512-NoMHomYu9HxFeLjUGbIeV9abPdWSROfFxFNDekGdwmmaIx+w5ziOEiU2C34X0Ao4GxFnwqyUy/BpYlA4lCD1CA==",
|
||||
"dependencies": {
|
||||
"signature_pad": "^2.3.2",
|
||||
"trim-canvas": "^0.1.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"prop-types": "^15.5.8",
|
||||
"react": "0.14 - 18",
|
||||
"react-dom": "0.14 - 18"
|
||||
}
|
||||
},
|
||||
"node_modules/react-simple-modal": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/react-simple-modal/-/react-simple-modal-1.1.5.tgz",
|
||||
|
@ -29560,6 +29575,11 @@
|
|||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
||||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
|
||||
},
|
||||
"node_modules/signature_pad": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-2.3.2.tgz",
|
||||
"integrity": "sha512-peYXLxOsIY6MES2TrRLDiNg2T++8gGbpP2yaC+6Ohtxr+a2dzoaqWosWDY9sWqTAAk6E/TyQO+LJw9zQwyu5kA=="
|
||||
},
|
||||
"node_modules/simple-concat": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
|
||||
|
@ -31371,6 +31391,11 @@
|
|||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||
},
|
||||
"node_modules/trim-canvas": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/trim-canvas/-/trim-canvas-0.1.2.tgz",
|
||||
"integrity": "sha512-nd4Ga3iLFV94mdhW9JFMLpQbHUyCQuhFOD71PEAt1NjtMD5wbZctzhX8c3agHNybMR5zXD1XTGoIEWk995E6pQ=="
|
||||
},
|
||||
"node_modules/tryer": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
|
||||
|
@ -53852,6 +53877,15 @@
|
|||
"resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz",
|
||||
"integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw=="
|
||||
},
|
||||
"react-signature-canvas": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/react-signature-canvas/-/react-signature-canvas-1.0.6.tgz",
|
||||
"integrity": "sha512-NoMHomYu9HxFeLjUGbIeV9abPdWSROfFxFNDekGdwmmaIx+w5ziOEiU2C34X0Ao4GxFnwqyUy/BpYlA4lCD1CA==",
|
||||
"requires": {
|
||||
"signature_pad": "^2.3.2",
|
||||
"trim-canvas": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"react-simple-modal": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/react-simple-modal/-/react-simple-modal-1.1.5.tgz",
|
||||
|
@ -56012,6 +56046,11 @@
|
|||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
||||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
|
||||
},
|
||||
"signature_pad": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-2.3.2.tgz",
|
||||
"integrity": "sha512-peYXLxOsIY6MES2TrRLDiNg2T++8gGbpP2yaC+6Ohtxr+a2dzoaqWosWDY9sWqTAAk6E/TyQO+LJw9zQwyu5kA=="
|
||||
},
|
||||
"simple-concat": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
|
||||
|
@ -57403,6 +57442,11 @@
|
|||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||
},
|
||||
"trim-canvas": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/trim-canvas/-/trim-canvas-0.1.2.tgz",
|
||||
"integrity": "sha512-nd4Ga3iLFV94mdhW9JFMLpQbHUyCQuhFOD71PEAt1NjtMD5wbZctzhX8c3agHNybMR5zXD1XTGoIEWk995E6pQ=="
|
||||
},
|
||||
"tryer": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
|
||||
|
|
|
@ -136,6 +136,7 @@
|
|||
"react-search-autocomplete": "^7.2.2",
|
||||
"react-select": "^5.2.2",
|
||||
"react-share": "^4.4.1",
|
||||
"react-signature-canvas": "^1.0.6",
|
||||
"react-simple-modal": "^1.1.5",
|
||||
"react-simple-modal-cb": "^2.0.4",
|
||||
"react-simple-star-rating": "^4.1.1",
|
||||
|
|
|
@ -1,8 +1,2 @@
|
|||
external_code;titre;domaine;description;formateur;objectif;programme;prerequis;cpf;institut_formation;distantiel;presentiel;prix;note;img_url;url;duree;duree_unite;plus_produit;mots_cle;metier;certif;publie;zone_diffusion;pourqui;support;img_banner_detail_class
|
||||
MYSY_Test_AP;PRATICIEN EN AROMATHERAPIE INTEGRATIVE;sante_nat;L’Aromathérapie Intégrative© est un enseignement scientifique qui ne se limite pas à connaître les propriétés des huiles essentielles pour supprimer des symptômes, mais qui intègre leur utilisation dans une stratégie thérapeutique globale de santé, fondée sur une bonne compréhension de l'anatomie, de la physiologie et de la biochimie, afin d’être capable de proposer des solutions individualisées et efficaces.;ÉCOLE FRANCAISE D'AROMATHERAPIE INTEGRATIVE (EFAI);Intégrer les règles de sécurité pour utiliser et conseiller l’usage des huiles essentielles. <l> Faire le lien entre la composition biochimique d’une huile essentielle et ses actions sur l’organisme.<l> Intégrer les bases indispensables de biochimie, d’anatomie et de physiologie humaine. <l> Évaluer une situation d’exclusion réclamant une prise en charge médicale. <l> Analyser une situation et les attentes d’un consultant pour définir une stratégie d’accompagnement adaptée avec des huiles essentielles dans les domaines relevant de sa compétence. <l> Établir une formule parfaitement adaptée à une personne et un problème. <l> Être capable de fabriquer un baume, une crème, une composition huileuse. ;Modules de 3 jours par mois en présentiel. <l> Entrainement à distance avec documents, vidéos et quiz en ligne <l> Evaluation à chaque module sur le programme du module précédent;Le niveau BAC est recommandé mais pas obligatoire. <l>Solide motivation.;0;ÉCOLE FRANCAISE D'AROMATHERAPIE INTEGRATIVE (EFAI);0;1;2590;5;https://img.mysy-training.com/ecole_aroma/img/logo_ecole_arome_vert.jpg;;21;jour;Mode hybride avec présentiel ( théorie, pratique, supports papier) et distanciel asynchrone : vidéos et quiz d'entrainement sur une plateforme dédiée :<l> Groupe de discussion sur messagerie whatsapp. <l> Evaluations pour vérifier l'atteinte des objectifs pédagogiques. <l> Evaluation, finale des compétences <l> Rédaction d'un travail de synthèse avec sujet au choix, à présenter devant un jury extérieur à l'école.;AROMATHERAPIE, HUILES ESSENTIELLES, AROMA;dev_perso;1;1;;• Aux professionnels du bien-être et de la santé qui désirent acquérir un outil complémentaire <l> • Aux particuliers en reconversion professionnelle dans le domaine de la santé et du bien-être <l> • Aux particuliers pour une utilisation familiale ou en démarche personnelle. <l> Inclusion des personnes handicapées.;mixte;
|
||||
MYSY_Test_OP;PRATICIEN EN OLFACTOTHERAPIE;sante_nat;"Les huiles essentielles au service de notre équilibre psycho-émotionnel.<l>
|
||||
Les informations olfactives sont en priorité traitées dans le cerveau par le système limbique qui gère aussi la mémoire émotionnelle.<l>
|
||||
Ainsi une simple odeur peut faire remonter des émotions en lien avec un vécu plus ou moins traumatique, permettant de comprendre quels besoins n’ont pas été entendus et qui causent des souffrances plus ou moins conscientes.<l>
|
||||
L'olfactothérapie invite à se mettre en chemin pour évoluer vers un plus grand respect de Soi et plus de sérénité́ dans la Vie.";ÉCOLE FRANCAISE D'AROMATHERAPIE INTEGRATIVE (EFAI);Maîtriser les règles de sécurité pour utiliser et conseiller l’usage des huiles essentielles. <l> Évaluer une situation d’exclusion réclamant une prise en charge différente. <l> Analyser une situation et les attentes d’un consultant pour définir une stratégie d’accompagnement adaptée avec des huiles essentielles dans les domaines relevant de sa compétence. <l> Proposer une HE parfaitement adaptée à une personne en demande d’accompagnement psycho-émotionnel. ;Modules de 3 jours par mois en présentiel. <l> Entrainement à distance avec documents, vidéos et quiz en ligne ;Aucun prérequis n’est demandé excepté la motivation de partir à la découverte de Soi et de l'Autre.;0;ÉCOLE FRANCAISE D'AROMATHERAPIE INTEGRATIVE (EFAI);0;1;2590;5;https://img.mysy-training.com/ecole_aroma/img/logo_ecole_arome_vert.jpg;;21;jour;Mode hybride avec présentiel ( théorie, expérimentation, supports papier) et distanciel asynchrone : vidéos et quiz d'entrainement sur une plateforme dédiée :<l> Groupe de discussion sur messagerie whatsapp. <l> Entrainements à la consultation avec clients volontaires. <l> Evaluation, finale des compétences <l> Rédaction d'un travail personnel de synthèse.<l> Compte-rendus de 21 séances à rendre dans les mois qui suivent la formation pour obtenir la certification.;OLFACTOTHERAPIE, HUILES ESSENTIELLES;dev_perso;1;1;;"Aucun prérequis n’est demandé, cette formation est ouverte à toute personne motivée à travailler sur elle pour pouvoir mieux accompagner l’Autre.<l>
|
||||
Elle est tout particulièrement conseillée aux sophrologues, praticiens en hypnose, aux psychothérapeutes et praticiens en relation d’aide désirant acquérir un outil complémentaire qui décuplera l’efficacité de leurs propres techniques.";mixte;
|
||||
MYSY_Test_AR;PRATICIEN EN AROMATHERAPIE INTEGRATIVE;sante_nat;L’Aromathérapie Intégrative© est un enseignement scientifique qui ne se limite pas à connaître les propriétés des huiles essentielles pour supprimer des symptômes, mais qui intègre leur utilisation dans une stratégie thérapeutique globale de santé, fondée sur une bonne compréhension de l'anatomie, de la physiologie et de la biochimie, afin d’être capable de proposer des solutions individualisées et efficaces.;ÉCOLE FRANCAISE D'AROMATHERAPIE INTEGRATIVE (EFAI);Intégrer les règles de sécurité pour utiliser et conseiller l’usage des huiles essentielles. <l> Faire le lien entre la composition biochimique d’une huile essentielle et ses actions sur l’organisme.<l> Intégrer les bases indispensables de biochimie, d’anatomie et de physiologie humaine. <l> Évaluer une situation d’exclusion réclamant une prise en charge médicale. <l> Analyser une situation et les attentes d’un consultant pour définir une stratégie d’accompagnement adaptée avec des huiles essentielles dans les domaines relevant de sa compétence. <l> Établir une formule parfaitement adaptée à une personne et un problème. <l> Être capable de fabriquer un baume, une crème, une composition huileuse. ;Modules de 3 jours par mois en présentiel. <l> Entrainement à distance avec documents, vidéos et quiz en ligne <l> Evaluation à chaque module sur le programme du module précédent;Le niveau BAC est recommandé mais pas obligatoire. Solide motivation.;0;ÉCOLE FRANCAISE D'AROMATHERAPIE INTEGRATIVE (EFAI);0;1;1650;5;https://img.mysy-training.com/ecole_aroma/img/logo_ecole_arome_vert.jpg;;12;jour;Mode hybride avec présentiel ( théorie, pratique, supports papier) et distanciel asynchrone : vidéos et quiz d'entrainement sur une plateforme dédiée. <l> Groupe de discussion sur messagerie whatsapp. <l> Evaluations pour vérifier l'atteinte des objectifs pédagogiques. <l> Evaluation, finale des compétences <l> Rédaction d'un travail de synthèse avec sujet au choix.;AROMATHERAPIE, HUILES ESSENTIELLES, AROMA;dev_perso;1;1;;;mixte;
|
||||
MYSY_Demo_AP_v2;DEMO 1 PRATICIEN EN AROMATHERAPIE INTEGRATIVE_v2;FR_DOM01 ;DEMO 1 L’Aromathérapie Intégrative© est un enseignement scientifique qui ne se limite pas à connaître les propriétés des huiles essentielles pour supprimer des symptômes, mais qui intègre leur utilisation dans une stratégie thérapeutique globale de santé, fondée sur une bonne compréhension de l'anatomie, de la physiologie et de la biochimie, afin d’être capable de proposer des solutions individualisées et efficaces.;ÉCOLE FRANCAISE D'AROMATHERAPIE INTEGRATIVE (EFAI);Intégrer les règles de sécurité pour utiliser et conseiller l’usage des huiles essentielles. <l> Faire le lien entre la composition biochimique d’une huile essentielle et ses actions sur l’organisme.<l> Intégrer les bases indispensables de biochimie, d’anatomie et de physiologie humaine. <l> Évaluer une situation d’exclusion réclamant une prise en charge médicale. <l> Analyser une situation et les attentes d’un consultant pour définir une stratégie d’accompagnement adaptée avec des huiles essentielles dans les domaines relevant de sa compétence. <l> Établir une formule parfaitement adaptée à une personne et un problème. <l> Être capable de fabriquer un baume, une crème, une composition huileuse. ;Modules de 3 jours par mois en présentiel. <l> Entrainement à distance avec documents, vidéos et quiz en ligne <l> Evaluation à chaque module sur le programme du module précédent;Le niveau BAC est recommandé mais pas obligatoire. <l>Solide motivation.;0;ÉCOLE FRANCAISE D'AROMATHERAPIE INTEGRATIVE (EFAI);0;1;2590;5;https://img.mysy-training.com/ecole_aroma/img/logo_ecole_arome_vert.jpg;;21;jour;Mode hybride avec présentiel ( théorie, pratique, supports papier) et distanciel asynchrone : vidéos et quiz d'entrainement sur une plateforme dédiée :<l> Groupe de discussion sur messagerie whatsapp. <l> Evaluations pour vérifier l'atteinte des objectifs pédagogiques. <l> Evaluation, finale des compétences <l> Rédaction d'un travail de synthèse avec sujet au choix, à présenter devant un jury extérieur à l'école.;AROMATHERAPIE, HUILES ESSENTIELLES, AROMA;;1;1;;• Aux professionnels du bien-être et de la santé qui désirent acquérir un outil complémentaire <l> • Aux particuliers en reconversion professionnelle dans le domaine de la santé et du bien-être <l> • Aux particuliers pour une utilisation familiale ou en démarche personnelle. <l> Inclusion des personnes handicapées.;mixte;
|
||||
|
|
|
|
@ -1,6 +1,3 @@
|
|||
formation_code_externe;code_session;date_debut;date_fin;nb_participant;adresse;code_postal;ville;pays;date_debut_inscription;date_fin_inscription;distanciel;presentiel;prix_session;session_status;lms_class_code;session_etape;formateur_email;titre;location_type;is_bpf
|
||||
MySy_SGBD_01;401_SGDB_01;05/02/2024;09/02/2024;10;2 passage de la Providence 01;75001;Paris 1;France;03/01/2024;04/02/2024;1;0;1550;1;;0;emp_nom01@mysy.com;Ttre_01;intra;1
|
||||
MySy_SGBD_01;401_SGDB_02;20/03/2024;24/03/2024;15;3 passage de la Providence 03;75001;Paris 2;France;04/01/2024;19/03/2024;0;1;1550;1;;0;emp_nom03@mysy.com;Ttre_02;extra;1
|
||||
MYSY_Test_OP;401_OP_01;17/01/2024;21/01/2024;20;4 passage de la Providence 02;75002;Paris 3;France;05/01/2024;16/01/2024;1;0;2550;1;;0;emp_nom01@mysy.com;Ttre_03;;0
|
||||
MYSY_Test_AR;401_AR_01;09/02/2024;13/02/2024;10;5 passage de la Providence 04;75001;Paris 4;France;06/01/2024;08/02/2024;0;1;1000;1;;0;emp_nom03@mysy.com;Ttre_04;intra;0
|
||||
MYSY_Test_AR;401_AR_02;15/03/2024;19/03/2024;15;6 passage de la Providence 05;75003;Paris 5;France;07/01/2024;14/03/2024;1;1;1800;1;;0;testnom01@mysy.com;Ttre_05;extra;1
|
||||
MYSY_Demo_AP_v2;SESS_01_DEMO_AP_V2;05/07/2024;15/07/2024;10;2 passage de la Providence 01;75001;Paris 1;France;03/01/2024;05/07/2024;1;0;1550;1;;0;;Session Fev;intra;1
|
||||
MYSY_Demo_AP_v2;SESS_02_DEMO_AP_V2;20/08/2024;30/08/2024;15;3 passage de la Providence 03;75001;Paris 2;France;04/01/2024;20/08/2024;0;1;1550;1;;0;;Session Avril;extra;1
|
||||
|
|
|
|
@ -1,7 +0,0 @@
|
|||
formation_code_externe;code_session;date_debut;date_fin;nb_participant;adresse;code_postal;ville;date_debut_inscription;date_fin_inscription;formateur;distanciel;presentiel;prix_session;session_status;lms_class_code;session_etape
|
||||
MYSY_Test_AP;AP_01;11/10/2023;13/10/2023;20;2 passage de la Providence;75020;Paris;01/09/2023;30/09/2023;MySy_Trainer;1;0;750;1;;0
|
||||
MYSY_Test_AP;AP_02;14/11/2023;16/11/2023;15;2 passage de la Providence;75020;Paris;01/09/2023;30/09/2023;MySy_Trainer;1;0;750;1;;0
|
||||
MYSY_Test_OP;OP_01;21/11/2023;23/11/2023;10;2 passage de la Providence;75020;Paris;01/09/2023;30/09/2023;MySy_Trainer;1;0;750;1;;0
|
||||
MYSY_Test_OP;OP_02;28/11/2023;30/11/2023;15;2 passage de la Providence;75020;Paris;01/09/2023;30/09/2023;MySy_Trainer;1;0;750;1;;0
|
||||
MYSY_Test_AR;AR_01;01/03/2024;11/03/2024;5;;;;18/09/2023;29/02/2024;;1;0;;1;;0
|
||||
MYSY_Test_AR;AR_02;02/12/2023;10/12/2023;9;;;;18/09/2023;01/12/2023;;1;0;;1;;0
|
|
|
@ -1,7 +1,6 @@
|
|||
formation_code_externe;code_session;client_rattachement_email;client_rattachement_nom;prenom;nom;employeur;telephone;email;adresse;code_postal;ville;pays;modefinancement;opco;status;prix
|
||||
MYSY_Test_AP;AP_01;;;part 2;part nom2;employeur 2;10101;AP_01_line1@mysy.fr;adresse01;code_postal01;ville01;pays01;modefinancement;opco;0;150
|
||||
MYSY_Test_AP;AP_01;;;part 3;part nom3;employeur 3;10101;AP_01_line2@mysy.fr;adresse02;code_postal02;ville02;pays02;modefinancement;;1;180
|
||||
MYSY_Test_OP;OP_02;;;part 4;part nom4;employeur 4;10101;OP_02_line3@mysy.fr;adresse03;code_postal03;ville03;pays03;modefinancement;;0;110
|
||||
MYSY_Test_OP;OP_02;;;part 5;part nom5;employeur 5;10102;OP_02_line4@mysy.fr;adresse04;code_postal04;ville04;pays04;modefinancement;;0;1200
|
||||
MYSY_Test_AR;AR_01;;;part 6;part nom6;employeur 6;10103;AR_01_line5@mysy.fr;adresse05;code_postal05;ville05;pays05;modefinancement;;1;800
|
||||
MYSY_Test_AR;AR_02;;;part 7;part nom7;employeur 7;10104;AR_02_line6@mysy.fr;adresse06;code_postal06;ville06;pays06;modefinancement;;0;154
|
||||
MYSY_Demo_AP_v2;SESS_01_DEMO_AP_V2;;;part 2;part nom2;employeur 2;10101;mysytraining+apprenant1@gmail.com;adresse01;code_postal01;ville01;pays01;modefinancement;opco;0;1500
|
||||
MYSY_Demo_AP_v2;SESS_01_DEMO_AP_V2;mysytraining+client1@gmail.com ;Client 1 ;part 3;part nom3_client;employeur 3;10101;mysytraining+apprenant2@gmail.com;adresse02;code_postal02;ville02;pays02;modefinancement;;0;1500
|
||||
MYSY_Demo_AP_v2;SESS_01_DEMO_AP_V2;mysytraining+client1@gmail.com ;Client 1 ;part 4;part nom4_client;employeur 4;10101;mysytraining+apprenant3@gmail.com;adresse03;code_postal03;ville03;pays03;modefinancement;;0;1500
|
||||
MYSY_Demo_AP_v2;SESS_01_DEMO_AP_V2;mysytraining+client2@gmail.com;Client 2;part 5;part nom5_client;employeur 5;10101; mysylaplumedepierrot+01@gmail.com;adresse04;code_postal04;ville04;pays04;modefinancement;;0;1500
|
||||
MYSY_Demo_AP_v2;SESS_01_DEMO_AP_V2;mysytraining+client2@gmail.com;Client 2;part 6;part nom6_client;employeur 6;10101;mysylaplumedepierrot+02@gmail.com;adresse05;code_postal05;ville05;pays05;modefinancement;;0;1500
|
||||
|
|
|
|
@ -978,6 +978,23 @@ const DisplayPartnerSession = (props) => {
|
|||
);
|
||||
}
|
||||
},
|
||||
{ field: 'signature', headerName: 'Signature', Width: 150, hide: false, editable: false,
|
||||
|
||||
|
||||
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all" }}>
|
||||
{cellValues.row.signature && <img src={cellValues.row.signature} style={{width:"100%", paddingLeft:"2px", paddingRight:"2px" }}/>}
|
||||
|
||||
</div>
|
||||
|
||||
);
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
@ -8941,8 +8958,13 @@ const DisplayPartnerSession = (props) => {
|
|||
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("tab_ids", liste_emargement_id);
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/EmargementMail/";
|
||||
form.append("tab_emargement_ids", liste_emargement_id);
|
||||
form.append("session_id", selected_session_id);
|
||||
//var myurl = process.env.REACT_APP_API_URL + "myclass/api/EmargementMail/";
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Create_Emargement_Send_Email_From_Inscription/";
|
||||
|
||||
console.log(' ### form = ', form);
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
@ -18996,6 +19018,7 @@ const DisplayPartnerSession = (props) => {
|
|||
statut: JSON.parse(item).statut,
|
||||
date_envoi: JSON.parse(item).date_envoi,
|
||||
date_emargement: JSON.parse(item).date_emargement,
|
||||
signature: JSON.parse(item).mysy_manual_signature_img,
|
||||
}
|
||||
))}
|
||||
|
||||
|
|
|
@ -50,6 +50,7 @@ import { Document, Page } from 'react-pdf'
|
|||
import { gridClasses } from '@mui/x-data-grid';
|
||||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree } from "react-icons/pi";
|
||||
import SignatureCanvas from 'react-signature-canvas';
|
||||
|
||||
function Emarge_QR_Code() {
|
||||
|
||||
|
@ -251,13 +252,17 @@ function Emarge_QR_Code() {
|
|||
form.append("tab_emargement_ids", tab_emargement);
|
||||
form.append("is_present", local_option);
|
||||
|
||||
form.append("signature_img_selected", userimgclassprofil);
|
||||
|
||||
|
||||
if (isimgclassSelectedfile)
|
||||
form.append('signature_img', isimgclassSelected);
|
||||
else
|
||||
form.append('signature_img', "");
|
||||
|
||||
//console.log(" isimgclassSelected #### = ", isimgclassSelected);
|
||||
console.log(" isimgclassSelected #### = ", isimgclassSelected);
|
||||
|
||||
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
@ -270,7 +275,7 @@ function Emarge_QR_Code() {
|
|||
setSignature_E_Document_api("true");
|
||||
|
||||
alert(res.data.message);
|
||||
|
||||
|
||||
history.push("/");
|
||||
|
||||
//setDialog_Message_open(true);
|
||||
|
@ -378,6 +383,14 @@ function Emarge_QR_Code() {
|
|||
const [userimgclassprofil, setuserimgclassprofil] = useState();
|
||||
const [userimgclassprofilchanged, setuserimgclassprofilchanged] = useState("");
|
||||
|
||||
|
||||
function reader(file, callback) {
|
||||
const fr = new FileReader();
|
||||
fr.onload = () => callback(null, fr.result);
|
||||
fr.onerror = (err) => callback(err);
|
||||
fr.readAsDataURL(file);
|
||||
}
|
||||
|
||||
const imglogoclasschangeHandler = (event) => {
|
||||
|
||||
|
||||
|
@ -399,17 +412,115 @@ function Emarge_QR_Code() {
|
|||
setisimgclassSelected(event.target.files[0]);
|
||||
setisimgclassSelectedfile(true);
|
||||
|
||||
setuserimgclassprofil(URL.createObjectURL(event.target.files[0]));
|
||||
//setuserimgclassprofil(URL.createObjectURL(event.target.files[0]));
|
||||
setuserimgclassprofilchanged("1");
|
||||
|
||||
|
||||
|
||||
reader(event.target.files[0], (err, res) => {
|
||||
console.log(res); // Base64 `data:image/...` String result.
|
||||
setuserimgclassprofil(res);
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
const [isimgclassSaved, setisimgclassSaved] = useState("");
|
||||
const [isimgclassSaved_message, setisimgclassSaved_message] = useState("");
|
||||
|
||||
const [Dialog_SIGN_MANUSCRITE_open, setDialog_SIGN_MANUSCRITE_open] = React.useState(false);
|
||||
|
||||
|
||||
const Dialog_SIGN_MANUSCRITE_handleClose = () => {
|
||||
//alert(" Utiliser le bouton 'fermer' ");
|
||||
//setOpen(false);
|
||||
};
|
||||
|
||||
const Dialog_SIGN_MANUSCRITE_handleClose_buton = () => {
|
||||
setDialog_SIGN_MANUSCRITE_open(false);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
const signatureCanvasRef = useRef(null);
|
||||
|
||||
// API method examples
|
||||
const checkIfEmpty = () => {
|
||||
const isEmpty = signatureCanvasRef.current.isEmpty();
|
||||
|
||||
if (signatureCanvasRef) {
|
||||
setuserimgclassprofil(signatureCanvasRef.current.toDataURL());
|
||||
setisimgclassSelected(signatureCanvasRef.current.toDataURL())
|
||||
}
|
||||
|
||||
setuserimgclassprofilchanged("1");
|
||||
|
||||
Dialog_SIGN_MANUSCRITE_handleClose_buton();
|
||||
};
|
||||
|
||||
const clearCanvas = () => {
|
||||
signatureCanvasRef.current.clear();
|
||||
};
|
||||
|
||||
const [pad_signature_img, setpad_signature_img] = React.useState("");
|
||||
|
||||
|
||||
return (
|
||||
<div className="emarge_qr_code">
|
||||
|
||||
|
||||
{/* POUR SIGNATURE MANUSCRITE */}
|
||||
<Dialog
|
||||
open={Dialog_SIGN_MANUSCRITE_open}
|
||||
onClose={Dialog_SIGN_MANUSCRITE_handleClose}
|
||||
className="esign"
|
||||
>
|
||||
|
||||
<DialogTitle>Signature Manuscrite </DialogTitle>
|
||||
|
||||
<DialogContent className="DialogContent_width">
|
||||
<div style={{ width: "100%" }}>
|
||||
<SignatureCanvas ref={signatureCanvasRef} style={{ "border": "solid 1px red" }} penColor="blue"
|
||||
canvasProps={{
|
||||
width: 315,
|
||||
height: 200,
|
||||
style: { border: "1px solid black", borderRadius: "10px" },
|
||||
}} />
|
||||
</div>
|
||||
|
||||
<div style={{ width: "100%", marginLeft:'auto', marginRight:'auto', width:315 }}>
|
||||
|
||||
<nav className="bton_supprime_image_class" style={{width:'100%'}} onClick={(e) => {
|
||||
clearCanvas();
|
||||
|
||||
}}>Effacer </nav>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</DialogContent>
|
||||
|
||||
<DialogActions>
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button onClick={checkIfEmpty} className="bton_enreg_dialog">Valider </Button>
|
||||
</div>
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
<Button onClick={Dialog_SIGN_MANUSCRITE_handleClose_buton} className="bton_annule_dialog" >Annuler</Button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
|
||||
{/* FIN POUR SIGNATURE MANUSCRITE */}
|
||||
|
||||
|
||||
{/* POUR SIGNATURE E-DOCUMENT */}
|
||||
<Dialog
|
||||
open={Dialog_SIGN_VALIDATION_open}
|
||||
|
@ -517,7 +628,7 @@ function Emarge_QR_Code() {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{/* <div className="div_row_dialog">
|
||||
{/* <div className="div_row_dialog">
|
||||
<div className="session_caract_Dialog" > <b> Télephone </b>
|
||||
<TextField
|
||||
autoFocus
|
||||
|
@ -719,8 +830,6 @@ function Emarge_QR_Code() {
|
|||
|
||||
<label for="files_img_class" className="bton_image_class">Charger une signature</label><br />
|
||||
|
||||
|
||||
|
||||
{String(userimgclassprofilchanged) === "1" &&
|
||||
<nav className="bton_supprime_image_class" onClick={(e) => {
|
||||
setuserimgclassprofil("");
|
||||
|
@ -742,6 +851,11 @@ function Emarge_QR_Code() {
|
|||
|
||||
</nav>}
|
||||
|
||||
<Button variant="contained" className="bton_image_class" onClick={(e) => {
|
||||
setDialog_SIGN_MANUSCRITE_open(true);
|
||||
}}>Signer manuellement
|
||||
</Button>
|
||||
|
||||
|
||||
{isimgclassSelected && String(isimgclassSaved) === "0" && <nav className="koUpdateData"> {isimgclassSaved_message}</nav>}
|
||||
</div>
|
||||
|
@ -794,7 +908,7 @@ function Emarge_QR_Code() {
|
|||
Signature_E_Document(1);
|
||||
close();
|
||||
}}
|
||||
|
||||
|
||||
> Valider </button>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -44,6 +44,7 @@ import ReactDOM from 'react-dom';
|
|||
import Draggable from 'react-draggable';
|
||||
|
||||
|
||||
import SignatureCanvas from 'react-signature-canvas';
|
||||
|
||||
const locales = {
|
||||
'en-US': enUS,
|
||||
|
@ -576,6 +577,26 @@ const TestUrl_New = (props) => {
|
|||
const handleClose25 = () => {
|
||||
setContextMenu(null);
|
||||
};
|
||||
|
||||
const signatureCanvasRef = useRef(null);
|
||||
|
||||
// API method examples
|
||||
const checkIfEmpty = () => {
|
||||
const isEmpty = signatureCanvasRef.current.isEmpty();
|
||||
console.log('Is signature pad empty?', isEmpty);
|
||||
if (signatureCanvasRef) {
|
||||
console.log(signatureCanvasRef);
|
||||
setpad_signature_img(signatureCanvasRef.current.toDataURL())
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
const clearCanvas = () => {
|
||||
signatureCanvasRef.current.clear();
|
||||
};
|
||||
|
||||
const [pad_signature_img, setpad_signature_img] = React.useState("");
|
||||
|
||||
return (
|
||||
<div className="testurl_new">
|
||||
<Helmet>
|
||||
|
@ -622,7 +643,21 @@ const TestUrl_New = (props) => {
|
|||
<h3> Page de test * testurl_new </h3>
|
||||
parametres courseid = {courseid}, tabid = {tabid}
|
||||
<br />
|
||||
<h3> Signature padd </h3>
|
||||
<SignatureCanvas ref={signatureCanvasRef} style={{ "border": "solid 1px red" }} penColor="green"
|
||||
canvasProps={{
|
||||
width: 315,
|
||||
height: 200,
|
||||
style: { border: "1px solid black", borderRadius:"10px" },
|
||||
}} />
|
||||
<button onClick={checkIfEmpty}>Check if Empty</button>
|
||||
<button onClick={clearCanvas}>Clear Canvas</button>
|
||||
|
||||
<hr />
|
||||
image signé :
|
||||
<img src={pad_signature_img} />
|
||||
|
||||
<h3> FIN Signature padd </h3>
|
||||
|
||||
<Draggable >
|
||||
<div style={{ cursor: 'pointer', border: "1px solid" }}>I can now be moved around!</div>
|
||||
|
|
Loading…
Reference in New Issue