import React, { useState, useEffect } from "react"; import axios from "axios"; import partnerbannerimg from "../mysy_img/MYSY_banner_compte.png"; import profileimg from "../mysy_img/MYSY-profil-2.png"; import TrainingForm from "./AddClassManual" import PartnerTranings from "./DisplayPartnerTrainingsPagination"; import Button from '@mui/material/Button'; import SendIcon from '@mui/icons-material/Send'; import { getCookie } from 'react-use-cookie'; import { useHistory } from "react-router-dom"; import PartnerInfo from "./UpdatePartnerInfo"; import PartenairStat from "./PartenairStat"; import { Helmet } from "react-helmet"; import bannerimg2 from "../mysy_img/MYSY-LOGO-BLUE.png"; import logowhite from "../mysy_img/MYSY-LOGO-WHITE.png"; import Footer from "./Fotter"; import { confirmAlert } from 'react-confirm-alert'; // Import import { useCookies } from "react-cookie"; import Header from "./Header"; import Facture from "./Facture"; import Abonnement from "./Abonnement"; import { useLocation } from "react-router-dom"; import { useParams } from 'react-router-dom' import CheckOut from "./CheckOut"; import { IoCheckmarkCircleSharp } from "react-icons/io5"; import { FaHandPointRight } from "react-icons/fa"; const Partner = (props) => { const { commingmenu, commingpack } = useParams(); const [myApiResponse, setmyApiResponse] = useState(""); const [result, setResult] = useState(""); const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']); const stored_part = getCookie('tokenmysypart'); const [parntername, setparntername] = useState(""); const [selectedfilt1, setselectedfilt1] = useState(""); const [selectedfilt2, setselectedfilt2] = useState(""); const [selectedfilt3, setselectedfilt3] = useState(""); const [excelimportmessage, setexcelimportmessage] = useState(""); const [apiexcelimportmessage, setapiexcelimportmessage] = useState(""); const [gotocheckout, setgotocheckout] = useState(""); // Constante permet de savoir a fonction du menu on a faire const [menu, setmenu] = useState("affichage"); const [selectedFile, setSelectedFile] = useState(); const [isSelected, setIsSelected] = useState(false); const [partnerPackService, setpartnerPackService] = useState(""); const [isimgSelected, setisimgSelected] = useState(false); const [isimgSelectedfile, setisimgSelectedfile] = useState(false); const [userimgprofil, setuserimgprofil] = useState(); const [partnerstatus, setpartnerstatus] = useState(); const [refesh, setrefesh] = useState("init"); const [firstConnexion, setfirstConnexion] = useState(""); const changeHandler = (event) => { setSelectedFile(event.target.files[0]); setIsSelected(true); setapiexcelimportmessage(""); }; const history = useHistory(); const stored_cookie = getCookie('tokenmysypart'); const location = useLocation(); // Si le partenaire n'est pas connecté, il est renvoyé vers la page de connexion if (!stored_cookie || stored_cookie.length <= 0) { if (location && location.state && location.state.mysy_arg) { //alert(" mysy arg (dans partner) = " + location.state.mysy_arg); history.push("/Connexion", { mysy_arg: location.state.mysy_arg }); } else { history.push("/Connexion"); } } const formData = new FormData(); const handleSubmission = () => { formData.append('File', selectedFile); //formData.append('token', 'K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA'); const stored_cookie = getCookie('tokenmysypart'); formData.append("token", stored_cookie); //console.log("token = " + stored_cookie); fetch( process.env.REACT_APP_API_URL + "myclass/api/add_class_mass/", { method: 'POST', body: formData, } ) .then((response) => response.json()) .then((result) => { console.log('Success:', result['message']); setexcelimportmessage(result['message']); setmyApiResponse("true"); setapiexcelimportmessage(result['status']); //alert("result['status'] " + result['status']); }) .catch((error) => { console.error('Error:', result); setmyApiResponse("false"); setapiexcelimportmessage("-1"); }); }; const [myimage, setmyimage] = useState(); const [isimage, setisimage] = useState(); function getImage(e) { var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedImage/"; var form = new FormData(); form.append("token", stored_cookie); form.append("type", "partner"); axios.post(myurl, form).then(res => { if (res.data.status != "False") { console.log(" getImage : In test res.data.status = " + res.data.status); console.log(" getImage: res.data.message.img = " + res.data.message); if (res.data.message.img.length > 0) { setisimage("True"); } else { setisimage("False"); } setmyimage(res.data.message.img); var ch_img = "data:image/png;base64," + res.data.message.img; setuserimgprofil(ch_img); } else { //console.log(" In Erreur res.data.status = " + res.data.status); //console.log(" In Erreur res.data.message = " + res.data.message); setisimage("False"); setuserimgprofil(); //alert("4"); } }).catch((error) => { console.warn('Not good man :( mysearchtext = '); setisimage("False"); setuserimgprofil(profileimg); }) } useEffect(() => { setapiexcelimportmessage(""); getImage(); GetPartnerNameFromToken(); DiplaytrainingList(); if (location && location.state && location.state.local_sub_menu) { setmenu(location.state.local_sub_menu); setpartnerPackService(location.state.currentpack); //alert(" le pack = "+location.state.currentpack); } }, []) function CreateTraining(event) { setmenu("creation"); } function PersonnalData(event) { setmenu("infopartner"); } function DisplayStat(event) { setmenu("statistique"); } function DisplayFacure(event) { setmenu("facture"); } function Abonnement_func(event) { setmenu("abonnement"); } function DiplaytrainingList(event) { setmenu("affichage"); var server_address = "127.0.0.1"; //var server_address = "89.156.84.196"; var form = new FormData(); // Recuperation des parametres var filtre1 = selectedfilt1; var filtre2 = selectedfilt2; var filtre3 = selectedfilt3; var filtre1_value = ""; var filtre2_value = ""; var filtre3_value = ""; // Recuperation des valeurs de filtres if (selectedfilt1) { filtre1_value = document.getElementsByName("filtre1")[0].value; form.append(filtre1, filtre1_value); } if (selectedfilt2) { filtre2_value = document.getElementsByName("filtre2")[0].value; form.append(filtre2, filtre2_value); } if (selectedfilt3) { filtre3_value = document.getElementsByName("filtre3")[0].value; form.append(filtre3, filtre3_value); } //console.log(" filtres1 = " + filtre1 + " = " + filtre1_value); //console.log(" filtres2 = " + filtre2 + " = " + filtre2_value); //console.log(" filtres3 = " + filtre3 + " = " + filtre3_value); form.append("token", stored_cookie); var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_partner_class/"; axios.post(myurl, form).then(res => { if (res.data.status !== "False") { //console.log(" In test res.data.status = " + res.data.status); //console.log(" In test res.data.message = " + res.data.message); setmyApiResponse("true"); setResult(res.data.message) //setmyApimyApiMessage("OK") } else { //console.log(" In test res.data.status = " + res.data.status); //console.log(" In test res.data.message = " + res.data.message); setmyApiResponse("false"); //setmyApimyApiMessage("") } }).catch((error) => { console.warn('Not good man :( mysearchtext = '); setmyApiResponse("false"); //setmyApimyApiMessage("") }) } function logout_confirmation() { /* si c'est une connexion partner qui est active */ if (typeof (stored_part) != "undefined") { removeCookie_part('tokenmysypart', { path: '/' }); history.push("/recherche-formation"); } } function logout() { confirmAlert({ title: 'Deconnexion ?', message: 'Confirmez la deconnexion', buttons: [ { label: 'Oui', onClick: () => logout_confirmation() }, { label: 'Non', onClick: () => { return } } ] }); } const imgchangeHandler = (event) => { let file_size = event.target.files[0].size; //or if you like to have name and type let file_name = event.target.files[0].name; let file_type = event.target.files[0].type; //alert("file_size = "+file_size+" file_type = "+file_type+" a = "+a); if (file_size > 100000) { alert("L'image doit faire moins de 1 mega Kilo Octets"); return; } setisimgSelectedfile(event.target.files[0]); setisimgSelected(true); setuserimgprofil(URL.createObjectURL(event.target.files[0])); }; function GetPartnerNameFromToken(event) { var form = new FormData(); console.log(" GetPartnerNameFromToken stored_cookie = ",stored_cookie); form.append("token", stored_cookie); var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_partner_account/"; 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); setparntername(JSON.parse(res.data.message).nom); if (JSON.parse(res.data.message).pack_service) { setpartnerPackService(JSON.parse(res.data.message).pack_service); } else { setpartnerPackService("Aucun Service"); } if (JSON.parse(res.data.message).ispending) { setpartnerstatus(JSON.parse(res.data.message).ispending); } if (JSON.parse(res.data.message).firstconnexion && String(JSON.parse(res.data.message).firstconnexion) === "0") { setfirstConnexion("0"); } else { setfirstConnexion("1"); } } else { console.log(" In GetPartnerNameFromToken res.data.status = " + res.data.status); //console.log(" In GetPartnerNameFromToken res.data.message = " + res.data.message); } }).catch((error) => { console.warn('In GetPartnerNameFromToken Not good man :( mysearchtext = '); }) } function sendImage(e) { var formData = new FormData(); formData.append('File', isimgSelectedfile); formData.append("token", stored_part); formData.append("type", "partner"); fetch( process.env.REACT_APP_API_URL + "myclass/api/recordImage/", { method: 'POST', body: formData, } ).then((response) => response.json()) .then((result) => { console.log('Success:', result['message']); setisimgSelected(false); }) .catch((error) => { console.error('Error:'); setisimgSelected(true); }); }; // Create a reference to the hidden file input element const hiddenFileInput = React.useRef(null); // Programatically click the hidden file input element // when the Button component is clicked const handleClick = event => { hiddenFileInput.current.click(); }; // Call a function (passed as a prop from the parent component) // to handle the user-selected file const handleChange = event => { const fileUploaded = event.target.files[0]; props.handleFile(fileUploaded); }; function alertactivecompte() { alert(" Vous devez ajouter un mode de Paiement pour acceder à cette fonctionnalité"); } function ValideFirstConnexion(){ setfirstConnexion(""); setmenu("abonnement"); } return (