From 8225272a9e3b708a772f8a911e1e00f77843319d Mon Sep 17 00:00:00 2001 From: cherif Date: Thu, 17 Aug 2023 17:03:05 +0200 Subject: [PATCH] 17/08/23 - 17h --- src/components/Abonnement.js | 3 +- src/components/AddClassManual.js | 3 +- src/components/CheckOut.js | 15 +- src/components/DisplayPartnerSession.js | 7 +- src/components/DisplayPartnerStagiaires.js | 2450 ++++++++++++++++- .../DisplayPartnerTrainingsPagination.js | 193 +- src/components/Inscription_Information.js | 229 +- src/components/Partner.js | 8 +- src/components/Partner_Client.js | 7 +- src/components/Partner_Invoicing_Data.js | 3 +- src/components/Partner_Securite_Data.js | 6 +- src/components/PaymentMethode.js | 9 +- src/components/PaymentMethode_Carte.js | 6 +- src/components/PaymentMethode_WO_connect.js | 6 +- src/components/Pricing.js | 6 +- src/components/ResetUserPwd.js | 3 +- src/components/SignUp.js | 3 +- src/components/TestUrl.js | 6 +- src/components/UpdatePartnerInfo.js | 6 +- src/components/UpdateUserGoals.js | 3 +- src/components/UpdateUserInfo.js | 6 +- src/components/UpdateUserProfil.js | 3 +- src/components/UpgradeToPro.js | 3 +- .../components/_displaypartnerstagiaire.scss | 1184 +++++++- src/styles/index.scss | 2 +- 25 files changed, 3770 insertions(+), 400 deletions(-) diff --git a/src/components/Abonnement.js b/src/components/Abonnement.js index 140015e..3fedde7 100644 --- a/src/components/Abonnement.js +++ b/src/components/Abonnement.js @@ -1553,7 +1553,8 @@ function Abonnement(props) { {String(testval) === String("false") &&
Impossible de modifier les informations
} - :not(style)': { m: 1 }, width: '100%', }}> +   + :not(style)': { m: 1 }, width: '100%', }}> { - Impossible de modifier les informations de facturation } - :not(style)': { m: 1 }, width: '100%', }}> +   + :not(style)': { m: 1 }, width: '100%', }}> - :not(style)': { m: 1 }, width: '100%', }}> +   + :not(style)': { m: 1 }, width: '100%', }}> Prélèvement par virement SEPA {String(menumodepayement) === String("sepa") &&
- :not(style)': { m: 1 }, width: '100%', }}> +   + :not(style)': { m: 1 }, width: '100%', }}>
- :not(style)': { m: 1 }, width: '100%', }}> +   + :not(style)': { m: 1 }, width: '100%', }}> Prélèvement par virement SEPA {String(menumodepayement) === String("sepa") &&
- :not(style)': { m: 1 }, width: '100%', }}> +   + :not(style)': { m: 1 }, width: '100%', }}> { } - - {
@@ -3783,7 +3781,8 @@ const DisplayPartnerSession = (props) => {
- {
-
+
{String(submenu) === String("detail_session") &&
diff --git a/src/components/DisplayPartnerStagiaires.js b/src/components/DisplayPartnerStagiaires.js index d59eb83..d9dd4fa 100644 --- a/src/components/DisplayPartnerStagiaires.js +++ b/src/components/DisplayPartnerStagiaires.js @@ -1,59 +1,2461 @@ - import React, { useRef, useState, useEffect } from "react"; -import Box from '@mui/material/Box'; import TextField from '@mui/material/TextField'; import MenuItem from '@mui/material/MenuItem'; -import { confirmAlert } from 'react-confirm-alert'; // Import import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css import Button from '@mui/material/Button'; import axios from "axios"; -import DeleteIcon from '@mui/icons-material/Delete'; import { getCookie, setCookie } from 'react-use-cookie'; -import { Alert } from "@mui/material"; -import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai"; -import profileimg from "../mysy_img/MYSY-profil-2.png"; -import Abonnement from "./Abonnement"; -import { ConstructionOutlined, PropaneSharp } from "@mui/icons-material"; 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 { RichTextEditor } from '@mantine/rte'; import { Editor } from '@tinymce/tinymce-react'; -import { IoArrowUndoCircle } from "react-icons/io5"; -import { GrUserAdmin, GrOrderedList } from "react-icons/gr"; import parse from 'html-react-parser'; -import { FcViewDetails } from "react-icons/fc"; +import { FcViewDetails, FcDisapprove } 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 GestionAdministrative from "./GestionAdministrative"; -import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io"; -import { Fab } from "@material-ui/core"; -import { ConsoleView } from "react-device-detect"; import fileDownload from 'js-file-download' -import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5"; -import { AiOutlineUserAdd } from "react-icons/ai"; -import PartnerClientActivite from "./PartnerClient_Activite"; -import { CiCoffeeBean, CiDesktop, CiFileOff } from "react-icons/ci"; import Popup from 'reactjs-popup'; import 'reactjs-popup/dist/index.css'; -import { BsEye, BsFileText } from "react-icons/bs"; -import { AiOutlineEdit } from "react-icons/ai"; 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 } from '@mui/material'; +import styled from 'styled-components'; +import { CiTrash } from "react-icons/ci"; +import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md"; + const DisplayPartnerStagiaires = (props) => { const history = useHistory(); + const [submenu, setsubmenu] = useState(""); + const [rowss, setRows] = useState([]); + const [selectionModel, setSelectionModel] = React.useState([]); + + + const [p_filtre1, setp_filtre1] = useState(); + const [p_filtre1_value, setp_filtre1_value] = useState(); + + const [p_filtre2, setp_filtre2] = useState(); + const [p_filtre2_value, setp_filtre2_value] = useState(); + + const [p_filtre3, setp_filtre3] = useState(); + const [p_filtre3_value, setp_filtre3_value] = useState(); + + const filters = [ + { value: 'code_session', label: 'Code Session' }, + { value: 'class_title', label: 'Titre Formation' }, + { value: 'certif', label: 'Certification' } + ] + + const [selectedfilt1, setselectedfilt1] = useState(""); + const [selectedfilt2, setselectedfilt2] = useState(""); + const [selectedfilt3, setselectedfilt3] = useState(""); + + const [datagrid_columns_size_model1, setdatagrid_columns_size_model1] = useState(200); + const [datagrid_columns_size_model2, setdatagrid_columns_size_model2] = useState(80); + + const columns = [ + { field: 'id', headerName: 'id', hide: true }, + { field: 'class_internal_url', headerName: 'class_internal_url', hide: true }, + + { field: 'email', headerName: 'email', width: 200, hideable: false, flex: 1 }, + { field: 'nom', headerName: 'nom', width: 150, hide: false, editable: true }, + { field: 'prenom', headerName: 'prenom', width: 150, hide: false, editable: true }, + { field: 'employeur', headerName: 'Employeur', width: 200, hide: false, editable: true }, + { + field: 'status', headerName: 'Statut', hide: false, width: datagrid_columns_size_model2, + valueFormatter: (params) => { + if (String(params.value) === "0") + return "Préinscrit"; + else if (String(params.value) === "1") + return "Inscrit"; + else if (String(params.value) === "-1") + return "Annulé"; + else + return "?"; + }, + }, + { field: 'session_id', headerName: 'Code session', hideable: true, }, + { field: 'title', headerName: 'Formation', width: datagrid_columns_size_model1, align: "center", hideable: true, }, + { + field: 'distantiel', headerName: 'Distantiel', hideable: false, width: datagrid_columns_size_model2, + valueFormatter: (params) => { + if (String(params.value) === "0") + return "Non"; + else if (String(params.value) === "1") + return "Oui"; + else + return "?"; + }, + }, + { + field: 'presentiel', headerName: 'Presentiel', width: datagrid_columns_size_model2, + valueFormatter: (params) => { + if (String(params.value) === "0") + return "Non"; + else if (String(params.value) === "1") + return "Oui"; + else + return "?"; + }, + + }, + { field: 'domaine', headerName: 'Domaine', width: datagrid_columns_size_model2, align: "center", hide: true, hideable: true, }, + { field: 'date_debut', headerName: 'Du', width: datagrid_columns_size_model1, hideable: true, }, + { field: 'date_fin', headerName: 'Au', width: datagrid_columns_size_model1, hideable: true, }, + { + field: "Detail", headerName: 'Voir detail', + renderCell: (cellValues) => { + return ( + + + + ); + } + }, + { + field: "Imprimer", headerName: 'Imprimer detail', + renderCell: (cellValues) => { + return ( + + + + ); + } + }, + + ] + + function clean_all_filters() { + setp_filtre1(); + setp_filtre1_value(); + + setp_filtre2(); + setp_filtre2_value(); + + setp_filtre3(); + setp_filtre3_value(); + + Getall_TrainingParticpant_no_filter(); + } + + const myRef = useRef(null) + + const [Getall_TrainingParticipant_api, setGetall_TrainingParticipant_api] = useState(); + const [Getall_TrainingParticipant_message, setGetall_TrainingParticipant_message] = useState(); + const [Getall_TrainingParticipant_result, setGetall_TrainingParticipant_result] = useState(); + function Getall_TrainingParticipant(event) { + + var form = new FormData(); + + + // Recuperation des parametres + var filtre1 = p_filtre1; + var filtre2 = p_filtre2; + var filtre3 = p_filtre3; + + + var filtre1_value = ""; + var filtre2_value = ""; + var filtre3_value = ""; + // Recuperation des valeurs de filtres + + if (p_filtre1_value) { + filtre1_value = p_filtre1_value; + form.append(filtre1, filtre1_value); + } + + if (p_filtre2_value) { + filtre2_value = p_filtre2_value; + form.append(filtre2, filtre2_value); + } + + if (p_filtre3_value) { + filtre2_value = p_filtre3_value; + form.append(filtre3, p_filtre3_value); + } + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Statgaire_List_Partner_with_filter/"; + + + + axios.post(myurl, form).then(res => { + + 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); + setGetall_TrainingParticipant_api("true"); + setGetall_TrainingParticipant_result(res.data.message); + setRows(res.data.message); + } + else { + setGetall_TrainingParticipant_api("false"); + setGetall_TrainingParticipant_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_TrainingParticipant = ', error); + setGetall_TrainingParticipant_api("false"); + //setmyApimyApiMessage("") + }) + } + + + + function Getall_TrainingParticpant_no_filter(event) { + + var form = new FormData(); + + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetAllValideSessionPartner_List/"; + + + axios.post(myurl, form).then(res => { + + 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); + setGetall_TrainingParticipant_api("true"); + setGetall_TrainingParticipant_result(res.data.message); + setRows(res.data.message); + } + else { + setGetall_TrainingParticipant_api("false"); + setGetall_TrainingParticipant_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_TrainingParticipant = ', error); + setGetall_TrainingParticipant_api("false"); + //setmyApimyApiMessage("") + }) + } + + + const [display_detail_stagaire, setdisplay_detail_stagaire] = useState(""); + + function handleClick_edit_session_From_Line(selected_row_id) { + + var line = JSON.parse(rowss[selected_row_id]); + + + var code_session = line.session_id; + setselected_code_session(line.session_id); + + var internal_url = line.class_internal_url; + setselected_internal_url(line.class_internal_url); + + setselected_class_title(line.title); + + + submenu_detail_stagaire(); + + setdisplay_detail_stagaire("1"); + + /* + GetCurrentSession(line.code_session, line.class_internal_url); + + GetListePreinscrit(line.code_session, line.class_internal_url); + + GetListeInscrit(line.code_session, line.class_internal_url); + */ + } + + const datagridSx = { + borderRadius: 2, + marginRight: 1, + marginLeft: 1, + border: 0, + "& .MuiDataGrid-main": { borderRadius: 0 }, + /*'& div[data-rowIndex][role="row"]:nth-of-type(5n-4)': { + color: "blue", + fontSize: 18, + //risky + minHeight: "60px !important", + height: 60, + "& div": { + minHeight: "60px !important", + height: 60, + lineHeight: "59px !important" + } + },*/ + "& .MuiDataGrid-virtualScrollerRenderZone": { + "& .MuiDataGrid-row": { + "&:nth-child(2n)": { backgroundColor: "rgba(235, 235, 235, .7)" } + } + }, + "& .MuiDataGrid-columnHeaders": { + backgroundColor: "#c8cfd5", + color: "black", + fontSize: 16 + }, + + }; + + const [selected_code_session, setselected_code_session] = useState(); + const [selected_internal_url, setselected_internal_url] = useState(); + const [selected_class_title, setselected_class_title] = useState(); + + const [one_selected_internal_url, setone_selected_internal_url] = useState(); + + const BorderLinearProgress = styled(LinearProgress)(() => ({ + height: "20px", + width: "60px", + borderRadius: "2px", + backgroundColor: " #ebf5fb", + "& .MuiLinearProgress-bar": { + backgroundColor: "#1bd900", + transition: "none", + transformOrigin: "left", + }, + })); + + const [session_file_name, setsession_file_name] = useState(); + function submenu_import_stagiaire() { + setsession_file_name(); + setliste_sessions_file_change_api(); + hiddenFileInput_session.current.click(); + } + + const [addOneSession, setaddOneSession] = useState(); + function submenu_add_one_stagiaire() { + setaddOneParticipant("1"); + submenu_detail_stagaire(); + + if (myRef.current) { + myRef.current.scrollIntoView({ behavior: "smooth" }); + } + } + + + function clean_old_messages() { + + + } + + const [GetCurrentClass_trainingsession_api, setGetCurrentClass_trainingsession_api] = useState(); + const [GetCurrentClass_trainingsession_message, setGetCurrentClass_trainingsession_message] = useState(); + const [GetCurrentClass_trainingsession_result, setGetCurrentClass_trainingsession_result] = useState(); + function GetCurrentClass_trainingsession(event) { + + var form = new FormData(); + + form.append("class_internal_url", selected_internal_url); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetAllValideSessionFormation_List/"; + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In GetCurrentClass_trainingsession res.data.status = " + res.data.status); + //console.log(" In GetCurrentClass_trainingsession res.data.message r_class = " + res.data.message); + setGetCurrentClass_trainingsession_api("true"); + setGetCurrentClass_trainingsession_result(res.data.message); + } + else { + setGetCurrentClass_trainingsession_api("false"); + setGetCurrentClass_trainingsession_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( GetCurrentClass_trainingsession = ', error); + setGetCurrentClass_trainingsession_api("false"); + //setmyApimyApiMessage("") + }) + } + + const sleep = (milliseconds) => { + return new Promise(resolve => setTimeout(resolve, milliseconds)) + } + + const [nb_stagiaire_Preinscrit, setnb_stagiaire_Preinscrit] = useState("0"); + function submenu_inscrit() { + setsubmenu("inscrit"); + + if (document.getElementById("inscrit")) { + document.getElementById("inscrit").style.backgroundColor = "#104277"; + document.getElementById("inscrit").style.color = "white"; + } + + if (document.getElementById("detail_session")) { + document.getElementById("detail_session").style.backgroundColor = "#d8edfc"; + document.getElementById("detail_session").style.color = "black"; + } + + if (document.getElementById("preinscrit")) { + document.getElementById("preinscrit").style.backgroundColor = "#d8edfc"; + document.getElementById("preinscrit").style.color = "black"; + } + + } + + const [print_detail_insc, setprint_detail_insc] = React.useState(); + function Print_Detail_Inscription(event, cellValues) { + + setprint_detail_insc("1") + + var email = cellValues.row.email; + setselectedattendeeemail(email); + DownloadAttendeeDetail(); + + } + function clearDetailAttendeFields() { + + if (document.getElementsByName("detail_nom") && document.getElementsByName("detail_nom")[0]) + document.getElementsByName("detail_nom")[0].value = ""; + + if (document.getElementsByName("detail_prenom") && document.getElementsByName("detail_prenom")[0]) + document.getElementsByName("detail_prenom")[0].value = ""; + + if (document.getElementsByName("detail_mail") && document.getElementsByName("detail_mail")[0]) + document.getElementsByName("detail_mail")[0].value = ""; + + if (document.getElementsByName("detail_tel") && document.getElementsByName("detail_tel")[0]) + document.getElementsByName("detail_tel")[0].value = ""; + + if (document.getElementsByName("detail_adresse") && document.getElementsByName("detail_adresse")[0]) + document.getElementsByName("detail_adresse")[0].value = ""; + + if (document.getElementsByName("detail_code_postal") && document.getElementsByName("detail_code_postal")[0]) + document.getElementsByName("detail_code_postal")[0].value = ""; + + if (document.getElementsByName("detail_ville") && document.getElementsByName("detail_ville")[0]) + document.getElementsByName("detail_ville")[0].value = ""; + + if (document.getElementsByName("detail_incr_date") && document.getElementsByName("detail_incr_date")[0]) + document.getElementsByName("detail_incr_date")[0].value = ""; + + if (document.getElementsByName("detail_cout") && document.getElementsByName("detail_cout")[0]) + document.getElementsByName("detail_cout")[0].value = ""; + + if (document.getElementsByName("detail_mode_fin") && document.getElementsByName("detail_mode_fin")[0]) + document.getElementsByName("detail_mode_fin")[0].value = ""; + + if (document.getElementsByName("detail_employeur") && document.getElementsByName("detail_employeur")[0]) + document.getElementsByName("detail_employeur")[0].value = ""; + + if (document.getElementsByName("date_evaluation") && document.getElementsByName("date_evaluation")[0]) + document.getElementsByName("date_evaluation")[0].value = ""; + + if (document.getElementsByName("note_eval") && document.getElementsByName("note_eval")[0]) + document.getElementsByName("note_eval")[0].value = ""; + + if (document.getElementsByName("certif_date") && document.getElementsByName("certif_date")[0]) + document.getElementsByName("certif_date")[0].value = ""; + + setfield_evaluation(); + setdetailuser_date_certification(); + setdetailuser_date_evaluation(); + } + + + const [Resend_LMS_Credentials_api, setResend_LMS_Credentials_api] = useState(); + const [Resend_LMS_Credentials_result, setResend_LMS_Credentials_result] = useState(); + const [Resend_LMS_Credentials_message, setResend_LMS_Credentials_message] = useState(); + const Resend_LMS_Credentials = event => { + + clean_old_messages(); + const formData = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + + formData.append("token", stored_cookie); + formData.append("session_id", selected_code_session); + + var local_mail = "" + if (document.getElementsByName("detail_mail") && document.getElementsByName("detail_mail")[0]) + local_mail = document.getElementsByName("detail_mail")[0].value; + + var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; + + if (!local_mail.match(validRegex)) { + alert("L'adresse email est invalide. Impossible de renvoyer les identifiants"); + return; + } + formData.append("email", local_mail); + formData.append("class_internal_url", selected_internal_url); + //console.log("token = " + stored_cookie); + + fetch( + process.env.REACT_APP_API_URL + "myclass/api/LMS_Credential_Sending_mail/", + { + method: 'POST', + body: formData, + } + ) + .then((response) => response.json()) + .then((result) => { + if (String(result['status']) === String("true")) { + //console.log('Success:', result['message']); + setResend_LMS_Credentials_result(result['message']); + setResend_LMS_Credentials_api("true"); + alert(" Les identifiants de connexion ont été correctement envoyés") + } else if (String(result['status']) === String("Err_Connexion")) { + alert('Erreur: ' + result['message']); + history.push("/Connexion"); + } + + else { + setResend_LMS_Credentials_message(result['message']); + setResend_LMS_Credentials_api("false"); + } + + }) + .catch((error) => { + console.error('Error:', error); + setResend_LMS_Credentials_api("false"); + }); + + }; + + + const [SessionstartDate, setSessionstartDate] = useState(); + + const filterPassedTime_start = (time) => { + const currentDate = new Date(); + const selectedDate = new Date(time); + + return currentDate.getTime() < selectedDate.getTime(); + }; + + + const [SessionendDate, setSessionendDate] = useState(); + + const filterPassedTime_end = (time) => { + const currentDate = new Date(); + const selectedDate = new Date(time); + + return currentDate.getTime() < selectedDate.getTime(); + }; + + const imglogoclasschangeHandler = (event) => { + + + let file_size = event.target.files[0].size; + + //or if you like to have name and type + //console.log(event.target.files); + + 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 > 1000000) { + alert("L'image ne doit pas depasser un 1 Méga octets"); + return; + } + setisimgclassSelected(event.target.files[0]); + setisimgclassSelectedfile(true); + + setuserimgclassprofil(URL.createObjectURL(event.target.files[0])); + setuserimgclassprofilchanged("1"); + + }; + + + const editorRef_evaluation = useRef(null); + const [field_evaluation, setfield_evaluation] = useState(""); + function editor_keyup() { + } + + const editorRef_contenu_ftion = useRef(null); + const [editorRef_contenu_ftion_limite, seteditorRef_description_limite] = useState(800); + + const one_editorRef_contenu_ftion = useRef(null); + const [one_editorRef_contenu_ftion_limite, setone_editorRef_description_limite] = useState(800); + + const [field_contenu_ftion, setfield_contenu_ftion] = useState(""); + function editor_contenu_ftion_keyup() { + setsessionChanged(true); + } + + const [SendAttendeeAttestation_api, setSendAttendeeAttestation_api] = useState(); + const [SendAttendeeAttestation_message, setSendAttendeeAttestation_message] = useState(); + const [SendAttendeeAttestation_result, setSendAttendeeAttestation_result] = useState(); + function SendAttendeeAttestation() { + clean_old_messages(); + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("session_id", selected_code_session); + form.append("attendee_email", selectedattendeeemail); + form.append("class_internal_url", selected_internal_url); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/SendAttendeeCertification/"; + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In SendAttendeeAttestation res.data.status = " + res.data.status); + //console.log(" In SendAttendeeAttestation res.data.message r_class = " + res.data.message); + setSendAttendeeAttestation_api("true"); + setSendAttendeeAttestation_result(res.data.message); + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setSendAttendeeAttestation_api("false"); + setSendAttendeeAttestation_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( SendAttendeeAttestation = ', error); + setSendAttendeeAttestation_api("false"); + + }) + + } + + + + const [userimgclassprofil, setuserimgclassprofil] = useState(); + const [userimgclassprofilchanged, setuserimgclassprofilchanged] = useState(""); + + + function DownloadAttendeeDetail(event) { + + + var trainer = "" + if (document.getElementsByName("formateur")[0]) + trainer = document.getElementsByName("formateur")[0].value; + + if (trainer == "") { + alert(" Aucun formateur pour cette session "); + return; + } + + const stored_cookie = getCookie('tokenmysypart'); + + var nom_fiche_detaillee = "Fiche_Detaillee.pdf"; + + var url = process.env.REACT_APP_API_URL + "myclass/api/PrintAttendeeDetail_perSession/" + stored_cookie + "/" + selected_code_session + "/" + selectedattendeeemail + "/" + selected_internal_url; + + + axios.get(url, { responseType: 'blob', },) + .then((res) => { + fileDownload(res.data, nom_fiche_detaillee) + }).catch((error) => { + console.error('Error:', error); + + }); + } + + + function DownloadAttendeeDetail_one(addendeeEmail) { + + + var trainer = "" + if (document.getElementsByName("formateur")[0]) + trainer = document.getElementsByName("formateur")[0].value; + + if (trainer == "") { + alert(" Aucun formateur pour cette session "); + return; + } + + if (addendeeEmail == "") { + alert(" Aucun utilisateur choisi "); + return; + } + + const stored_cookie = getCookie('tokenmysypart'); + + var nom_fiche_detaillee = "Fiche_Detaillee.pdf"; + + var url = process.env.REACT_APP_API_URL + "myclass/api/PrintAttendeeDetail_perSession/" + stored_cookie + "/" + selected_code_session + "/" + addendeeEmail + "/" + selected_internal_url; + + + axios.get(url, { responseType: 'blob', },) + .then((res) => { + fileDownload(res.data, nom_fiche_detaillee) + }).catch((error) => { + console.error('Error:', error); + + }); + } + + + function DownloadAttendeeAttestation(event) { + + const stored_cookie = getCookie('tokenmysypart'); + + var nom_fiche_detaillee = "Attestation.pdf"; + + var url = process.env.REACT_APP_API_URL + "myclass/api/PrintAttendeeCertification/" + stored_cookie + "/" + selected_code_session + "/" + selectedattendeeemail + "/" + selected_internal_url; + + + + axios.get(url, { responseType: 'blob', },) + .then((res) => { + fileDownload(res.data, nom_fiche_detaillee) + }) + } + + + + + const [isimgclassSelected, setisimgclassSelected] = useState(false); + const [isimgclassSelected_recid, setisimgclassSelected_recid] = useState(""); + const [isimgclassSelectedfile, setisimgclassSelectedfile] = useState(false); + + + const [isimgclassdeleted, setisimgclassdeleted] = useState(""); + const [isimgclassdeleted_message, setisimgclassdeleted_message] = useState(""); + const [isimgclassSaved, setisimgclassSaved] = useState(""); + const [isimgclassSaved_message, setisimgclassSaved_message] = useState(""); + function desableAttendeeDetailFields() { + document.getElementsByName("date_evaluation")[0].disabled = true; + document.getElementsByName("date_evaluation")[0].style.backgroundColor = "#ECEFF1"; + + + document.getElementsByName("detail_incr_date")[0].disabled = true; + document.getElementsByName("detail_incr_date")[0].style.backgroundColor = "#ECEFF1"; + + + document.getElementsByName("certif_date")[0].disabled = true; + document.getElementsByName("certif_date")[0].style.backgroundColor = "#ECEFF1"; + } + + + const [detailuser_date_inscription, setdetailuser_date_inscription] = useState(); + const [detailuser_date_evaluation, setdetailuser_date_evaluation] = useState(); + const [detailuser_date_certification, setdetailuser_date_certification] = useState(); + const [SessionstartDateInscription, setSessionstartDateInscription] = useState(); + + + const [attendee_lms_pwd, setattendee_lms_pwd] = useState(); + const [attendee_lms_login, setattendee_lms_login] = useState(); + + + function submenu_preinscrit() { + setsubmenu("preinscrit"); + + if (document.getElementById("preinscrit")) { + document.getElementById("preinscrit").style.backgroundColor = "#104277"; + document.getElementById("preinscrit").style.color = "white"; + } + + if (document.getElementById("detail_session")) { + document.getElementById("detail_session").style.backgroundColor = "#d8edfc"; + document.getElementById("detail_session").style.color = "black"; + } + + if (document.getElementById("inscrit")) { + document.getElementById("inscrit").style.backgroundColor = "#d8edfc"; + document.getElementById("inscrit").style.color = "black"; + } + + } + + const [SendEvaluationEmail_api, setSendEvaluationEmail_api] = useState(); + const [SendEvaluationEmail_message, setSendEvaluationEmail_message] = useState(); + const [SendEvaluationEmail_result, setSendEvaluationEmail_result] = useState(); + function SendEvaluationEmail() { + clean_old_messages(); + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("session_id", selected_code_session); + form.append("attendee_email", selectedattendeeemail); + form.append("class_internal_url", selected_internal_url); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/SendTrainingEvaluationEmail/"; + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In SendEvaluationEmail res.data.status = " + res.data.status); + //console.log(" In SendEvaluationEmail res.data.message r_class = " + res.data.message); + setSendEvaluationEmail_api("true"); + setSendEvaluationEmail_result(res.data.message); + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setSendEvaluationEmail_api("false"); + setSendEvaluationEmail_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( SendEvaluationEmail = ', error); + setSendEvaluationEmail_api("false"); + + }) + } + + function SendEvaluationEmail_One(email) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("session_id", selected_code_session); + form.append("attendee_email", email); + form.append("class_internal_url", selected_internal_url); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/SendTrainingEvaluationEmail/"; + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In SendEvaluationEmail res.data.status = " + res.data.status); + //console.log(" In SendEvaluationEmail res.data.message r_class = " + res.data.message); + setSendEvaluationEmail_api("true"); + setSendEvaluationEmail_result(res.data.message); + alert(" La demande a été correctement envoyée"); + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setSendEvaluationEmail_api("false"); + setSendEvaluationEmail_message(res.data.message); + alert(" Erreur : " + res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( SendEvaluationEmail = ', error); + setSendEvaluationEmail_api("false"); + + }) + } + + + const [record_Stagiaire_Image_api, setrecord_Stagiaire_Image_api] = useState(); + const [record_Stagiaire_Image_message, setrecord_Stagiaire_Image_message] = useState(); + const [record_Stagiaire_Image_result, setrecord_Stagiaire_Image_result] = useState(); + function record_Stagiaire_Image(l) { + + const formData = new FormData(); + const url = process.env.REACT_APP_API_URL + "myclass/api/Update_Stagiaire_Image/"; + + const stored_cookie = getCookie('tokenmysypart'); + formData.append("token", stored_cookie); + formData.append("class_internal_url", selected_internal_url); + formData.append("session_id", selected_code_session); + formData.append("email", selectedattendeeemail); + + console.log(" ### userimgclassprofilchanged =", userimgclassprofilchanged) + + + formData.append('file_img', isimgclassSelected); + formData.append('file_img_recid', isimgclassSelected_recid); + + + //console.log(" ### formData = ", formData); + fetch( + url, + { + method: 'POST', + body: formData, + } + ) + .then((response) => response.json()) + .then((result) => { + console.log('Success:', result['message'], "result['status'] = ", result['status']); + + if (String(result['status']) === String("true")) { + setrecord_Stagiaire_Image_api("true"); + setuserimgclassprofilchanged(""); + alert(" L'image à jour a été mise enregistrée "); + + } else if (String(result['status']) === String("Err_Connexion")) { + alert('Erreur: ' + result['message']); + history.push("/Connexion"); + } else { + setrecord_Stagiaire_Image_api("false"); + alert(" Erreur : ", result['message']); + } + + }) + .catch((error) => { + console.error('Error:', error); + setrecord_Stagiaire_Image_api("false"); + alert(" Erreur : Impossible d'enregistrer l'image "); + + }); + + + }; + + + function removeRecodedLogoImage() { + if (!isimgclassSelected_recid || String(isimgclassSelected_recid).length < 3) { + alert(" Image incorrecte. Impossible de la supprimer "); + return; + } + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("image_recid", isimgclassSelected_recid); + + fetch( + process.env.REACT_APP_API_URL + "myclass/api/DeleteImage_Stagiaire_v2/", + { + method: 'POST', + body: form, + } + ).then((response) => response.json()) + .then((result) => { + + console.log(' removeRecodedClassImage : status:', result['status']); + console.log('removeRecodedClassImage : Success:', result['message']); + + + if (String(result['status']) === String("true")) { + setisimgclassSelected(""); + setisimgclassSelected_recid(""); + setisimgclassSelectedfile(""); + setuserimgclassprofil(""); + //getStagiaireImages(); + + } + else if (String(result['status']) === String("Err_Connexion")) { + alert('Erreur: ' + result['message']); + history.push("/Connexion"); + return; + } + + else { + alert(result['message']); + } + + }) + .catch((error) => { + console.error('Error:', error); + alert(" Impossible de supprimer l'image "); + }); + + } + + + + const [liste_sessions_file_change_api, setliste_sessions_file_change_api] = useState(); + const [liste_sessions_file_change_result, setliste_sessions_file_change_result] = useState(); + const [liste_sessions_file_change_message, setliste_sessions_file_change_message] = useState(); + const liste_sessions_file_change = event => { + clean_old_messages(); + + 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; + } + + setsession_file_name(event.target.files[0].name); + + const formData = new FormData(); + formData.append('File', fileUploaded); + //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_Update_SessionFormation_mass_for_many_class/", + { + method: 'POST', + body: formData, + } + ) + .then((response) => response.json()) + .then((result) => { + + //console.log(" ## result['status'] = ", result['status']) + if (String(result['status']) === String("Err_Connexion")) { + alert('Erreur: ' + result['message']); + history.push("/Connexion"); + } + + else if (String(result['status']) === String("true")) { + //console.log('Success:', result['message']); + setliste_sessions_file_change_result(result['message']); + setliste_sessions_file_change_api("true"); + GetCurrentClass_trainingsession(); + //clearSessionFields(); + Getall_TrainingSession(); + alert(" Les sessions ont été correctement importées"); + + } + + else { + setliste_sessions_file_change_message(result['message']); + setliste_sessions_file_change_api("false"); + alert('Erreur: ' + result['message']); + + } + + + }) + .catch((error) => { + console.error('Error:', error); + setliste_sessions_file_change_api("false"); + }); + } + async function submenu_detail_stagaire() { + setsubmenu("detail_session"); + + await sleep(5); + /*if (!edit_session_form) { + desableSessionFields(); + } + + if (document.getElementById("detail_session")) { + document.getElementById("detail_session").style.backgroundColor = "#104277"; + document.getElementById("detail_session").style.color = "white"; + } + + if (document.getElementById("inscrit")) { + document.getElementById("inscrit").style.backgroundColor = "#d8edfc"; + document.getElementById("inscrit").style.color = "black"; + } + + if (document.getElementById("preinscrit")) { + document.getElementById("preinscrit").style.backgroundColor = "#d8edfc"; + document.getElementById("preinscrit").style.color = "black"; + } +*/ + + } + + + const [Getall_TrainingSession_api, setGetall_TrainingSession_api] = useState(); + const [Getall_TrainingSession_message, setGetall_TrainingSession_message] = useState(); + const [Getall_TrainingSession_result, setGetall_TrainingSession_result] = useState(); + function Getall_TrainingSession(event) { + + /* var form = new FormData(); + + + // Recuperation des parametres + var filtre1 = p_filtre1; + var filtre2 = p_filtre2; + + + var filtre1_value = ""; + var filtre2_value = ""; + var filtre3_value = ""; + // Recuperation des valeurs de filtres + + if (p_filtre1_value) { + filtre1_value = p_filtre1_value; + form.append(filtre1, filtre1_value); + } + + if (p_filtre2_value) { + filtre2_value = p_filtre2_value; + form.append(filtre2, filtre2_value); + } + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetAllValideSessionPartner_List/"; + + + // Verification s'il faut faire une recherche avec une option like. + //console.log(" p_filtre1 = ", p_filtre1, " filtre1_value = ", filtre1_value); + + if (p_filtre1_value || p_filtre2_value) { + myurl = process.env.REACT_APP_API_URL + "myclass/api/GetAllValideSessionPartner_List_filter_like/"; + } + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_TrainingSession res.data.status = " + res.data.status); + //console.log(" In Getall_TrainingSession res.data.message r_class = " + res.data.message); + setGetall_TrainingSession_api("true"); + setGetall_TrainingSession_result(res.data.message); + setRows(res.data.message); + } + else { + setGetall_TrainingSession_api("false"); + setGetall_TrainingSession_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_TrainingSession = ', error); + setGetall_TrainingSession_api("false"); + //setmyApimyApiMessage("") + })*/ + } + + const [nb_stagiaire_Inscrit, setnb_stagiaire_Inscrit] = useState("0"); + const hiddenFileInput_session = React.useRef(null); + const [Edite_session, setEdite_session] = useState(); + const [selectionModel_preinsc, setselectionModel_preinsc] = React.useState([]); + + const [selectionModel_insc, setSelectionModel_insc] = React.useState([]); + const [rowss_insc, setRows_insc] = useState([]); + const [rowss_preinsc, setRows_preinsc] = useState([]); + + + useEffect(() => { + Getall_TrainingParticipant(); + + let windowWidth = window.innerWidth; + if (windowWidth < 1001) { + setdatagrid_columns_size_model2(10); + } + + }, []) + + const [addOneParticipant, setaddOneParticipant] = useState(); + const status_inscription = [ + { + value: '1', + label: 'Inscription', + }, + { + value: '0', + label: 'PréInscription', + }, + + ]; + + // Cette fonction remplit la zone detail de la personne inscrite + const [GetAttendee_api, setGetAttendee_api] = useState(); + const [GetAttendee_message, setGetAttendee_message] = useState(); + const [GetAttendee_result, setGetAttendee_result] = useState(); + function GetAttendee_Data(attendee_email, session_id) { + clean_old_messages(); + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("session_id", session_id); + form.append("attendee_email", attendee_email); + form.append("internal_url", selected_internal_url); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetAttendeeDetail_perSession/"; + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === "true") { + //console.log(" In GetAttendee res.data.status = " + res.data.status); + //console.log(" In GetAttendee res.data.message r_class = " + res.data.message); + setGetAttendee_api("true"); + setGetAttendee_result(res.data.message); + var mylocalattendee = JSON.parse(res.data.message); + + + if (mylocalattendee.inscription_validation_date) { + var date_du = new Date(moment(mylocalattendee.inscription_validation_date, "DD/MM/YYYY HH:mm:ss")); + setdetailuser_date_inscription(date_du); + } + + + + document.getElementsByName("detail_nom")[0].value = ""; + if (mylocalattendee.nom) + document.getElementsByName("detail_nom")[0].value = mylocalattendee.nom; + + document.getElementsByName("detail_prenom")[0].value = ""; + if (mylocalattendee.prenom) + document.getElementsByName("detail_prenom")[0].value = mylocalattendee.prenom; + + document.getElementsByName("detail_mail")[0].value = ""; + if (mylocalattendee.email) { + document.getElementsByName("detail_mail")[0].value = mylocalattendee.email; + setattendee_lms_login(mylocalattendee.email); + } + + + document.getElementsByName("detail_tel")[0].value = ""; + if (mylocalattendee.telephone) { + document.getElementsByName("detail_tel")[0].value = mylocalattendee.telephone; + } + + document.getElementsByName("detail_adresse")[0].value = ""; + if (mylocalattendee.adresse) { + document.getElementsByName("detail_adresse")[0].value = mylocalattendee.adresse; + } + + document.getElementsByName("detail_code_postal")[0].value = ""; + if (mylocalattendee.code_postal) { + document.getElementsByName("detail_code_postal")[0].value = mylocalattendee.code_postal; + } + + document.getElementsByName("detail_ville")[0].value = ""; + if (mylocalattendee.ville) { + document.getElementsByName("detail_ville")[0].value = mylocalattendee.ville; + } + + + document.getElementsByName("detail_cout")[0].value = ""; + if (mylocalattendee.price) { + document.getElementsByName("detail_cout")[0].value = mylocalattendee.price; + } + + + document.getElementsByName("detail_mode_fin")[0].value = ""; + if (mylocalattendee.modefinancement) { + document.getElementsByName("detail_mode_fin")[0].value = mylocalattendee.modefinancement; + } + + + document.getElementsByName("detail_employeur")[0].value = ""; + if (mylocalattendee.employeur) { + document.getElementsByName("detail_employeur")[0].value = mylocalattendee.employeur; + } + + document.getElementsByName("date_evaluation")[0].value = ""; + if (mylocalattendee.eval_date) { + + var date_eval = new Date(moment(mylocalattendee.eval_date, "YYYY/MM/DD")); + setdetailuser_date_evaluation(date_eval); + } + + document.getElementsByName("date_evaluation")[0].value = ""; + if (mylocalattendee.certification_send_date) { + //alert(" certification_send_date = ", mylocalattendee.certification_send_date); + + var date_eval = new Date(moment(mylocalattendee.certification_send_date, "DD/MM/YYYY")); + setdetailuser_date_certification(date_eval); + } + + + + document.getElementsByName("note_eval")[0].value = ""; + if (mylocalattendee.eval_note) { + document.getElementsByName("note_eval")[0].value = mylocalattendee.eval_note; + } + + + if (mylocalattendee.eval_eval) { + setfield_evaluation(mylocalattendee.eval_eval); + + } + + if (mylocalattendee.lms_pwd) { + setattendee_lms_pwd("xxxxxx"); + } + + desableAttendeeDetailFields(); + var myelement; + + if (document.getElementById('ajout_participant')) { + myelement = document.getElementById('ajout_participant'); + } + + if (myelement) { + myelement.scrollIntoView({ behavior: 'smooth' }); + } + + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + + else { + setGetAttendee_api("false"); + setGetAttendee_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( GetAttendee = ', error); + setGetAttendee_api("false"); + //setmyApimyApiMessage("") + }) + } + + let [sessionChanged, setsessionChanged] = useState(false); + + function IssessionChanged() { + setsessionChanged(true); + } + + + + const [is_lms_class_code, setis_lms_class_code] = useState(); + + const [display_detail_insc, setdisplay_detail_insc] = React.useState(); + + const [selectedattendeeemail, setselectedattendeeemail] = useState([]) + function Display_Detail_Inscription(event, cellValues) { + clearDetailAttendeFields(); + setdisplay_detail_insc("1") + var montant = String(cellValues.row.amount); + var nom = cellValues.row.nom; + var email = cellValues.row.email; + setselectedattendeeemail(email); + var prenom = cellValues.row.prenom; + GetAttendee_Data(email, selected_code_session); + getStagiaireImages(selected_internal_url, selected_code_session, email,); + } + + const [getPartnerImages_api, setgetPartnerImages_api] = useState(); + const [getPartnerImages_message, setgetPartnerImages_message] = useState(); + const [getPartnerImages_result, setgetPartnerImages_result] = useState(); + function getStagiaireImages(local_internal_url, local_selected_code_session, local_email) { + var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedStagiaireImage_from_front/"; + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("class_internal_url", local_internal_url); + form.append("session_id", local_selected_code_session); + form.append("email", local_email); + + + axios.post(myurl, form).then(res => { + + //console.log(" getStagiaireImages : In test res.data.status = " + res.data.status); + // console.log(" getStagiaireImages: res.data.message.img = " + res.data.message); + + if (String(res.data.status) === "true") { + setgetPartnerImages_api("true"); + + if (JSON.parse(res.data.message).logo_img) { + var partner_logo_img = "data:image/png;base64," + JSON.parse(res.data.message).logo_img; + setisimgclassSelected(partner_logo_img); + setuserimgclassprofil(partner_logo_img); + setisimgclassSelected_recid(JSON.parse(res.data.message).logo_img_recid); + } + + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + return; + } + else { + setgetPartnerImages_api("false"); + setgetPartnerImages_message(res.data.message) + + } + }).catch((error) => { + console.warn('getStagiaireImages ee: Not good man :( = ', error); + setgetPartnerImages_api("false"); + setgetPartnerImages_message(" Impossible de recuperer les images/médias du partenaire") + }) + + } + + return (
-

Liste des stagiaires

+

Vos sessions des stagiaires

+
Utilisez les filtres !
+
+
+ { + setp_filtre1(e.target.value) + }} + > + + Code Session    + Titre Formation   + Nom participant   + + +
+ + + +
+ {p_filtre1 && + { setp_filtre1_value(e.target.value); }} + InputProps={{ + endAdornment: ( + + { + setp_filtre1_value(""); + }} /> + + ), + }} + + /> + + } +
+ {p_filtre1 && } + {p_filtre1 && } +
+ + {p_filtre2 && +
+
+ { + setp_filtre2(e.target.value) + }} + > + + Code externe formation    + Titre Formation   + Certifiée   + + +
+
+ {String(p_filtre2).length > 3 && + setp_filtre2_value(e.target.value)} + InputProps={{ + endAdornment: ( + + { + setp_filtre2_value(""); + }} /> + + ), + }} + + />} +
+ + {String(p_filtre2).length > 3 && } + + {String(p_filtre2).length > 3 && } + +
+ } + + + {p_filtre3 && +
+
+ { + setp_filtre3(e.target.value) + }} + > + + Code externe formation    + Titre Formation   + Certifiée   + + +
+
+ {String(p_filtre3).length > 3 && + setp_filtre3_value(e.target.value)} + InputProps={{ + endAdornment: ( + + { + setp_filtre3_value(""); + }} /> + + ), + }} + + />} +
+ + {String(p_filtre3).length > 3 && } +
+ } + {
+ +
+ +
+ +
+ + +
+ +
} + +
+
+ +
+
+ +
+   + + { + setSelectionModel(newSelectionModel); + if (newSelectionModel.length === 1) + handleClick_edit_session_From_Line(newSelectionModel); + }} + selectionModel={selectionModel} + + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={rowss.map((item, index) => ( + { + id: index, + class_internal_url: JSON.parse(item).class_internal_url, + session_id: JSON.parse(item).session_id, + email: JSON.parse(item).email, + nom: JSON.parse(item).nom, + prenom: JSON.parse(item).prenom, + employeur: JSON.parse(item).employeur, + status: JSON.parse(item).status, + title: JSON.parse(item).title, + distantiel: JSON.parse(item).distantiel, + presentiel: JSON.parse(item).presentiel, + domaine: JSON.parse(item).domaine, + date_debut: JSON.parse(item).date_du, + date_fin: JSON.parse(item).date_au, + + } + ))} + + columns={columns} + pageSize={10} + className="datagridclass" + + rowsPerPageOptions={[10]} + //disableSelectionOnClick + components={{ + Toolbar: GridToolbar, + }} + //sx={datagridSx} + getCellClassName={(params) => { + //field === 'distantiel' + if (params.field === 'distantiel' && String(params.value) === "1") { + return 'cell--distantiel'; + } + if (params.field === "presentiel" && String(params.value) == "1") { + return 'cell--presentiel'; + } + + + //field === "statut" + if (params.field === "status" && String(params.value) == "0") { + return 'cell--statut--preinscrit'; + } + + if (params.field === "status" && String(params.value) == "1") { + return 'cell--statut--inscrit'; + } + + if (params.field === "status" && String(params.value) == "-1") { + return 'cell--statut--annule'; + } + + }} + getRowClassName={(params) => { + + if (String(params.row.status) === "-1") { + return 'line--statut--annule'; + } + if (String(params.row.status) === "0") { + return 'line--statut--preinscrit'; + } + if (String(params.row.status) === "1") { + return 'line--statut--inscrit'; + } + }} + + + /> + +
+ +
+ +
+ +
+ +
+ +
+ + + + + + +
+ {session_file_name && } + {String(liste_sessions_file_change_api) === String("true") && } + {String(liste_sessions_file_change_api) === String("false") && } + + + + Télécharger un fichier modèle +
+
+
 
+
+ + + + +
+ {String(display_detail_stagaire) === "1" &&
+ + Affichier detail stagire +
+ +
+ + + + + + +
+ {session_file_name && } + {String(liste_sessions_file_change_api) === String("true") && } + {String(liste_sessions_file_change_api) === String("false") && } + + + + Télécharger un fichier modèle +
+
+ + {String(addOneParticipant) === "1" &&
+
Ajout d'un nouveau participant
+ +
Nom *
+ +
+ + +
Prenom *
+ +
+ +
Email *
+ +
+ +
téléphone *
+ +
+ +
Status Inscription *
+ + {status_inscription.map((option) => ( + + {option.label}  
+
+ ))} +
+
+ + + +
+   +
+ {
+ +
+ +
+ +
+ + +
+ +
} +
+   +
+ +
+ } +
} + + {String(display_detail_insc) === "1" && selected_code_session &&
+ + {String(GetAttendee_api) === "true" &&
+ + {String(Resend_LMS_Credentials_api) === "true" &&
+ Les identifiants de connexion ont été correctement envoyés
} + + + {String(Resend_LMS_Credentials_api) === "false" &&
+ {Resend_LMS_Credentials_message}
} + +
+ +
+
+ +
+
+
+ +
+
+
+ {} + + {/*isimgclassSelected && */} + {isimgclassdeleted && String(isimgclassdeleted) === "1" && } + {isimgclassdeleted && String(isimgclassdeleted) === "0" && } + {isimgclassSelected && String(isimgclassSaved) === "0" && } +
+ +
+
+
  • + L'image doit etre carrée. +
  • +
  • + Les formats autorisés sont : ['jpg', 'jpeg', 'png', 'jpe', 'webp'] +
  • +
  • + Les dimensions recommandées: 128pixels X 128pixels -- 144pixels X 144pixels -- 168pixels X 168pixels
    + Les dimensions maximales sont de 256pixels X 256pixels +
  • +
  • + La taille de l'image ne doit pas depasser 1 mega octet +
  • +
    + +
    +
    + +
    + +
    Nom
    + +
    + +
    Prenom
    + +
    + +
    Email
    + +
    + +
    Téléphone
    + +
    + + +
    Adresse
    + +
    +
    Code postal
    + +
    +
    Ville
    + +
    + + +
    + Date Inscription + +
    + + +
    Cout
    + +
    + + + +
    Mode Financement
    + +
    + + +
    Employeur
    + +
    + {is_lms_class_code &&
    +
    +
    +
    +
    + Acces LMS + +
    +
    +
    login LMS
    + +
    + +
    Mot de passe LMS
    + +
    +
    + + + +
    +
    +
    } +
    +
    +
    + +
    + Evaluation + +
    + +
    +
    + Date Evaluation + +
    + +
    Note Evaluation
    + +
    + +
    Evaluation
    + editorRef_evaluation.current = editor} + initialValue={field_evaluation} + onKeyUp={editor_keyup} + disabled={true} + + init={{ + resize: false, + + height: 100, + menubar: false, + plugins: [ + 'advlist autolink lists link image charmap print preview anchor', + 'searchreplace visualblocks code fullscreen', + 'insertdatetime media table paste code help wordcount' + ], + toolbar: false, + content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }' + }} + /> + + + +
    + + +
    + + +
    +   +
    + + {
    + +
    + + {String(SendEvaluationEmail_api) === "false" &&
    + {SendEvaluationEmail_message}
    } + + + {String(SendEvaluationEmail_api) === "true" &&
    + La demande d'evaluation ete envoyée par email
    } + + + + +
    + +
    + + + +
    + +
    } +
    +
    +
    + +
    + Attestation + +
    +
    + {detailuser_date_certification &&
    + Attestation delivrée le + +
    } + + {!detailuser_date_certification &&
    + Attestation NON délivrée encore + +
    } + +
    +
    +   +
    + + + + {
    + +
    + + + {String(SendAttendeeAttestation_api) === "true" && +
    + L'attestation a été bien envoyée par email +
    } + + {String(SendAttendeeAttestation_api) === "false" && +
    + {SendAttendeeAttestation_message} +
    } + + + {!detailuser_date_certification && } +
    + +
    + + + + + + +
    + +
    } +
    +   +
    + + +
    + + +
    + +
    } + + {String(GetAttendee_api) === "false" &&
    + {GetAttendee_message} +
    } + + +
    } + +
    + +
    ); } diff --git a/src/components/DisplayPartnerTrainingsPagination.js b/src/components/DisplayPartnerTrainingsPagination.js index 4e7df81..49ca6e6 100644 --- a/src/components/DisplayPartnerTrainingsPagination.js +++ b/src/components/DisplayPartnerTrainingsPagination.js @@ -107,7 +107,7 @@ const DistplayPartnerTraningsPage = (props) => { }) .then((data) => data.json()) .then((data) => { - //console.log('GetAllClass_WOfilter : Success:', data['message'], "data['status'] = ", data['status']); + console.log('GetAllClass_WOfilter : Success:', data['message'], "data['status'] = ", data['status']); setTableData(data['message']); setRows(data['message']); @@ -165,7 +165,7 @@ const DistplayPartnerTraningsPage = (props) => { }) .then((data) => data.json()) .then((data) => { - //console.log('Success:', data['message'], "data['status'] = ", data['status']); + console.log('Success:', data['message'], "data['status'] = ", data['status']); setTableData(data['message']); setRows(data['message']); if (String(data['status']) === String("false")) { @@ -256,7 +256,7 @@ const DistplayPartnerTraningsPage = (props) => { renderCell: (cellValues) => { return ( -
    } + +
     
    -
    + +
    + {String(myApiResponse) === "False" &&
    Impossible de traiter la demande
    } - {String(myApiResponse) === "True" && -
    - +   + + + { + setSelectionModel(newSelectionModel); + //console.log("ch selected--" + newSelectionModel); + }} + selectionModel={selectionModel} + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={rowss.map((item, index) => ( + + { + id: index, + internal_url: JSON.parse(item).internal_url, + zone_diffusion: JSON.parse(item).zone_diffusion_str, + external_code: JSON.parse(item).external_code, + title: parse((JSON.parse(item).title).replace(/(<([^>]+)>)/ig, '')), + domain: JSON.parse(item).domaine, + metier: JSON.parse(item).metier, + url: JSON.parse(item).url, + price: JSON.parse(item).price, + description: parse((JSON.parse(item).description).replace(/(<([^>]+)>)/ig, '')), + published: JSON.parse(item).published, + lms_class_code: JSON.parse(item).lms_class_code, + } + ))} + + + + columns={columns} + pageSize={10} + className="datagridclass" + + rowsPerPageOptions={[10]} + //disableSelectionOnClick + components={{ + Toolbar: GridToolbar, + }} + sx={datagridSx} + getCellClassName={(params) => { + if (params.field === 'published' && String(params.value) === "1") { + return 'cell--published'; + } + + if (params.field === "published" && String(params.value) !== "1") { + return 'cell--unpublished' + } }} - > - { - setSelectionModel(newSelectionModel); - //console.log("ch selected--" + newSelectionModel); - }} - selectionModel={selectionModel} - localeText={frFR.components.MuiDataGrid.defaultProps.localeText} - rows={rowss.map((item, index) => ( + getRowClassName={(params) => { + if (String(params.row.published) === "1") { + return 'line--published'; + } - { - id: index, - internal_url: JSON.parse(item).internal_url, - zone_diffusion: JSON.parse(item).zone_diffusion_str, - external_code: JSON.parse(item).external_code, - title: parse((JSON.parse(item).title).replace(/(<([^>]+)>)/ig, '')), - domain: JSON.parse(item).domaine, - metier: JSON.parse(item).metier, - url: JSON.parse(item).url, - price: JSON.parse(item).price, - description: parse((JSON.parse(item).description).replace(/(<([^>]+)>)/ig, '')), - published: JSON.parse(item).published, - lms_class_code: JSON.parse(item).lms_class_code, - } - ))} + if (String(params.row.published) !== "1") { + return 'line--unpublished'; + } + }} + + /> + - - columns={columns} - pageSize={10} - className="datagridclass" - - rowsPerPageOptions={[10]} - //disableSelectionOnClick - components={{ - Toolbar: GridToolbar, - }} - sx={datagridSx} - getCellClassName={(params) => { - if (params.field === 'published' && String(params.value) === "1") { - return 'cell--published'; - } - - if (params.field === "published" && String(params.value) !== "1") { - return 'cell--unpublished' - } - - }} - getRowClassName={(params) => { - if (String(params.row.published) === "1") { - return 'line--published'; - } - - if (String(params.row.published) !== "1") { - return 'line--unpublished'; - } - }} - - /> - - - -
    } +
    }

    diff --git a/src/components/Inscription_Information.js b/src/components/Inscription_Information.js index 60d5f03..0b4423e 100644 --- a/src/components/Inscription_Information.js +++ b/src/components/Inscription_Information.js @@ -37,8 +37,8 @@ function Inscription_Information(props) { const [action, setaction] = useState(props.action); const [class_internal_url, setclass_internal_url] = useState(props.internal_url); - ; - + ; + const modefinancement = [ { value: 'cpf', @@ -285,10 +285,10 @@ function Inscription_Information(props) { useEffect(() => { - + if (String(props.action).toLocaleLowerCase() !== "inscription" && String(props.action).toLocaleLowerCase() !== "information") { - + CheckEvaluationToken(); setclass_sales_price(props.trainig_price); @@ -297,7 +297,7 @@ function Inscription_Information(props) { GetCurrentClass_trainingsession(); GetListOpco(); - + }, []); @@ -662,6 +662,7 @@ function Inscription_Information(props) { String(action).toLocaleLowerCase() === "inscription" && String(AnnulerFction_status) !== "1" &&
    +   :not(style)': { m: 1 }, width: '100%', }}> {String(RecordData_status) === "false" &&
    {RecordData_message} @@ -683,11 +684,11 @@ function Inscription_Information(props) { -