From 8cf4732467a57c1d616c678df440bfedf43ada04 Mon Sep 17 00:00:00 2001 From: Cherif Date: Mon, 9 Feb 2026 20:11:16 +0100 Subject: [PATCH] 09/02/2026 --- src/components/Abonnement.js | 4 +- src/components/AddClassManual.js | 12 +- src/components/Apprenant.js | 17 +- src/components/Apprenant_ARG.js | 14 +- src/components/ArticleComment.js | 2 +- src/components/Autre_RH.js | 28 +- src/components/CheckOut.js | 4 +- src/components/Config_Champs_Personnalise.js | 7 +- src/components/Config_Document.js | 7 +- src/components/Config_Document_Super_Admin.js | 7 +- .../Config_Ref_Pedagogique_Ftion_Initiale.js | 457 + src/components/Conseil_Classe.js | 14 +- src/components/Crm_Opportunite.js | 7 +- src/components/Dashbord_Inscription.js | 7 +- .../Dashbord_Ressources_Humaines.js | 14 +- ...ashbord_Ressources_Humaines_Tache_Couts.js | 7 +- ...hbord_Ressources_Humaines_Tache_by_rhid.js | 7 +- src/components/DisplayPartnerPromotion.js | 173 +- src/components/DisplayPartnerPromotion_ARG.js | 84 +- src/components/DisplayPartnerSession.js | 176 +- src/components/DisplayPartnerSession_ARG.js | 84 +- src/components/DisplayPartnerStagiaires.js | 38 +- .../DisplayPartnerStagiaires_ARG.js | 35 +- .../DisplayPartnerUnite_Enseignement.js | 14 +- src/components/Employes.js | 31 +- src/components/Employes_ARG.js | 28 +- src/components/Equipe_Team.js | 14 +- src/components/Groupe_Apprenant.js | 14 +- src/components/Intranet_Commande_Devis.js | 14 +- src/components/Intranet_Factures_Client.js | 14 +- src/components/Intranet_Mes_Stagiaires.js | 21 +- src/components/Jurys.js | 14 +- src/components/Jurys_Admission.js | 14 +- src/components/Materiel_Salle.js | 21 +- src/components/Materiels.js | 35 +- src/components/Module_Absence.js | 7 +- src/components/Module_Actvitie_Pedagogique.js | 2824 ++ .../Module_Admission_Candidat_Document.js | 3 +- .../Module_Admission_Candidat_Synthese.js | 132 +- .../Module_Attestation_Formation.js | 7 +- src/components/Module_Editique.js | 4 +- .../Module_Ent_Internal_Email_Management.js | 7 +- src/components/Module_Ent_Mes_Formations.js | 14 +- src/components/Module_Ent_Mes_Notes.js | 7 +- src/components/Module_Ent_Message_Public.js | 7 +- .../Module_Evaluation_Positionnement.js | 7 +- src/components/Module_Historique_Action.js | 2 +- .../Module_Internal_Email_Management.js | 7 +- ...tranet_Client_Internal_Email_Management.js | 7 +- .../Module_Jury_Admission_Detail_Examen.js | 7 +- .../Module_Jury_Selection_Apprenants.js | 7 +- .../Module_Plateform_Admin_Partners.js | 2345 ++ .../Module_Pole_Actvitie_Pedagogique.js | 2720 ++ src/components/Module_RH_Tutorat.js | 17 +- src/components/Module_Selection_Apprenants.js | 7 +- .../Module_Selection_Evaluation_Apprenants.js | 7 +- .../Module_Session_Notes_Classement.js | 21 +- src/components/Module_Tache_Pedagogique.js | 1118 + src/components/Modules_Mes_Documents.js | 14 +- src/components/Mon_Catalogue_Public.js | 2 +- src/components/Mon_Tableau_De_Bord.js | 14 +- src/components/Notes_Evaluation.js | 14 +- .../DisplayPartnerPromotion.js | 27838 --------------- .../PROD_FRONT_CODE/DisplayPartnerSession.js | 28538 --------------- .../DisplayPartnerPromotion.js | 27835 --------------- .../DisplayPartnerSession.js | 28540 ---------------- .../Partner_Config_Technique.js | 6668 ---- .../Partner_Facture.js | 4878 --- src/components/Partner.js | 147 +- ...artner_Admission_Process_Ftion_Initiale.js | 5 +- src/components/Partner_Commande.js | 14 +- src/components/Partner_Config_Formulaires.js | 21 +- .../Partner_Config_Session_Steps.js | 13 +- src/components/Partner_Config_Technique.js | 70 +- .../Partner_Domaine_Categorie_Metier.js | 21 +- src/components/Partner_Facture.js | 14 +- src/components/Partner_Invoicing_Data.js | 443 +- src/components/Partner_Prix_Achat.js | 7 +- src/components/Partner_Product_Service.js | 7 +- src/components/Partner_Securite_Data.js | 799 +- src/components/Session_Admission_FI.js | 24 +- src/components/UpdateAttendeeList.js | 7 +- src/components/UpdatePartnerInfo.js | 2 +- src/components/UpdatePartnerInfo_v2.js | 7604 ++++ src/components/UpdatePartnerInfo_v2_ARG.js | 6514 ++++ src/components/UserHistoryRecherche.js | 4 +- .../new_marketplace_2025.js | 2 +- .../warning_account_png.png | Bin 0 -> 4410 bytes ..._admission_pedagogique_ftion_initiale.scss | 2529 ++ .../components/_displaypartnerstagiaire.scss | 6 +- .../_module_activite_pedagogique.scss | 2857 ++ .../_module_pole_activite_pedagogique.scss | 2857 ++ .../_module_referentiel_pedagogique.scss | 2857 ++ .../components/_module_tache_pedagogique.scss | 2857 ++ src/styles/components/_updateparnterinfo.scss | 60 +- src/styles/index.scss | 5 + 96 files changed, 39814 insertions(+), 124996 deletions(-) create mode 100644 src/components/Config_Ref_Pedagogique_Ftion_Initiale.js create mode 100644 src/components/Module_Actvitie_Pedagogique.js create mode 100644 src/components/Module_Plateform_Admin_Partners.js create mode 100644 src/components/Module_Pole_Actvitie_Pedagogique.js create mode 100644 src/components/Module_Tache_Pedagogique.js delete mode 100644 src/components/PROD_FRONT_CODE/DisplayPartnerPromotion.js delete mode 100644 src/components/PROD_FRONT_CODE/DisplayPartnerSession.js delete mode 100644 src/components/PROD_FRONT_CODE_12122025/DisplayPartnerPromotion.js delete mode 100644 src/components/PROD_FRONT_CODE_12122025/DisplayPartnerSession.js delete mode 100644 src/components/PROD_FRONT_CODE_12122025/Partner_Config_Technique.js delete mode 100644 src/components/PROD_FRONT_CODE_12122025/Partner_Facture.js create mode 100644 src/components/UpdatePartnerInfo_v2.js create mode 100644 src/components/UpdatePartnerInfo_v2_ARG.js create mode 100644 src/img_new_design_2025/warning_account_png.png create mode 100644 src/styles/components/_admission_pedagogique_ftion_initiale.scss create mode 100644 src/styles/components/_module_activite_pedagogique.scss create mode 100644 src/styles/components/_module_pole_activite_pedagogique.scss create mode 100644 src/styles/components/_module_referentiel_pedagogique.scss create mode 100644 src/styles/components/_module_tache_pedagogique.scss diff --git a/src/components/Abonnement.js b/src/components/Abonnement.js index a4e99f7..bd1de32 100644 --- a/src/components/Abonnement.js +++ b/src/components/Abonnement.js @@ -1636,7 +1636,7 @@ function Abonnement(props) { Titulaire du compte : {JSON.parse(payment).nom_compte} } @@ -1652,7 +1652,7 @@ function Abonnement(props) { Titulaire de la carte : {JSON.parse(payment).nom_carte} } diff --git a/src/components/AddClassManual.js b/src/components/AddClassManual.js index 105d5ea..78ca361 100644 --- a/src/components/AddClassManual.js +++ b/src/components/AddClassManual.js @@ -7327,9 +7327,10 @@ const AddClassManual = (props) => { paddingLeft: '5px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#dfe8f2", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily:'DM Sans', }, @@ -7497,7 +7498,7 @@ const AddClassManual = (props) => { "& .MuiDataGrid-columnHeaders": { backgroundColor: "#c8cfd5", color: "#0a2a4d", - fontSize: 14 + fontSize: 14, }, @@ -8693,9 +8694,10 @@ const AddClassManual = (props) => { paddingLeft: '5px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#dfe8f2", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily:'DM Sans', }, diff --git a/src/components/Apprenant.js b/src/components/Apprenant.js index 945b753..a41f227 100644 --- a/src/components/Apprenant.js +++ b/src/components/Apprenant.js @@ -7471,9 +7471,10 @@ const Apprenant = (props) => { }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, @@ -10889,9 +10890,10 @@ const Apprenant = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, @@ -11061,12 +11063,11 @@ const local_css = ` border-top-right-radius: 10px; border-top-left-radius: 10px; text-align: center; - letter-spacing: 1px; - font-size: small; font-family: DM Sans; font-weight: 700; height: 2rem; padding-top: 5px; + font-size: 15px; } .Grid_2_col_sub_colone_bottom_menu{ diff --git a/src/components/Apprenant_ARG.js b/src/components/Apprenant_ARG.js index de4bc5c..a53b89f 100644 --- a/src/components/Apprenant_ARG.js +++ b/src/components/Apprenant_ARG.js @@ -7471,9 +7471,10 @@ const Apprenant_ARG = (props) => { }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, @@ -10848,9 +10849,10 @@ const Apprenant_ARG = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, diff --git a/src/components/ArticleComment.js b/src/components/ArticleComment.js index 1dd9eef..62e3428 100644 --- a/src/components/ArticleComment.js +++ b/src/components/ArticleComment.js @@ -11,7 +11,7 @@ const ArticleComment = (props) => {
{String(props.articelcomment.sender_mail).split('@')[0]}
- {(String(props.articelcomment.date_update)).substring(0, 16)} + {(String(props.articelcomment.update_date)).substring(0, 16)}
diff --git a/src/components/Autre_RH.js b/src/components/Autre_RH.js index 50fcc79..9fdb3e6 100644 --- a/src/components/Autre_RH.js +++ b/src/components/Autre_RH.js @@ -8615,9 +8615,10 @@ const Autre_RH = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { @@ -9781,9 +9782,10 @@ const Autre_RH = (props) => { width: '100%', paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, @@ -10342,9 +10344,10 @@ const Autre_RH = (props) => { width: '100%', paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, }} > @@ -10413,9 +10416,10 @@ const Autre_RH = (props) => { width: '100%', paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, }} > diff --git a/src/components/CheckOut.js b/src/components/CheckOut.js index e389892..dba7495 100644 --- a/src/components/CheckOut.js +++ b/src/components/CheckOut.js @@ -1841,7 +1841,7 @@ function CheckOut(props) { Titulaire du compte : {JSON.parse(payment).nom_compte}
  • - Dernière mise à jour : {(JSON.parse(payment).date_update).substring(0, 10)} + Dernière mise à jour : {(JSON.parse(payment).update_date).substring(0, 10)}
  • } @@ -1858,7 +1858,7 @@ function CheckOut(props) { Titulaire de la carte : {JSON.parse(payment).nom_carte}
  • - Dernière mise à jour : {(JSON.parse(payment).date_update).substring(0, 10)} + Dernière mise à jour : {(JSON.parse(payment).update_date).substring(0, 10)}
  • } diff --git a/src/components/Config_Champs_Personnalise.js b/src/components/Config_Champs_Personnalise.js index 214b756..2a455a4 100644 --- a/src/components/Config_Champs_Personnalise.js +++ b/src/components/Config_Champs_Personnalise.js @@ -1495,9 +1495,10 @@ const Config_Champs_Personnalise = (props) => { paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Config_Document.js b/src/components/Config_Document.js index 899fd4d..9f5fe28 100644 --- a/src/components/Config_Document.js +++ b/src/components/Config_Document.js @@ -2656,9 +2656,10 @@ const Config_Documents = (props) => { "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Config_Document_Super_Admin.js b/src/components/Config_Document_Super_Admin.js index 6efce7b..6a519bd 100644 --- a/src/components/Config_Document_Super_Admin.js +++ b/src/components/Config_Document_Super_Admin.js @@ -2527,9 +2527,10 @@ const Config_Documents_Super_Admin = (props) => { "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Config_Ref_Pedagogique_Ftion_Initiale.js b/src/components/Config_Ref_Pedagogique_Ftion_Initiale.js new file mode 100644 index 0000000..51813bf --- /dev/null +++ b/src/components/Config_Ref_Pedagogique_Ftion_Initiale.js @@ -0,0 +1,457 @@ +import React, { useRef, useState, useEffect } from "react"; +import TextField from '@mui/material/TextField'; +import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css +import Button from '@mui/material/Button'; +import axios from "axios"; +import { FcInfo } from "react-icons/fc"; +import { getCookie, setCookie } from 'react-use-cookie'; +import { useHistory } from "react-router-dom"; +import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; +import Autocomplete from '@mui/material/Autocomplete'; +import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; +import 'react-tooltip/dist/react-tooltip.css' +import { Tooltip } from 'react-tooltip' +import Popup from 'reactjs-popup'; +import 'reactjs-popup/dist/index.css'; +import "react-datepicker/dist/react-datepicker.css"; +import Box from '@mui/material/Box'; +import { CiTrash } from "react-icons/ci"; +import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; +import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5"; +import Link from '@mui/material/Link'; +import { PiDotsThree } from "react-icons/pi"; +import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; +import ColorPicker from 'react-pick-color'; +import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; +import Paper from '@material-ui/core/Paper'; +import Draggable from 'react-draggable'; +import { makeStyles } from "@material-ui/core/styles"; +import { IconButton } from '@material-ui/core'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import TextareaAutosize from '@mui/material/TextareaAutosize'; + +import Module_Tache_Pedagogique from "./Module_Tache_Pedagogique"; +import Module_Actvitie_Pedagogique from "./Module_Actvitie_Pedagogique"; +import Module_Pole_Actvitie_Pedagogique from "./Module_Pole_Actvitie_Pedagogique"; + + +function PaperComponent(props) { + return ( + + + + ); +} + +const useStyles = makeStyles((theme) => ({ + + dialog: { + position: 'absolute', + // left: 10, + top: 400 + }, + + paper: { + overflowY: 'unset', + }, + customizedButton: { + position: 'absolute', + left: '98%', + top: '-3%', + backgroundColor: 'lightgray', + color: 'gray', + }, +})); + +const Config_Ref_Pedagogique_Ftion_Initiale = (props) => { + const classes = useStyles(); + const history = useHistory(); + const [submenu, setsubmenu] = useState("type_eval"); + const [rowss, setRows] = useState([]); + + const [selectionModel_etape, setselectionModel_etape] = React.useState([]); + + const [selectionModel_critere, setselectionModel_critere] = React.useState([]); + + const [selectionModel, setselectionModel] = React.useState([]); + + const [selectionModel_type_eval, setselectionModel_type_eval] = React.useState([]); + + const [selectionModel_referentiel_padagogique, setselectionModel_referentiel_padagogique] = React.useState([]); + var date_today_90j = new Date(); + date_today_90j.setDate(date_today_90j.getDate() + 90); + + function ExpandableCell_50({ value }) { + const [expanded, setExpanded] = React.useState(false); + + return ( + + ); + } + + + + + 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 [p_filtre4, setp_filtre4] = useState(); + const [p_filtre4_value, setp_filtre4_value] = useState(); + + const [isLoading, setLoading] = useState(); + + + + function submenu_tache_padagogique() { + // Getall_Parter_referentiel_padagogique(); + setsubmenu("tache_padagogique"); + submenu_color_management("tache_padagogique"); + } + + function submenu_activite_padagogique() { + // Getall_Parter_referentiel_padagogique(); + setsubmenu("activite_padagogique"); + submenu_color_management("activite_padagogique"); + } + + + function submenu_pole_activite_padagogique() { + // Getall_Parter_referentiel_padagogique(); + setsubmenu("pole_activite_padagogique"); + submenu_color_management("pole_activite_padagogique"); + } + + + function submenu_referentiel_padagogique() { + // Getall_Parter_referentiel_padagogique(); + setsubmenu("referentiel_padagogique"); + submenu_color_management("referentiel_padagogique"); + } + + + function submenu_color_management(current_menu) { + const list_sous_menu = ["referentiel_padagogique", "pole_activite_padagogique", "activite_padagogique", "tache_padagogique",] + + for (let i = 0; i < list_sous_menu.length; i++) { + + var sous_menu = list_sous_menu[i]; + if (String(sous_menu) !== current_menu) { + if (document.getElementById(sous_menu)) { + document.getElementById(sous_menu).style.backgroundColor = "#d8edfc"; + document.getElementById(sous_menu).style.color = "black"; + document.getElementById(sous_menu).style.fontWeight = "normal"; + } + } + + + + } + + if (document.getElementById(current_menu)) { + document.getElementById(current_menu).style.backgroundColor = "#107758"; + document.getElementById(current_menu).style.color = "white"; + document.getElementById(current_menu).style.fontWeight = "bold"; + } + + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + + const myRef_head = useRef(null); + + useEffect(() => { + + window.scrollTo({ + top: 0, + behavior: "smooth", + }); + + }, []) + + + + function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); + } + + async function Enable_process_admin_DetailFields() { + await sleep(10); + + + if (document.getElementsByName("detail_config_code")[0]) { + document.getElementsByName("detail_config_code")[0].disabled = false; + document.getElementsByName("detail_config_code")[0].style.backgroundColor = "#FFFFFF"; + } + + + if (document.getElementsByName("detail_config_desc")[0]) { + document.getElementsByName("detail_config_desc")[0].disabled = false; + document.getElementsByName("detail_config_desc")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_config_comment")[0]) { + document.getElementsByName("detail_config_comment")[0].disabled = false; + document.getElementsByName("detail_config_comment")[0].style.backgroundColor = "#FFFFFF"; + } + + } + + + async function Disable_process_admin_DetailFields() { + await sleep(10); + + + if (document.getElementsByName("detail_config_code")[0]) { + document.getElementsByName("detail_config_code")[0].disabled = true; + document.getElementsByName("detail_config_code")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_config_desc")[0]) { + document.getElementsByName("detail_config_desc")[0].disabled = true; + document.getElementsByName("detail_config_desc")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_config_comment")[0]) { + document.getElementsByName("detail_config_comment")[0].disabled = true; + document.getElementsByName("detail_config_comment")[0].style.backgroundColor = "#ECEFF1"; + } + + + } + + + + + + const myRef = useRef(null) + + + const [add_process_admin, setadd_process_admin] = useState(""); + + + const New_Option_Type_Document = [ + { "id": "pdf", "label": "pdf", "value": "pdf" }, + { "id": "png", "label": "png", "value": "png" }, + { "id": "jpg", "label": "jpg", "value": "jpg" }, + { "id": "jpeg", "label": "jpeg", "value": "jpeg" }, + { "id": "webp", "label": "webp", "value": "webp" }, + { "id": "", "label": "", "value": "" }, + + ] + + + const [display_alert_mysy, setdisplay_alert_mysy] = useState(""); + const [alert_message, setalert_message] = useState(""); + const [alert_type, setalert_type] = useState(""); + + function clear_alert_message() { + setalert_message(""); + } + function clear_alert_type() { + setalert_type(""); + } + + function clear_display_alert_mysy() { + setdisplay_alert_mysy(""); + } + + + + + + return ( +
    + {isLoading &&
    +
    +
    } + {/*** Affichage des messages d'alerte*/} + {display_alert_mysy && String(display_alert_mysy) === "1" && + + } + {/*** FIN Affichage des messages d'alerte*/} + + + + + + + +

    Réferentiels pédagogiques

    + +
    + + + + +
    + + + {submenu && submenu === "tache_padagogique" &&
    + + + +
    } + + + {submenu && submenu === "activite_padagogique" &&
    + + + +
    } + + {submenu && submenu === "pole_activite_padagogique" &&
    + + + +
    } + + {submenu && submenu === "referentiel_padagogique" &&
    + + referentiel_padagogique + +
    } + + + +
    + ) +} + + +export default Config_Ref_Pedagogique_Ftion_Initiale; + + +const local_css = ` +:root { + --bg: #f6f8fb; + --card: #ffffff; + --text: #0f172a; + --muted: #64748b; + --border: #e5e7eb; + --shadow: 0 10px 25px rgba(2, 6, 23, .06); + --green-700: #0f6b53; + --green-600: #167a5e; + --green-100: #e9f7f1; + --blue-600: #2563eb; + --radius: 14px; + --radius-sm: 10px; +} + .Grid_2_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1.2fr 1fr; + gap: 14px; +} + +.Grid_2_col_sub_colone { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 14px; + box-shadow: 0 6px 18px rgba(2,6,23,.04); + padding: 0px; + display: flex; + flex-direction: column; + gap: 14px; +} + + +.Grid_2_col_sub_colone_header { + background: #dbeafe; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + text-align: center; + font-family: DM Sans; + font-weight: 700; + height: 2rem; + padding-top: 5px; + font-size: 15px; +} + +.Grid_2_col_sub_colone_bottom_menu{ + +} + +.card__header{ +background: #e2e8f0; + font-size: small; + text-align: center; +} + +.card__title{ + display:flex; + align-items:center; + gap: 10px; +} + +.card__icon{ + width: 34px; + height: 34px; + display:grid; + place-items:center; + border-radius: 12px; + background:#eff6ff; + border:1px solid #dbeafe; +} + +.card__header h2{ + margin:0; + font-size: 15px; + letter-spacing: -0.01em; +} + +.card__actions{ display:flex; align-items:center; gap:8px; } + +.block_detail_action{ +width: 100%; + float: left; + background: #fafafa; + padding: 10px; + border: unset; + border-radius: 10px; + } +`; diff --git a/src/components/Conseil_Classe.js b/src/components/Conseil_Classe.js index 5359bcd..8921dda 100644 --- a/src/components/Conseil_Classe.js +++ b/src/components/Conseil_Classe.js @@ -8485,9 +8485,10 @@ const Conseil_Classe = (props) => { "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { @@ -10516,9 +10517,10 @@ const Conseil_Classe = (props) => { }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Crm_Opportunite.js b/src/components/Crm_Opportunite.js index 8d979d2..ad872ea 100644 --- a/src/components/Crm_Opportunite.js +++ b/src/components/Crm_Opportunite.js @@ -2453,9 +2453,10 @@ const CRM_Opportunite = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { backgroundColor: '#e9f7f1', diff --git a/src/components/Dashbord_Inscription.js b/src/components/Dashbord_Inscription.js index e820ae2..0e30789 100644 --- a/src/components/Dashbord_Inscription.js +++ b/src/components/Dashbord_Inscription.js @@ -546,9 +546,10 @@ registerLocale('fr', fr); "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Dashbord_Ressources_Humaines.js b/src/components/Dashbord_Ressources_Humaines.js index 9c12799..1c63b15 100644 --- a/src/components/Dashbord_Ressources_Humaines.js +++ b/src/components/Dashbord_Ressources_Humaines.js @@ -716,9 +716,10 @@ const Dashbord_Ressources_Humaines = (props) => { paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { @@ -912,9 +913,10 @@ const Dashbord_Ressources_Humaines = (props) => { paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Dashbord_Ressources_Humaines_Tache_Couts.js b/src/components/Dashbord_Ressources_Humaines_Tache_Couts.js index bc3734f..52f8837 100644 --- a/src/components/Dashbord_Ressources_Humaines_Tache_Couts.js +++ b/src/components/Dashbord_Ressources_Humaines_Tache_Couts.js @@ -620,9 +620,10 @@ registerLocale('fr', fr); paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Dashbord_Ressources_Humaines_Tache_by_rhid.js b/src/components/Dashbord_Ressources_Humaines_Tache_by_rhid.js index 71ee33b..8684cac 100644 --- a/src/components/Dashbord_Ressources_Humaines_Tache_by_rhid.js +++ b/src/components/Dashbord_Ressources_Humaines_Tache_by_rhid.js @@ -597,9 +597,10 @@ registerLocale('fr', fr); paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/DisplayPartnerPromotion.js b/src/components/DisplayPartnerPromotion.js index b2ad81d..6d39ff4 100644 --- a/src/components/DisplayPartnerPromotion.js +++ b/src/components/DisplayPartnerPromotion.js @@ -20939,9 +20939,10 @@ const DisplayPartnerPromotion = (props) => { color: 'white', }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#dfe8f2", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--invoiced': { @@ -21244,9 +21245,10 @@ const DisplayPartnerPromotion = (props) => { color: 'white', }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#dfe8f2", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--invoiced': { @@ -21435,9 +21437,10 @@ const DisplayPartnerPromotion = (props) => { color: 'white', }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#dfe8f2", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--invoiced': { @@ -21634,9 +21637,10 @@ const DisplayPartnerPromotion = (props) => { color: 'white', }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#dfe8f2", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--invoiced': { @@ -21961,9 +21965,10 @@ const DisplayPartnerPromotion = (props) => { color: 'white', }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#dfe8f2", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--invoiced': { @@ -22255,9 +22260,10 @@ const DisplayPartnerPromotion = (props) => { color: 'white', }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#dfe8f2", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--invoiced': { @@ -22445,9 +22451,10 @@ const DisplayPartnerPromotion = (props) => { color: 'white', }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#dfe8f2", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--invoiced': { @@ -25447,9 +25454,10 @@ const DisplayPartnerPromotion = (props) => { }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#dfe8f2", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily: 'DM Sans', }, @@ -25625,15 +25633,32 @@ const DisplayPartnerPromotion = (props) => { @@ -4330,13 +4331,14 @@ registerLocale('fr', fr); width: '100%', paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#d2e5f4", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--selected': { - backgroundColor: '#e9f7f1', + backgroundColor: '#e9f7f1', color: '#0a2a4d', }, '& .line--statut--pair': { @@ -4433,7 +4435,7 @@ registerLocale('fr', fr);
    - {String(props.check_user_acces_right("materiel", "write")) === "1" &&
    } - {String(props.check_user_acces_right("materiel", "write")) === "1" && String(edite_affectation_form) !== "1" &&
    + {String(props.check_user_acces_right("materiel", "write")) === "1" && String(edite_affectation_form) !== "1" &&
    @@ -4989,13 +4991,14 @@ registerLocale('fr', fr); width: '100%', paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#d2e5f4", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--selected': { - backgroundColor: '#e9f7f1', + backgroundColor: '#e9f7f1', color: '#0a2a4d', }, '& .line--statut--pair': { diff --git a/src/components/Module_Absence.js b/src/components/Module_Absence.js index 0482bc3..79e17e1 100644 --- a/src/components/Module_Absence.js +++ b/src/components/Module_Absence.js @@ -1244,9 +1244,10 @@ registerLocale('fr', fr); } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, }} diff --git a/src/components/Module_Actvitie_Pedagogique.js b/src/components/Module_Actvitie_Pedagogique.js new file mode 100644 index 0000000..0989482 --- /dev/null +++ b/src/components/Module_Actvitie_Pedagogique.js @@ -0,0 +1,2824 @@ +import React, { useRef, useState, useEffect } from "react"; +import TextField from '@mui/material/TextField'; +import { FcViewDetails, FcDisapprove } from "react-icons/fc"; +import { FcInfo } from "react-icons/fc"; +import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css +import Button from '@mui/material/Button'; +import axios from "axios"; +import { getCookie, setCookie } from 'react-use-cookie'; +import { useHistory } from "react-router-dom"; +import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; +import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; +import 'react-tooltip/dist/react-tooltip.css' +import Popup from 'reactjs-popup'; +import 'reactjs-popup/dist/index.css'; +import fr from 'date-fns/locale/fr'; +import { registerLocale } from 'react-datepicker'; +import "react-datepicker/dist/react-datepicker.css"; +import 'moment/locale/fr'; +import Box from '@mui/material/Box'; +import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; +import Autocomplete from '@mui/material/Autocomplete'; +import { gridClasses } from '@mui/x-data-grid'; +import Link from '@mui/material/Link'; +import { PiDotsThree } from "react-icons/pi"; +import { FcAcceptDatabase, } from "react-icons/fc"; +import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank'; +import CheckBoxIcon from '@mui/icons-material/CheckBox'; + +import { CiTrash } from "react-icons/ci"; +import { IoAddCircleOutline } from "react-icons/io5"; +import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; +import { makeStyles } from "@material-ui/core/styles"; +import Paper from '@material-ui/core/Paper'; +import Draggable from 'react-draggable'; +import { IconButton } from '@material-ui/core'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import 'react-tooltip/dist/react-tooltip.css' +import { Tooltip } from 'react-tooltip' +import TextareaAutosize from '@mui/material/TextareaAutosize'; +import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; +import { FaComment } from "react-icons/fa6"; + +const useStyles = makeStyles((theme) => ({ + + dialog: { + position: 'absolute', + // left: 10, + top: 400 + }, + + paper: { + overflowY: 'unset', + }, + customizedButton: { + position: 'absolute', + left: '98%', + top: '-3%', + backgroundColor: 'lightgray', + color: 'gray', + }, +})); + +function PaperComponent(props) { + return ( + + + + ); +} + + + +const Module_Actvitie_Pedagogique = (props) => { + const classes = useStyles(); + const history = useHistory(); + const [submenu, setsubmenu] = useState(""); + const [rowss, setRows] = useState([]); + + + var date_today_90j = new Date(); + date_today_90j.setDate(date_today_90j.getDate() + 90); + + const [mouse_x, setmouse_x] = useState(""); + const [mouse_y, setmouse_y] = useState(""); + + const [p_filtre1, setp_filtre1] = useState("Inscrit "); + const [p_filtre1_value, setp_filtre1_value] = useState(""); + + const [p_filtre2, setp_filtre2] = useState("Type de groupe"); + const [p_filtre2_value, setp_filtre2_value] = useState(""); + + const [p_filtre3, setp_filtre3] = useState(""); + const [p_filtre3_value, setp_filtre3_value] = useState(""); + + const [p_filtre4, setp_filtre4] = useState(""); + const [p_filtre4_value, setp_filtre4_value] = useState(""); + + const [selectionModel, setSelectionModel] = React.useState([]); + + const [selectionModel_taches_with_code, setselectionModel_taches_with_code] = React.useState([]); + + function ExpandableCell_50({ value }) { + const [expanded, setExpanded] = React.useState(false); + + return ( + + ); + } + + const [selected_id, setselected_id] = useState(""); + + const [gridline_id, setgridline_id] = useState(""); + + const [gridline_tache_id, setgridline_tache_id] = useState(""); + + const [selected_tache_pedago_to_add_id, setselected_tache_pedago_to_add_id] = useState(""); + const [selected_tache_pedago_to_add_rang, setselected_tache_pedago_to_add_rang] = useState("0"); + const [selected_tache_pedago_to_add_oblig, setselected_tache_pedago_to_add_oblig] = useState("0"); + + + const columns = [ + { field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, }, + { field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, }, + { field: 'code', headerName: 'Code', flex: 1, hide: false, maxWidth: 180, renderCell: (params) => , }, + { field: 'description', headerName: 'Description', flex: 1, hide: false, minWidth: 200, renderCell: (params) => , }, + + { + field: 'commentaire', headerName: 'Commentaire', flex: 1, maxWidth: 250, renderCell: (params) => , + + }, + + + + { + field: "delete", headerName: 'Supprimer', + renderCell: (cellValues) => { + return ( + <> + { + // handleClick_delete(event, cellValues); + }} + > + + + } + modal + nested + position="center center" + > + {close => ( +
    + +
    MySy Information
    +
    + {' '} + + En confirmant cette opération, l'activité sera définitivement supprimée.
    + +
    +
    +
    + + +
    +
    + +
    +
    +
    + )} +
    + + + + ); + } + } + + ] + + const column_taches_with_code = [ + { field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, }, + { field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, }, + { field: 'code', headerName: 'Code', flex: 1, hide: false, maxWidth: 180, renderCell: (params) => , }, + { field: 'rang', headerName: 'Rang', hide: false, maxWidth: 100, renderCell: (params) => , }, + { + field: 'obligatoire', headerName: 'Obligatoire', hide: false, maxWidth: 180, renderCell: (params) => , + renderCell: (cellValues) => { + return ( +
    + {cellValues.row.obligatoire && String(cellValues.row.obligatoire) === "1" && "Oui"} + {cellValues.row.obligatoire && String(cellValues.row.obligatoire) !== "1" && "Non"} + +
    + + ); + } + + }, + { field: 'description', headerName: 'Description', flex: 1, hide: false, minWidth: 200, renderCell: (params) => , }, + + + { + field: "delete", headerName: 'Supprimer', + renderCell: (cellValues) => { + return ( + <> + { + // handleClick_delete(event, cellValues); + }} + > + + + } + modal + nested + position="center center" + > + {close => ( +
    + +
    MySy Information
    +
    + {' '} + + En confirmant cette opération, la tâche sera supprimée de cette activité .
    + +
    +
    +
    + + +
    +
    + +
    +
    +
    + )} +
    + + + + ); + } + } + + ] + const New_Option_Tuteur_Role = [ + { "id": "0", "label": "Parent", "value": "0" }, + { "id": "1", "label": "Tuteur légal", "value": "1" }, + { "id": "2", "label": "Tuteur scolaire", "value": "2" }, + { "id": "3", "label": "Autre", "value": "3" }, + { "id": "", "label": "", "value": "" }, + ] + + const New_Option_Oui_Non = [ + { + value: '1', + label: 'Oui', + id: '1', + }, + { + value: '0', + label: 'Non', + id: '0', + }, + ]; + + + const [handleClick_delete_activite_pedago_api, sethandleClick_delete_activite_pedago_api] = useState(); + const [handleClick_delete_activite_pedago_message, sethandleClick_delete_activite_pedago_message] = useState(); + const [handleClick_delete_activite_pedago_result, sethandleClick_delete_activite_pedago_result] = useState([]); + function handleClick_delete_activite_pedago(event, cellValues) { + + var activite_pedagogique_id = cellValues.row._id; + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("activite_pedagogique_id", activite_pedagogique_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Given_activite_pedagogique/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In handleClick_delete_tache_pedago res.data.status = " + res.data.status); + //console.log(" In handleClick_delete_tache_pedago res.data.message r_class = " + res.data.message); + sethandleClick_delete_activite_pedago_api("true"); + sethandleClick_delete_activite_pedago_result(res.data.message); + + Getall_Partner_Activite_Pedago(); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + } + else { + sethandleClick_delete_activite_pedago_api("false"); + sethandleClick_delete_activite_pedago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( handleClick_delete_tache_pedago = ', error); + sethandleClick_delete_activite_pedago_api("false"); + alert(" Impossible de supprimer la tâche pédagogique"); + //setmyApimyApiMessage("") + }) + } + + + + const [handleClick_delete_tache_from_activite_pedago_api, sethandleClick_delete_tache_from_activite_pedago_api] = useState(); + const [handleClick_delete_tache_from_activite_message, sethandleClick_delete_tache_from_activite_message] = useState(); + const [handleClick_delete_tache_from_activite_result, sethandleClick_delete_tache_from_activite_result] = useState([]); + function handleClick_delete_tache_from_activite(event, cellValues) { + + var activite_pedagogique_id = cellValues.row._id; + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("activite_id", selected_id); + form.append("tache_pedagogique_id", activite_pedagogique_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Tache_From_Activite_pedagogique/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In handleClick_delete_tache_from_activite res.data.status = " + res.data.status); + //console.log(" In handleClick_delete_tache_from_activite res.data.message r_class = " + res.data.message); + sethandleClick_delete_tache_from_activite_pedago_api("true"); + sethandleClick_delete_tache_from_activite_result(res.data.message); + + Get_Given_Activite_pedago_data(selected_id); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + } + else { + sethandleClick_delete_tache_from_activite_pedago_api("false"); + sethandleClick_delete_tache_from_activite_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( handleClick_delete_tache_from_activite = ', error); + sethandleClick_delete_tache_from_activite_pedago_api("false"); + alert(" Impossible de supprimer la tâche pédagogique"); + //setmyApimyApiMessage("") + }) + } + + + const [Getall_Partner_Activite_Pedago_api, setGetall_Partner_Activite_Pedago_api] = useState(); + const [Getall_Partner_Activite_Pedago_message, setGetall_Partner_Activite_Pedago_message] = useState(); + const [Getall_Partner_Activite_Pedago_result, setGetall_Partner_Activite_Pedago_result] = useState(); + function Getall_Partner_Activite_Pedago(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/Get_activite_pedagogique_no_filter/"; + + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Partner_Activite_Pedago res.data.status = " + res.data.status); + // console.log(" In Getall_Partner_Activite_Pedago res.data.message r_class = " + res.data.message); + setGetall_Partner_Activite_Pedago_api("true"); + setGetall_Partner_Activite_Pedago_result(res.data.message); + setRows(res.data.message); + + + + } + else { + setGetall_Partner_Activite_Pedago_api("false"); + setGetall_Partner_Activite_Pedago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Partner_Activite_Pedago = ', error); + setGetall_Partner_Activite_Pedago_api("false"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des activités pédagogiques"); + setalert_type("error"); + // alert(" Impossible de recuperer la liste des employés"); + //setmyApimyApiMessage("") + }) + } + + + + useEffect(() => { + + Getall_Partner_Activite_Pedago(); + window.scrollTo({ + top: 0, + behavior: "smooth", + }); + + }, []) + + const [isLoading, setLoading] = useState(); + + const [display_alert_mysy, setdisplay_alert_mysy] = useState(""); + const [alert_message, setalert_message] = useState(""); + const [alert_type, setalert_type] = useState(""); + + function clear_alert_message() { + setalert_message(""); + } + function clear_alert_type() { + setalert_type(""); + } + function clear_display_alert_mysy() { + setdisplay_alert_mysy(""); + } + + const [p_one_detail_activite_pedago_id, setp_one_detail_activite_pedago_id] = useState(""); + const [p_detail_activite_pedago_id, setp_detail_activite_pedago_id] = useState(""); + const [p_detail_activite_pedago_code, setp_detail_activite_pedago_code] = useState(""); + const [p_detail_activite_pedago_description, setp_detail_activite_pedago_description] = useState(""); + const [p_detail_activite_pedago_commentaire, setp_detail_activite_pedago_commentaire] = useState(""); + const [p_detail_activite_pedago_moyen_ressource, setp_detail_activite_pedago_moyen_ressource] = useState(""); + const [p_detail_activite_pedago_resultat, setp_detail_activite_pedago_resultat] = useState(""); + const [p_detail_activite_pedago_niveau_autonomie, setp_detail_activite_pedago_niveau_autonomie] = useState(""); + const [p_detail_activite_pedago_aide, setp_detail_activite_pedago_aide] = useState(""); + const [p_detail_activite_pedago_contraintes, setp_detail_activite_pedago_contraintes] = useState(""); + const [p_detail_activite_pedago_divers, setp_detail_activite_pedago_divers] = useState(""); + + const [p_detail_activite_pedago_tab_tache, setp_detail_activite_pedago_tab_tache] = useState([]); + const [p_detail_activite_pedago_tab_tache_with_code, setp_detail_activite_pedago_tab_tache_with_code] = useState([]); + + + const [activite_pedago_data_changed, setactivite_pedago_data_changed] = useState(""); + const [add_one_activite_pedago, setadd_one_activite_pedago] = useState(""); + const [activite_pedago_edit_data, setactivite_pedago_edit_data] = useState(""); + + function clear_activite_pedago_fields() { + setp_detail_activite_pedago_id("") + setp_detail_activite_pedago_code(""); + setp_detail_activite_pedago_description(""); + setp_detail_activite_pedago_commentaire(""); + setp_one_detail_activite_pedago_id(""); + + setp_detail_activite_pedago_moyen_ressource(""); + setp_detail_activite_pedago_resultat(""); + setp_detail_activite_pedago_niveau_autonomie(""); + setp_detail_activite_pedago_aide(""); + setp_detail_activite_pedago_divers(""); + + setactivite_pedago_data_changed(""); + setadd_one_activite_pedago(""); + + } + + + + + const [Update_activite_pedago_api, setUpdate_activite_pedago_api] = useState(); + const [Update_activite_pedago_message, setUpdate_activite_pedago_message] = useState(); + const [Update_activite_pedago_result, setUpdate_activite_pedago_result] = useState(); + function Update_Tache_Pedago(event) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + + var myurl = ""; + + myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_tache_pedagogique/"; + form.append("tache_pedagogique_id", selected_id); + form.append("description", p_detail_activite_pedago_description); + form.append("commentaire", p_detail_activite_pedago_commentaire); + form.append("code", p_detail_activite_pedago_code); + + + setLoading(true); + axios.post(myurl, form).then(res => { + setLoading(false); + + if (String(res.data.status) === String("true")) { + //console.log(" In Update_Tache_Pedago res.data.status = " + res.data.status); + //console.log(" In Update_Tache_Pedago res.data.message r_class = " + res.data.message); + setUpdate_activite_pedago_api("true"); + setUpdate_activite_pedago_result(res.data.message); + + Getall_Partner_Activite_Pedago(); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + Dialog_activite_pedago_handleClose_buton(); + } + else { + setUpdate_activite_pedago_api("false"); + setUpdate_activite_pedago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Not good man :( Update_Tache_Pedago = ', error); + setUpdate_activite_pedago_api("false"); + alert(" Impossible de faire la mise à jour"); + //setmyApimyApiMessage("") + }) + } + + + const [Add_Tache_Pededago_api, setAdd_Tache_Pededago_api] = useState(); + const [Add_Tache_Pededago_message, setAdd_Tache_Pededago_message] = useState(); + const [Add_Tache_Pededago_result, setAdd_Tache_Pededago_result] = useState([]); + function Add_Tache_Pededago(event) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + + var myurl = ""; + + myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_tache_pedagogique/"; + form.append("description", p_detail_activite_pedago_description); + form.append("commentaire", p_detail_activite_pedago_commentaire); + form.append("code", p_detail_activite_pedago_code); + + + setLoading(true); + axios.post(myurl, form).then(res => { + setLoading(false); + + if (String(res.data.status) === String("true")) { + //console.log(" In Add_Tache_Pededago res.data.status = " + res.data.status); + //console.log(" In Add_Tache_Pededago res.data.message r_class = " + res.data.message); + setAdd_Tache_Pededago_api("true"); + setAdd_Tache_Pededago_result(res.data.message); + + Getall_Partner_Activite_Pedago(); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + Dialog_activite_pedago_handleClose_buton(); + } + else { + setAdd_Tache_Pededago_api("false"); + setAdd_Tache_Pededago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Not good man :( Add_Tache_Pededago = ', error); + setAdd_Tache_Pededago_api("false"); + alert(" Impossible d'ajouter la tâche pédagogique"); + //setmyApimyApiMessage("") + }) + } + + + const [New_Getall_TrainingSession_result, setNew_Getall_TrainingSession_result] = useState([]); + + 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(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("archive", "0"); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetAllValideSessionPartner_List/"; + + setLoading(true); + + axios.post(myurl, form).then(res => { + + setLoading(false); + + 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); + + var new_data2 = []; + const new_data = res.data.message.map((x) => { + + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var local_internal_url = JSON.parse(x).class_internal_url; + var local_title_session = JSON.parse(x).titre; + var local_code_session = JSON.parse(x).code_session; + + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_code_session, + "class_internal_url": local_internal_url, + "titre": local_title_session, + "code_session": local_code_session, + }; + new_data2.push(node); + + // return {"_id": " + str(local_id) + ", "label": " + local_courrier_template_ref_interne + '" , "courrier_template_ref_interne": "' + local_courrier_template_ref_interne + '", "nom_champ_technique": "' + local_nom_champ_technique + '", "nom_champ_fonctionel": "' + local_nom_champ_fonctionel + '","valide": "1" }; + + }); + + + if (new_data2.length > 0) { + setNew_Getall_TrainingSession_result(new_data2); + } + + + } + else { + setGetall_TrainingSession_api("false"); + setGetall_TrainingSession_message(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Getall_TrainingSession = ', error); + setGetall_TrainingSession_api("false"); + //setmyApimyApiMessage("") + }) + } + + const [selected_session_id, setselected_session_id] = useState(""); + + + const [New_Getall_TrainingParticipant_result, setNew_Getall_TrainingParticipant_result] = useState([{ + "_id": "", + "id": "", + "nom": "", + "prenom": "", + "email": "", + "civilite": "", + "status": "", + "label": "", + }]); + + + const [Get_Given_Activite_pedago_data_api, setGet_Given_Activite_pedago_data_api] = useState(); + const [Get_Given_Activite_pedago_data_message, setGet_Given_Activite_pedago_data_message] = useState(); + const [Get_Given_Activite_pedago_data_result, setGet_Given_Activite_pedago_data_result] = useState(); + function Get_Given_Activite_pedago_data(local_act_peda_id) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", local_act_peda_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_activite_pedagogique/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === "true") { + setLoading(false); + //console.log(" In Get_Employee_Data res.data.status = " + res.data.status); + // console.log(" In Get_Employee_Data res.data.message r_class = " + res.data.message); + setGet_Given_Activite_pedago_data_api("true"); + setGet_Given_Activite_pedago_data_result(res.data.message); + + if (res.data.message.length > 0) { + var activite_pedago = JSON.parse(res.data.message); + + if (activite_pedago._id) + setp_detail_activite_pedago_id(activite_pedago._id); + else + setp_detail_activite_pedago_id(""); + + + if (activite_pedago.code) + setp_detail_activite_pedago_code(activite_pedago.code); + else + setp_detail_activite_pedago_code(""); + + + if (activite_pedago.description) + setp_detail_activite_pedago_description(activite_pedago.description); + else + setp_detail_activite_pedago_description(""); + + if (activite_pedago.commentaire) + setp_detail_activite_pedago_commentaire(activite_pedago.commentaire); + else + setp_detail_activite_pedago_commentaire(""); + + if (activite_pedago.moyen_ressource) + setp_detail_activite_pedago_moyen_ressource(activite_pedago.moyen_ressource); + else + setp_detail_activite_pedago_moyen_ressource(""); + + if (activite_pedago.resultat) + setp_detail_activite_pedago_resultat(activite_pedago.resultat); + else + setp_detail_activite_pedago_resultat(""); + + + if (activite_pedago.niveau_autonomie) + setp_detail_activite_pedago_niveau_autonomie(activite_pedago.niveau_autonomie); + else + setp_detail_activite_pedago_niveau_autonomie(""); + + + if (activite_pedago.aide) + setp_detail_activite_pedago_aide(activite_pedago.aide); + else + setp_detail_activite_pedago_aide(""); + + + if (activite_pedago.contraintes) + setp_detail_activite_pedago_contraintes(activite_pedago.contraintes); + else + setp_detail_activite_pedago_contraintes(""); + + + if (activite_pedago.divers) + setp_detail_activite_pedago_divers(activite_pedago.divers); + else + setp_detail_activite_pedago_divers(""); + + + if (activite_pedago.tab_tache_pedagogique) + setp_detail_activite_pedago_tab_tache(activite_pedago.tab_tache_pedagogique); + else + setp_detail_activite_pedago_tab_tache([]); + + + if (activite_pedago.tab_tache_pedagogique_with_code) + setp_detail_activite_pedago_tab_tache_with_code(activite_pedago.tab_tache_pedagogique_with_code); + else + setp_detail_activite_pedago_tab_tache_with_code([]); + + Disable_Activite_Pedago_DetailFields(); + + } else { + //alert(" Aucun employé recuperé"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Aucun employé recuperé"); + setalert_type("warning"); + } + + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + + else { + setLoading(false); + setGet_Given_Activite_pedago_data_api("false"); + setGet_Given_Activite_pedago_data_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Get_Employee_Data = ', error); + setGet_Given_Activite_pedago_data_api("false"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer les données"); + setalert_type("error"); + // alert(" Impossible de recuperer les données de l'employé"); + //setmyApimyApiMessage("") + }) + } + + + + + const [Dialog_activite_pedago_open, setDialog_activite_pedago_open] = React.useState(false); + function Dialog_activite_pedago_handle_change_participant_session(message) { + // setDialog_activite_pedago_message(message); + setDialog_activite_pedago_open(true); + } + + const Dialog_activite_pedago_handleClose = () => { + + }; + + const Dialog_activite_pedago_handleClose_buton = () => { + setDialog_activite_pedago_open(false); + clear_activite_pedago_fields(); + setgridline_id(""); + + }; + + const myRef_detail = useRef(null); + + function submenu_detail_activite_padagogique() { + + setsubmenu("détail_activite_pedagique"); + submenu_color_management("détail_activite_pedagique"); + } + + + function submenu_color_management(current_menu) { + const list_sous_menu = ["détail_activite_pedagique", "pole_activite_padagogique", "activite_padagogique", "tache_padagogique",] + + for (let i = 0; i < list_sous_menu.length; i++) { + + var sous_menu = list_sous_menu[i]; + if (String(sous_menu) !== current_menu) { + if (document.getElementById(sous_menu)) { + document.getElementById(sous_menu).style.backgroundColor = "#d8edfc"; + document.getElementById(sous_menu).style.color = "black"; + document.getElementById(sous_menu).style.fontWeight = "normal"; + } + } + } + + if (document.getElementById(current_menu)) { + document.getElementById(current_menu).style.backgroundColor = "#107758"; + document.getElementById(current_menu).style.color = "white"; + document.getElementById(current_menu).style.fontWeight = "bold"; + } + + if (document.getElementById('myRef_detail')) { + var divh = document.getElementById('myRef_detail').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + + const sleep = (milliseconds) => { + return new Promise(resolve => setTimeout(resolve, milliseconds)) + } + + async function Disable_Activite_Pedago_DetailFields() { + await sleep(5); + setactivite_pedago_edit_data("0") + var liste_champs = ['detail_code', 'detail_desc', 'detail_comment', 'detail_moyen_ressource', 'detail_autonomie', 'detail_aide', 'detail_resultat', + 'detail_contrainte', 'detail_divers' + ] + + + for (let i = 0; i < liste_champs.length; i++) { + + if (document.getElementsByName(String(liste_champs[i])) && document.getElementsByName(String(liste_champs[i]))[0]) { + document.getElementsByName(String(liste_champs[i]))[0].disabled = true; + document.getElementsByName(String(liste_champs[i]))[0].style.backgroundColor = "#ECEFF1"; + + } + } + + } + + function Enable_Activite_Pedago_DetailFields() { + + setactivite_pedago_edit_data("1") + + var liste_champs = ['detail_code', 'detail_desc', 'detail_comment', 'detail_moyen_ressource', 'detail_autonomie', 'detail_aide', 'detail_resultat', + 'detail_contrainte', 'detail_divers' + ] + + + for (let i = 0; i < liste_champs.length; i++) { + if (document.getElementsByName(String(liste_champs[i])) && document.getElementsByName(String(liste_champs[i]))[0]) { + document.getElementsByName(String(liste_champs[i]))[0].disabled = false; + document.getElementsByName(String(liste_champs[i]))[0].style.backgroundColor = "#FFFFFF"; + + } + } + + } + + function Annule_modif_champs() { + + Get_Given_Activite_pedago_data(selected_id); + setactivite_pedago_edit_data(""); + setactivite_pedago_data_changed(""); + setadd_one_activite_pedago(""); + } + + function Ferme_Display_champs() { + setsubmenu(""); + Clear_fields(); + + setselected_id(""); + setgridline_id(""); + setactivite_pedago_edit_data(""); + setactivite_pedago_data_changed(""); + setadd_one_activite_pedago(""); + + window.scrollTo({ + top: 0, + behavior: "smooth", + }); + } + + function Clear_fields() { + setp_one_detail_activite_pedago_id(""); + setp_detail_activite_pedago_id(""); + setp_detail_activite_pedago_code(""); + setp_detail_activite_pedago_description(""); + setp_detail_activite_pedago_commentaire(""); + setp_detail_activite_pedago_moyen_ressource(""); + setp_detail_activite_pedago_resultat(""); + setp_detail_activite_pedago_niveau_autonomie(""); + + setp_detail_activite_pedago_aide(""); + setp_detail_activite_pedago_contraintes(""); + setp_detail_activite_pedago_divers(""); + + setp_detail_activite_pedago_tab_tache([]); + setp_detail_activite_pedago_tab_tache_with_code([]); + + } + + const [Add_Update_Activite_Pedago_api, setAdd_Update_Activite_Pedago_api] = useState(); + const [Add_Update_Activite_Pedago_message, setAdd_Update_Activite_Pedago_message] = useState(); + const [Add_Update_Activite_Pedago_result, setAdd_Update_Activite_Pedago_result] = useState(); + function Add_Update_Activite_Pedago() { + + var form = new FormData(); + var nb_participant = "0"; + var prix_session; + + + + if (p_detail_activite_pedago_code.length <= 0) { + // alert(" Vous devez choisir une session"); + setdisplay_alert_mysy("1"); + setalert_message("Vous devez saisir un code "); + setalert_type("error"); + return; + } + + + + if (p_detail_activite_pedago_description.trim() === "") { + // alert(" Le nombre de participants est obligatoire"); + setdisplay_alert_mysy("1"); + setalert_message("Vous devez saisir une description"); + setalert_type("error"); + return; + } + + + + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = ""; + + + if (selected_id.length > 5) { + form.append("activite_pedagogique_id", selected_id); + myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_activite_pedagogique/"; + + } else { + myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_activite_pedagogique/"; + } + + + form.append("code", p_detail_activite_pedago_code); + form.append("description", p_detail_activite_pedago_description); + form.append("commentaire", p_detail_activite_pedago_commentaire); + form.append("moyen_ressource", p_detail_activite_pedago_moyen_ressource); + form.append("resultat", p_detail_activite_pedago_resultat); + + form.append("niveau_autonomie", p_detail_activite_pedago_niveau_autonomie); + form.append("aide", p_detail_activite_pedago_aide); + form.append("contraintes", p_detail_activite_pedago_contraintes); + form.append("divers", p_detail_activite_pedago_divers); + + setLoading(true); + + + //console.log(" ### form = ", form); + //return; + + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_Activite_Pedago res.data.status = " + res.data.status); + //console.log(" In Add_Update_Activite_Pedago res.data.message r_class = " + res.data.message); + setLoading(false); + if (String(res.data.status) === String("true")) { + setAdd_Update_Activite_Pedago_api("true"); + setAdd_Update_Activite_Pedago_result(res.data.message); + + setactivite_pedago_data_changed(""); + setactivite_pedago_edit_data(""); + setadd_one_activite_pedago(""); + + Getall_Partner_Activite_Pedago(); + Disable_Activite_Pedago_DetailFields(); + + if (selected_id.length <= 5) { + window.scrollTo({ + top: 10, + behavior: "smooth", + }); + + } + + setdisplay_alert_mysy("1"); + setalert_message(String(res.data.message)); + setalert_type("success"); + + + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setAdd_Update_Activite_Pedago_api("false"); + setAdd_Update_Activite_Pedago_message(res.data.message); + //alert(String(res.data.message)); + + setdisplay_alert_mysy("1"); + setalert_message(String(res.data.message)); + setalert_type("error"); + + } + + }).catch((error) => { + setLoading(false); + console.warn('Add_Update_Activite_Pedago : Not good man :( mysearchtext = ' + error); + setAdd_Update_Activite_Pedago_api("false"); + alert(" Impossible d'ajouter ou mettre à jour l'activité"); + + }) + } + + const [New_Getall_Partner_Tache_Pedago_result, setNew_Getall_Partner_Tache_Pedago_result] = useState([]); + + const [Getall_Partner_Tache_Pedago_api, setGetall_Partner_Tache_Pedago_api] = useState(); + const [Getall_Partner_Tache_Pedago_message, setGetall_Partner_Tache_Pedago_message] = useState(); + const [Getall_Partner_Tache_Pedago_result, setGetall_Partner_Tache_Pedago_result] = useState([]); + function Getall_Partner_Tache_Pedago(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/Get_tache_pedagogique_no_filter/"; + + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Partner_Tache_Pedago res.data.status = " + res.data.status); + // console.log(" In Getall_Partner_Tache_Pedago res.data.message r_class = " + res.data.message); + setGetall_Partner_Tache_Pedago_api("true"); + setGetall_Partner_Tache_Pedago_result(res.data.message); + + var new_data2 = []; + + const new_data = res.data.message.map((x) => { + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var code = JSON.parse(x).code; + var description = JSON.parse(x).description; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": code + " - " + String(description).substring(0, 15), + "code": code, + "description": description, + + }; + new_data2.push(node); + + // return {"_id": " + str(local_id) + ", "label": " + local_courrier_template_ref_interne + '" , "courrier_template_ref_interne": "' + local_courrier_template_ref_interne + '", "nom_champ_technique": "' + local_nom_champ_technique + '", "nom_champ_fonctionel": "' + local_nom_champ_fonctionel + '","valide": "1" }; + + }); + + + var node = { + "_id": "", + "id": "", + "label": "", + "code": "", + "description": "", + + }; + new_data2.push(node); + + if (new_data2.length > 0) { + setNew_Getall_Partner_Tache_Pedago_result(new_data2); + } else { + setNew_Getall_Partner_Tache_Pedago_result([]); + } + + + + } + else { + setGetall_Partner_Tache_Pedago_api("false"); + setGetall_Partner_Tache_Pedago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Partner_Tache_Pedago = ', error); + setGetall_Partner_Tache_Pedago_api("false"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des tâches pédagogiques"); + setalert_type("error"); + + }) + } + + + + const [Dialog_Tache_Pedago_open, setDialog_Tache_Pedago_open] = React.useState(false); + const Dialog_Tache_Pedago_handleClose_buton = () => { + setDialog_Tache_Pedago_open(false); + + }; + + function Add_Tache_To_Activite(tache_pedagogique_id, rang, obligatoire) { + + + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("activite_id", selected_id); + form.append("tache_pedagogique_id", tache_pedagogique_id); + form.append("rang", rang); + form.append("obligatoire", obligatoire); + + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Update_tab_Tache_To_Activite_pedagogique/"; + setLoading(true); + axios.post(myurl, form).then(res => { + setLoading(false); + //console.log(" In UpdateStagiaireData res.data.status = " + res.data.status); + //console.log(" In UpdateStagiaireData res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + Get_Given_Activite_pedago_data(selected_id); + + Dialog_Tache_Pedago_handleClose_buton(); + + } + else { + + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + }).catch((error) => { + + console.warn('UpdateStagiaireData : Not good man :( mysearchtext = ' + error); + + + setdisplay_alert_mysy("1"); + setalert_message(" Impossible d'ajouter la tâche"); + setalert_type("error"); + + }) + } + + + + return ( +
    + + {isLoading &&
    +
    +
    } + + {/*** Affichage des messages d'alerte*/} + {display_alert_mysy && String(display_alert_mysy) === "1" && + + } + {/*** FIN Affichage des messages d'alerte*/} + + {/* Dialog pour ajouter une tache pédagogique */} + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + top: '7rem', + margin: "2px", + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" + + > + + Tâche pédagogique + + + + +
    Tâche pédagogique + {New_Getall_Partner_Tache_Pedago_result && New_Getall_Partner_Tache_Pedago_result.length > 0 && { + + if (value && value._id) { + setselected_tache_pedago_to_add_id(value._id); + + } else { + setselected_tache_pedago_to_add_id(""); + + } + }} + + + renderInput={(params) => + } + />} +
    + +
    Rang + { + setselected_tache_pedago_to_add_rang(e.target.value); + + } + } + /> +
    + +
    Obligatoire + { + + if (value) { + setselected_tache_pedago_to_add_oblig(value.value); + + } else { + setselected_tache_pedago_to_add_oblig(""); + + } + }} + + + renderInput={(params) => + } + /> + + +
    + + + +
    + + + + + + + +
    +
    + + +
    + + +
    + +
    +
    + +
    + +
    + {/* FIN Dialog pour ajouter une tache pédagogique */} + + + + + +
    +
    +
    +

    Activités pédagogiques

    + +
    +   + + { + setSelectionModel(newSelectionModel); + /*if (newSelectionModel.length === 1) + handleClick_edit_employee_From_Line(newSelectionModel);*/ + if (newSelectionModel.length !== 1) { + setsubmenu(); + // setdisplay_detail_employe(); + //setadd_One_Employee(); + } + }} + selectionModel={selectionModel} + + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={rowss.map((item, index) => ( + { + id: index, + _id: JSON.parse(item)._id, + code: JSON.parse(item).code, + description: JSON.parse(item).description, + commentaire: JSON.parse(item).commentaire, + + } + ))} + + columns={columns} + pageSize={10} + className="datagridclass" + + onRowDoubleClick={(newSelectionModel, e) => { + + setmouse_x(e.clientX); + setmouse_y(e.clientY); + setselected_id(newSelectionModel.row._id); + setgridline_id(newSelectionModel.row.id); + setp_detail_activite_pedago_id(newSelectionModel.row._id); + setp_detail_activite_pedago_code(newSelectionModel.row.code); + setp_detail_activite_pedago_description(newSelectionModel.row.description); + setp_detail_activite_pedago_commentaire(newSelectionModel.row.commentaire); + + + setactivite_pedago_data_changed(""); + setadd_one_activite_pedago(""); + + + Get_Given_Activite_pedago_data(newSelectionModel.row._id); + submenu_detail_activite_padagogique(); + }} + + rowsPerPageOptions={[10]} + disableSelectionOnClick + components={{ + Toolbar: GridToolbar, + }} + //sx={datagridSx} + getCellClassName={(params) => { + //field === 'distantiel' + + + //console.log(" ### params.field = ", params.field) + + + + 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) => { + // Pour la gestion de la couleur de zone double cliquée + if (String(params.row.id) === String(gridline_id)) { + return 'line--statut--selected'; + } + else if (parseInt(String(params.row.id)) % 2 === 0) { + return 'line--statut--pair'; + } + else if (parseInt(String(params.row.id)) % 2 !== 0) { + return 'line--statut--impair'; + } + + 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'; + } + }} + getEstimatedRowHeight={() => 200} + getRowHeight={() => "auto"} + sx={{ + "& .MuiDataGrid-cellContent": { + minHeight: 50, + + } + }} + + + + /> + +
    + +
    + +
    + +
    + +
    + +
    + + +
    + + + +
    +
    +
     
    + + +
    + + {selected_id && selected_id.length > 5 &&
    + + + + +
    } + + {String(submenu) === "add_one" && String(add_one_activite_pedago) === "1" &&
    +
    +
    +
    + + +
    + + +
    +
    + +
    +
    + +
    + Détail activités +
    + +
    + +
    Code
    + { + setp_detail_activite_pedago_code(e.target.value); + setactivite_pedago_data_changed("1"); + }} + + + + /> +
    + +
    Description
    + { + setp_detail_activite_pedago_description(e.target.value); + setactivite_pedago_data_changed("1"); + }} + + + + /> +
    + + + +
    Commentaire
    + { + setp_detail_activite_pedago_commentaire(e.target.value); + setactivite_pedago_data_changed("1"); + + }} + + /> +
    + +
    + + +
    + + +
    + +
    +
    + +
    + Condition d'exercice +
    + +
    + +
    Degré d'autonomie
    + { + setp_detail_activite_pedago_niveau_autonomie(e.target.value); + setactivite_pedago_data_changed("1"); + }} + + /> + +
    + +
    Aide
    + { + setp_detail_activite_pedago_aide(e.target.value); + setactivite_pedago_data_changed("1"); + }} + + /> + +
    + +
     
    + + + +
    + + +
    + + +
    +
    +
    + +
    +
    + +
    +
    + +
    + Moyens & Ressources +
    + +
    + +
    + { + setp_detail_activite_pedago_moyen_ressource(e.target.value); + setactivite_pedago_data_changed("1"); + + }} + + /> + + +
    + +
    +
    +
    + +
    +
    + +
    + Résultats +
    + +
    + +
    + { + setp_detail_activite_pedago_resultat(e.target.value); + setactivite_pedago_data_changed("1"); + + }} + + /> + + +
    + +
    +
    +
    + + + +
    +
    + +
    +
    + +
    +
    + +
    + Contraintes +
    + +
    + +
    + { + setp_detail_activite_pedago_contraintes(e.target.value); + setactivite_pedago_data_changed("1"); + + }} + + /> + + +
    + +
    +
    +
    + +
    +
    + +
    + Divers +
    + +
    + +
    + { + setp_detail_activite_pedago_divers(e.target.value); + setactivite_pedago_data_changed("1"); + + }} + + /> + + +
    + +
    +
    +
    + + + +
    +
    + + + +
    +   +
    +
    + + +
    + +
    + + + +
    + +
    + +
    +
    + + + +
    +   +
    +
    + + + +
    + + + +
    +
    } + + {String(submenu) === "détail_activite_pedagique" && String(add_one_activite_pedago) !== "1" &&
    +
    +
    + {p_detail_activite_pedago_code && p_detail_activite_pedago_code.length > 1 &&
    + + +
    } + + +
    +
    + +
    +
    + +
    + Détail activités +
    + +
    + +
    Code
    + { + setp_detail_activite_pedago_code(e.target.value); + setactivite_pedago_data_changed("1"); + }} + + + + /> +
    + +
    Description
    + { + setp_detail_activite_pedago_description(e.target.value); + setactivite_pedago_data_changed("1"); + }} + + + + /> +
    + + + +
    Commentaire
    + { + setp_detail_activite_pedago_commentaire(e.target.value); + setactivite_pedago_data_changed("1"); + + }} + + /> +
    + +
    + + +
    + + +
    + +
    +
    + +
    + Condition d'exercice +
    + +
    + +
    Degré d'autonomie
    + { + setp_detail_activite_pedago_niveau_autonomie(e.target.value); + setactivite_pedago_data_changed("1"); + }} + + /> + +
    + +
    Aide
    + { + setp_detail_activite_pedago_aide(e.target.value); + setactivite_pedago_data_changed("1"); + }} + + /> + +
    + +
     
    + + + +
    + + +
    + + +
    +
    +
    + +
    +
    + +
    +
    + +
    + Moyens & Ressources +
    + +
    + +
    + { + setp_detail_activite_pedago_moyen_ressource(e.target.value); + setactivite_pedago_data_changed("1"); + + }} + + /> + + +
    + +
    +
    +
    + +
    +
    + +
    + Résultats +
    + +
    + +
    + { + setp_detail_activite_pedago_resultat(e.target.value); + setactivite_pedago_data_changed("1"); + + }} + + /> + + +
    + +
    +
    +
    + + + +
    +
    +
    +
    + +
    +
    + +
    + Contraintes +
    + +
    + +
    + { + setp_detail_activite_pedago_contraintes(e.target.value); + setactivite_pedago_data_changed("1"); + + }} + + /> + + +
    + +
    +
    +
    + +
    +
    + +
    + Divers +
    + +
    + +
    + { + setp_detail_activite_pedago_divers(e.target.value); + setactivite_pedago_data_changed("1"); + + }} + + /> + + +
    + +
    +
    +
    + + + +
    +
    + + + +
    +   +
    +
    + {String(activite_pedago_data_changed) === "1" && String(activite_pedago_edit_data) === "1" &&
    + /!\ Pensez à enregistrer les modifications +
    } + + +
    + + {String(activite_pedago_edit_data) === "1" &&
    + + + +
    } + + {String(activite_pedago_edit_data) === "1" &&
    + +
    } +
    + + + {String(activite_pedago_edit_data) !== "1" && <> + +
    + + + +
    + + +
    + + + +
    + + } +
    +   +
    +
    + + +
    +
    + +
    +
    + +
    + Liste Tache +
    + +
    +   + + { + setSelectionModel(newSelectionModel); + /*if (newSelectionModel.length === 1) + handleClick_edit_employee_From_Line(newSelectionModel);*/ + if (newSelectionModel.length !== 1) { + + } + }} + selectionModel={selectionModel_taches_with_code} + + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={p_detail_activite_pedago_tab_tache_with_code.map((item, index) => ( + { + id: index, + _id: (item)._id, + code: (item).code, + description: (item).description, + rang: (item).rang, + obligatoire: (item).obligatoire, + } + ))} + + columns={column_taches_with_code} + pageSize={10} + className="datagridclass" + + onRowDoubleClick={(newSelectionModel, e) => { + + + }} + + rowsPerPageOptions={[10]} + disableSelectionOnClick + components={{ + Toolbar: GridToolbar, + }} + //sx={datagridSx} + getCellClassName={(params) => { + + + //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) => { + // Pour la gestion de la couleur de zone double cliquée + if (String(params.row.id) === String(gridline_tache_id)) { + return 'line--statut--selected'; + } + else if (parseInt(String(params.row.id)) % 2 === 0) { + return 'line--statut--pair'; + } + else if (parseInt(String(params.row.id)) % 2 !== 0) { + return 'line--statut--impair'; + } + + + }} + getEstimatedRowHeight={() => 200} + getRowHeight={() => "auto"} + sx={{ + "& .MuiDataGrid-cellContent": { + minHeight: 50, + + } + }} + + + + /> + +
    + +
    + + +
    +
    +
    + +
    + + +
    + + + +
    +
    + +
    +
    + + +
    + + + +
    +
    } + + + + +
    + ); +} + +export default Module_Actvitie_Pedagogique; + +const local_css = ` +:root { + --bg: #f6f8fb; + --card: #ffffff; + --text: #0f172a; + --muted: #64748b; + --border: #e5e7eb; + --shadow: 0 10px 25px rgba(2, 6, 23, .06); + --green-700: #0f6b53; + --green-600: #167a5e; + --green-100: #e9f7f1; + --blue-600: #2563eb; + --radius: 14px; + --radius-sm: 10px; +} + .Grid_2_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1.2fr 1fr; + gap: 14px; +} + +.Grid_2_col_sub_colone { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 14px; + box-shadow: 0 6px 18px rgba(2,6,23,.04); + padding: 0px; + display: flex; + flex-direction: column; + gap: 14px; +} + + +.Grid_2_col_sub_colone_header { + background: #dbeafe; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + text-align: center; + font-family: DM Sans; + font-weight: 700; + height: 2rem; + padding-top: 5px; + font-size: 15px; +} + +.Grid_2_col_sub_colone_bottom_menu{ + +} + +.card__header{ +background: #e2e8f0; + font-size: small; + text-align: center; +} + +.card__title{ + display:flex; + align-items:center; + gap: 10px; +} + +.card__icon{ + width: 34px; + height: 34px; + display:grid; + place-items:center; + border-radius: 12px; + background:#eff6ff; + border:1px solid #dbeafe; +} + +.card__header h2{ + margin:0; + font-size: 15px; + letter-spacing: -0.01em; +} + +.card__actions{ display:flex; align-items:center; gap:8px; } + +.block_detail_action{ +width: 100%; + float: left; + background: #fafafa; + padding: 10px; + border: unset; + border-radius: 10px; + } +`; diff --git a/src/components/Module_Admission_Candidat_Document.js b/src/components/Module_Admission_Candidat_Document.js index c445c81..33a3391 100644 --- a/src/components/Module_Admission_Candidat_Document.js +++ b/src/components/Module_Admission_Candidat_Document.js @@ -919,7 +919,7 @@ const Module_Admission_Candidat_Document = (props) => { { "id": "-1", "label": "Rejeté", "value": "-1" }, { "id": "", "label": "", "value": "" }, ] - + const [Update_Document_Acceptance_Status_api, setUpdate_Document_Acceptance_Status_api] = useState(); @@ -1347,7 +1347,6 @@ const Module_Admission_Candidat_Document = (props) => { {item.collection_download_files && item.collection_download_files.length > 0 ? : } diff --git a/src/components/Module_Admission_Candidat_Synthese.js b/src/components/Module_Admission_Candidat_Synthese.js index bd12738..2d9ab58 100644 --- a/src/components/Module_Admission_Candidat_Synthese.js +++ b/src/components/Module_Admission_Candidat_Synthese.js @@ -8,7 +8,7 @@ import axios from "axios"; import Checkbox from '@mui/material/Checkbox'; import { ResponsivePie } from '@nivo/pie' import { ResponsiveBar } from "@nivo/bar"; - +import excel_icone from "../mysy_img/excel_icone.png"; import { TbArrowsDownUp } from "react-icons/tb"; import { getCookie, setCookie } from 'react-use-cookie'; import { useHistory } from "react-router-dom"; @@ -330,6 +330,8 @@ const Module_Admission_Candidat_Synthese = (props) => { ] + + const [New_GetListeInscrit_With_Synthese_insc_result_for_excel, setNew_GetListeInscrit_With_Synthese_insc_result_for_excel] = useState([]); const [New_GetListeInscrit_With_Synthese_insc_result, setNew_GetListeInscrit_With_Synthese_insc_result] = useState([]); @@ -359,7 +361,7 @@ const Module_Admission_Candidat_Synthese = (props) => { .then((data) => data.json()) .then((data) => { setLoading(false); - //console.log(' GetListeInscrit_With_Synthese : Success:', data['message'], "data['status'] = ", data['status']); + // console.log(' GetListeInscrit_With_Synthese : Success:', data['message'], "data['status'] = ", data['status']); setGetListeInscrit_With_Synthese_insc_result(data['message']); if (String(data['status']) === String("true")) { @@ -367,14 +369,19 @@ const Module_Admission_Candidat_Synthese = (props) => { setGetListeInscrit_With_Synthese_insc_api("true"); var local_trier_par = []; - local_trier_par.push("nom"); - local_trier_par.push("prenom"); - local_trier_par.push("civilite"); - local_trier_par.push("age"); + // on ajoute le statut + local_trier_par.push("Validation"); + + local_trier_par.push("Nom"); + local_trier_par.push("Prenom"); + local_trier_par.push("Genre"); + local_trier_par.push("Age"); var local_entete = []; var new_data2 = []; + var new_data2_for_excel = []; + const new_data = data['message'].map((x) => { local_entete = [] @@ -392,6 +399,8 @@ const Module_Admission_Candidat_Synthese = (props) => { var local_age = JSON.parse(x).age; var local_session_etape_code = JSON.parse(x).session_etape_code; + + var local_tab_entete_exam_jury = JSON.parse(x).tab_entete_exam_jury; //--- @@ -410,13 +419,36 @@ const Module_Admission_Candidat_Synthese = (props) => { "age": local_age, "session_etape_code": local_session_etape_code, }; + + + var node_for_excel = { + "id": localid, + "label": local_nom + " " + local_prenom, + "nom": local_nom, + "prenom": local_prenom, + "email": local_email, + "date_naissance": local_date_naissance, + "telephone": local_telephone, + "session_etape": local_session_etape, + "civilite": local_civilite, + "status": local_status, + "age": local_age, + "session_etape_code": local_session_etape_code, + }; + + const new_data_tmp_z = JSON.parse(x).tab_entete_exam_jury.map((z) => { + node_for_excel[z] = JSON.parse(x)[String(z)]; + + }); + + new_data2_for_excel.push(node_for_excel); new_data2.push(node); local_entete.push(local_tab_entete_exam_jury); - setNew_tab_entete_exam_jury(local_tab_entete_exam_jury); }); + const new_data_tmp = local_entete.map((x) => { for (let i = 0; i < x.length; i++) { local_trier_par.push(x[i]); @@ -426,10 +458,15 @@ const Module_Admission_Candidat_Synthese = (props) => { + if (new_data2.length > 0) { setNew_GetListeInscrit_With_Synthese_insc_result(new_data2); + setNew_GetListeInscrit_With_Synthese_insc_result_for_excel(new_data2_for_excel) local_trier_par.push("") setNew_tab_trier_par(local_trier_par); + } else { + setNew_GetListeInscrit_With_Synthese_insc_result([]); + setNew_GetListeInscrit_With_Synthese_insc_result_for_excel([]) } @@ -611,36 +648,55 @@ const Module_Admission_Candidat_Synthese = (props) => { const [trier_order_by, settrier_order_by] = useState("1"); - function trier(local_value) { + + function trier_v2(local_value) { setistrier(); var trierpar = local_value; - var tmp_sorted_data = [] - var local_isnumeric = isNumeric(JSON.parse(GetListeInscrit_With_Synthese_insc_result[0])[trierpar]) + if (local_value === "Validation") + trierpar = "status"; + else if (local_value === "Nom") + trierpar = "nom"; + else if (local_value === "Prenom") + trierpar = "prenom"; + else if (local_value === "Genre") + trierpar = "civilite"; + else if (local_value === "Age") + trierpar = "age"; - if (local_isnumeric) { - tmp_sorted_data = GetListeInscrit_With_Synthese_insc_result.sort(function (a, b) { - if (trier_order_by === "1") - return JSON.parse(b)[trierpar] - JSON.parse(a)[trierpar]; - else - return JSON.parse(a)[trierpar] - JSON.parse(b)[trierpar]; + + var tmp_sorted_data = GetListeInscrit_With_Synthese_insc_result; + + + if (trier_order_by === "1") { + tmp_sorted_data.sort(function (a, b) { + var keyA = (JSON.parse(a)[trierpar]), + keyB = (JSON.parse(b)[trierpar]); + + + // Compare the 2 dates + if (keyA < keyB) return -1; + if (keyA > keyB) return 1; + return 0; }); - setGetListeInscrit_With_Synthese_insc_result(tmp_sorted_data) - } + else { - tmp_sorted_data = GetListeInscrit_With_Synthese_insc_result.sort(function (a, b) { - if (trier_order_by === "1") - return JSON.parse(b)[trierpar] < JSON.parse(a)[trierpar]; - else - return JSON.parse(a)[trierpar] > JSON.parse(b)[trierpar]; + console.log(" ORD ----1"); + tmp_sorted_data.sort(function (a, b) { + var keyA = (JSON.parse(a)[trierpar]), + keyB = (JSON.parse(b)[trierpar]); + + // Compare the 2 dates + if (keyA > keyB) return -1; + if (keyA < keyB) return 1; + return 0; }); - setGetListeInscrit_With_Synthese_insc_result(tmp_sorted_data) } - // console.log(" ## apres trie = ", tmp_sorted_data[0]); + setGetListeInscrit_With_Synthese_insc_result(tmp_sorted_data); if (trier_order_by === "1") settrier_order_by("-1"); @@ -650,6 +706,21 @@ const Module_Admission_Candidat_Synthese = (props) => { } + function exportJsonToExcel() { + // Create a new workbook + const workbook = XLSX.utils.book_new(); + + // Convert JSON data to a worksheet + const worksheet = XLSX.utils.json_to_sheet(New_GetListeInscrit_With_Synthese_insc_result_for_excel); + + // Append the worksheet to the workbook + XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1"); + + // Export the workbook as an Excel file + XLSX.writeFile(workbook, "data.xlsx"); + } + + const [Update_Inscrit_Only_Status_api, setUpdate_Inscrit_Only_Status_api] = useState(); const [Update_Inscrit_Only_Status_message, setUpdate_Inscrit_Only_Status_message] = useState(); const [Update_Inscrit_Only_Status_result, setUpdate_Inscrit_Only_Status_result] = useState(); @@ -732,7 +803,7 @@ const Module_Admission_Candidat_Synthese = (props) => { else settrier_order_by("1"); - trier(trier_par); + trier_v2(trier_par); }} /> @@ -752,7 +823,7 @@ const Module_Admission_Candidat_Synthese = (props) => { console.log("## event = ", event.target.innerText, "-- ") settrier_par(event.target.innerText) - trier(event.target.innerText); + trier_v2(event.target.innerText); }} @@ -856,7 +927,14 @@ const Module_Admission_Candidat_Synthese = (props) => {
    +
    + +
    diff --git a/src/components/Module_Attestation_Formation.js b/src/components/Module_Attestation_Formation.js index 0166be0..fc25122 100644 --- a/src/components/Module_Attestation_Formation.js +++ b/src/components/Module_Attestation_Formation.js @@ -1023,9 +1023,10 @@ const Module_Attestation_Formation = (props) => { "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Module_Editique.js b/src/components/Module_Editique.js index 9d185f2..efe4a4c 100644 --- a/src/components/Module_Editique.js +++ b/src/components/Module_Editique.js @@ -4856,13 +4856,13 @@ const Module_Editique = (props) => { {String(history_doc.local_target_collection_name).trim() === "" && } />} {String(history_doc.local_target_collection_name).trim() !== "" && } /> } diff --git a/src/components/Module_Ent_Internal_Email_Management.js b/src/components/Module_Ent_Internal_Email_Management.js index 8ddd96c..10f8d10 100644 --- a/src/components/Module_Ent_Internal_Email_Management.js +++ b/src/components/Module_Ent_Internal_Email_Management.js @@ -1949,9 +1949,10 @@ const Module_Ent_Internal_Email_Management = (props) => { }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Module_Ent_Mes_Formations.js b/src/components/Module_Ent_Mes_Formations.js index 18e7dd0..e0311e6 100644 --- a/src/components/Module_Ent_Mes_Formations.js +++ b/src/components/Module_Ent_Mes_Formations.js @@ -1912,9 +1912,10 @@ const Module_Ent_Mes_Formations = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { @@ -2224,9 +2225,10 @@ const Module_Ent_Mes_Formations = (props) => { "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, diff --git a/src/components/Module_Ent_Mes_Notes.js b/src/components/Module_Ent_Mes_Notes.js index 035fbed..a25eeb5 100644 --- a/src/components/Module_Ent_Mes_Notes.js +++ b/src/components/Module_Ent_Mes_Notes.js @@ -577,9 +577,10 @@ const Module_Ent_Mes_Notes = (props) => { "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, diff --git a/src/components/Module_Ent_Message_Public.js b/src/components/Module_Ent_Message_Public.js index 49c9f2c..02b462c 100644 --- a/src/components/Module_Ent_Message_Public.js +++ b/src/components/Module_Ent_Message_Public.js @@ -1228,9 +1228,10 @@ const Module_Ent_Message_Public = (props) => { "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, diff --git a/src/components/Module_Evaluation_Positionnement.js b/src/components/Module_Evaluation_Positionnement.js index 16724ab..cba5ba4 100644 --- a/src/components/Module_Evaluation_Positionnement.js +++ b/src/components/Module_Evaluation_Positionnement.js @@ -1212,9 +1212,10 @@ const Module_Evaluation_Positionnement = (props) => { "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Module_Historique_Action.js b/src/components/Module_Historique_Action.js index d0c5a7b..f795e8c 100644 --- a/src/components/Module_Historique_Action.js +++ b/src/components/Module_Historique_Action.js @@ -157,7 +157,7 @@ const Module_Historique_Action = (props) => { - {JSON.parse(event).date_update} + {JSON.parse(event).update_date} diff --git a/src/components/Module_Internal_Email_Management.js b/src/components/Module_Internal_Email_Management.js index d231943..7f22f67 100644 --- a/src/components/Module_Internal_Email_Management.js +++ b/src/components/Module_Internal_Email_Management.js @@ -1948,9 +1948,10 @@ const Module_Internal_Email_Management = (props) => { }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Module_Intranet_Client_Internal_Email_Management.js b/src/components/Module_Intranet_Client_Internal_Email_Management.js index 449810d..adf7574 100644 --- a/src/components/Module_Intranet_Client_Internal_Email_Management.js +++ b/src/components/Module_Intranet_Client_Internal_Email_Management.js @@ -1949,9 +1949,10 @@ const Module_Intranet_Client_Internal_Email_Management = (props) => { }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Module_Jury_Admission_Detail_Examen.js b/src/components/Module_Jury_Admission_Detail_Examen.js index ce83a54..d0cf96f 100644 --- a/src/components/Module_Jury_Admission_Detail_Examen.js +++ b/src/components/Module_Jury_Admission_Detail_Examen.js @@ -2528,9 +2528,10 @@ const Module_Jury_Admission_Detail_Examen = (props) => { }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Module_Jury_Selection_Apprenants.js b/src/components/Module_Jury_Selection_Apprenants.js index 7e8582e..4809f73 100644 --- a/src/components/Module_Jury_Selection_Apprenants.js +++ b/src/components/Module_Jury_Selection_Apprenants.js @@ -820,9 +820,10 @@ registerLocale('fr', fr); } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Module_Plateform_Admin_Partners.js b/src/components/Module_Plateform_Admin_Partners.js new file mode 100644 index 0000000..4b191dd --- /dev/null +++ b/src/components/Module_Plateform_Admin_Partners.js @@ -0,0 +1,2345 @@ +import React, { useRef, useState, useEffect } from "react"; +import TextField from '@mui/material/TextField'; +import { FcViewDetails, FcDisapprove } from "react-icons/fc"; +import { FcInfo } from "react-icons/fc"; +import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css +import Button from '@mui/material/Button'; +import axios from "axios"; +import Checkbox from '@mui/material/Checkbox'; +import { ResponsivePie } from '@nivo/pie' +import { ResponsiveBar } from "@nivo/bar"; +import excel_icone from "../mysy_img/excel_icone.png"; +import { TbArrowsDownUp } from "react-icons/tb"; +import { getCookie, setCookie } from 'react-use-cookie'; +import { useHistory } from "react-router-dom"; +import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; +import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; +import 'react-tooltip/dist/react-tooltip.css' +import Popup from 'reactjs-popup'; +import { FcCancel } from "react-icons/fc"; +import { FcCheckmark } from "react-icons/fc"; +import { FcMindMap } from "react-icons/fc"; +import { FcCopyright } from "react-icons/fc"; + +import 'reactjs-popup/dist/index.css'; +import VisibilityIcon from '@mui/icons-material/Visibility'; +import ArrowCircleDownIcon from '@mui/icons-material/ArrowCircleDown'; +import fr from 'date-fns/locale/fr'; +import { FcDataBackup } from "react-icons/fc"; +import { FcDataRecovery } from "react-icons/fc"; +import { BsFileEarmarkDiffFill } from "react-icons/bs"; + +import { registerLocale } from 'react-datepicker'; +import "react-datepicker/dist/react-datepicker.css"; +import 'moment/locale/fr'; +import { Fab } from "@material-ui/core"; +import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io"; +import fileDownload from 'js-file-download'; +import { AiTwotoneSave } from "react-icons/ai"; +import Box from '@mui/material/Box'; +import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; +import Autocomplete from '@mui/material/Autocomplete'; +import { gridClasses } from '@mui/x-data-grid'; +import Link from '@mui/material/Link'; +import { PiDotsThree } from "react-icons/pi"; +import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank'; +import CheckBoxIcon from '@mui/icons-material/CheckBox'; +import { CiTrash } from "react-icons/ci"; +import { IoAddCircleOutline } from "react-icons/io5"; +import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; +import { makeStyles } from "@material-ui/core/styles"; +import Paper from '@material-ui/core/Paper'; +import Draggable from 'react-draggable'; +import { IconButton } from '@material-ui/core'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import 'react-tooltip/dist/react-tooltip.css' +import { Tooltip } from 'react-tooltip' +import TextareaAutosize from '@mui/material/TextareaAutosize'; +import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; +import { FaComment } from "react-icons/fa6"; +import * as XLSX from 'xlsx'; +import MenuItem from '@mui/material/MenuItem'; +import { FcApproval, FcAcceptDatabase, FcPrint, FcPlanner, FcExpired } from "react-icons/fc"; +import { Typography, LinearProgress } from '@mui/material'; +import { + GridToolbarContainer, GridToolbarExport, GridToolbarColumnsButton, + GridToolbarFilterButton, GridToolbarDensitySelector, GridToolbarExportContainer, useGridApiContext, + gridFilteredSortedRowIdsSelector, + gridVisibleColumnFieldsSelector, + + +} from '@mui/x-data-grid'; +import styled from 'styled-components'; + +import warning_img from "../img_new_design_2025/warning_account_png.png"; + + +const useStyles = makeStyles((theme) => ({ + + dialog: { + position: 'absolute', + // left: 10, + top: 400 + }, + + paper: { + overflowY: 'unset', + }, + customizedButton: { + position: 'absolute', + left: '98%', + top: '-3%', + backgroundColor: 'lightgray', + color: 'gray', + }, +})); + +function PaperComponent(props) { + return ( + + + + ); +} + + + +const Module_Plateform_Admin_Partners = (props) => { + const classes = useStyles(); + const history = useHistory(); + const [submenu, setsubmenu] = useState(""); + const [rowss, setRows] = useState([]); + + + var date_today_90j = new Date(); + date_today_90j.setDate(date_today_90j.getDate() + 90); + + const [mouse_x, setmouse_x] = useState(""); + const [mouse_y, setmouse_y] = useState(""); + + const BorderLinearProgress = styled(LinearProgress)(() => ({ + height: "20px", + width: "60px", + borderRadius: "2px", + backgroundColor: " #ebf5fb", + "& .MuiLinearProgress-bar": { + backgroundColor: "#1bd900", + transition: "none", + transformOrigin: "left", + }, + })); + + const [gridline_inscrit_id, setgridline_inscrit_id] = useState(""); + + function ExpandableCell_50({ value }) { + const [expanded, setExpanded] = React.useState(false); + + return ( + + ); + } + + function ExpandableCell_50_bg_hiligt({ value }) { + const [expanded, setExpanded] = React.useState(false); + + return ( + + ); + } + + + const columns = [ + { field: '_id', headerName: '_id', hide: true, disableExport: true, }, + { field: 'id', headerName: 'id', hide: true, disableExport: true, }, + { + field: 'formation_initiale', headerName: 'formation_initiale', hide: true, disableExport: true, + }, + { + field: 'active', headerName: 'Actif', minWidth: 100, flex: 1, maxWidth: 100, hide: false, editable: false, editable: false, + + renderCell: (cellValues) => { + return ( + +
    + {New_Option_Oui_Non && New_Option_Oui_Non.length > 0 && + + } + +
    + + ); + }, + }, + + + { + field: 'locked', headerName: 'Verouillé', minWidth: 100, flex: 1, maxWidth: 100, hide: false, editable: false, editable: false, + + renderCell: (cellValues) => { + return ( + +
    + {New_Option_Oui_Non && New_Option_Oui_Non.length > 0 && + + } + +
    + + ); + }, + }, + + { + field: 'formation_initiale_code', headerName: 'Licence', minWidth: 100, flex: 1, maxWidth: 100, hide: false, editable: false, editable: false, + }, + + + + + { field: 'nom', headerName: 'nom', flex: 1, }, + { field: 'pack_service', headerName: 'Pack', flex: 1, hide: false, }, + { field: 'email', headerName: 'Email', flex: 1, hide: false, }, + { field: 'telephone', headerName: 'Télephone', flex: 1, hide: false, }, + { field: 'contact_nom', headerName: 'Contact Nom', width: 150, hide: true, }, + { field: 'contact_prenom', headerName: 'Contact Prenom', flex: 1, hide: true, }, + + { field: 'nb_class', headerName: 'Nb Ftions', flex: 1, hide: false, }, + { field: 'nb_session', headerName: 'Nb Sessions', flex: 1, hide: false, }, + { field: 'nb_inscrit', headerName: 'Nb Inscrits', flex: 1, hide: false, }, + + { + field: "change_licence", headerName: 'Changer Licence', disableExport: true, flex: 1, minWidth: 200, disableExport: true, + + renderCell: (cellValues) => { + return ( +
    + + {cellValues.row.formation_initiale !== "1" && <> + + + + + + + } + {cellValues.row.formation_initiale === "1" && <> + + + + } + + } + modal + nested + position="center center" + > + {close => ( +
    + +
    MySy Information
    +
    + {' '} +
    + +
    + +
    +
    + {cellValues.row.formation_initiale !== "1" && Attention : la confirmation de cette opération le partenaire passera en licence :
    +
    + Formation Initiale
    + +
    } + {cellValues.row.formation_initiale === "1" && Attention : la confirmation de cette opération le partenaire passera en licence :
    +
    + Formation Continue
    + +
    } +
    + +
    + + +
    +
    +
    + + +
    +
    + +
    +
    +
    + ) + } +
    +
    + + ); + } + }, + + + { + field: "Activation", headerName: 'Verrou.. / Déverrou.', disableExport: true, flex: 1, minWidth: 200, disableExport: true, + + renderCell: (cellValues) => { + return ( + + + {cellValues.row.locked !== "1" && <> + + + + + + + } + {cellValues.row.locked === "1" && <> + + + + } + + } + modal + nested + position="center center" + > + {close => ( +
    + +
    MySy Information
    +
    + {' '} +
    + +
    + +
    +
    + {cellValues.row.locked !== "1" && Attention : la confirmation de cette opération entraînera la désactivation des éléments suivants pour ce partenaire :
    + + +
    + - Blocage des comptes utilisateurs et étudiants
    + - Désactivation des formations associées + + + +
    } + {cellValues.row.locked === "1" && Attention : la confirmation de cette opération entraînera la réactivation des éléments suivants pour ce partenaire :
    +
    + - Les comptes utilisateurs et étudiants
    + - Les formations associées
    + +
    } +
    + +
    + + + + + + +
    +
    +
    + + +
    +
    + +
    +
    +
    + ) + } +
    + + + ); + } + } + + + + + ] + + + const New_civilite = [ + { "id": "mme", "label": "Mme", "value": "mme" }, + { "id": "m", "label": "M", "value": "m" }, + { "id": "neutre", "label": "Neutre", "value": "neutre" }, + { "id": "", "label": "", "value": "" }, + ] + + + const [Change_PF_Partner_Licence_type_api, setChange_PF_Partner_Licence_type_api] = useState(); + const [Change_PF_Partner_Licence_type_message, setChange_PF_Partner_Licence_type_message] = useState(); + const [Change_PF_Partner_Licence_type_result, setChange_PF_Partner_Licence_type_result] = useState(); + function Change_PF_Partner_Licence_type(local_pf_partner_id, current_pf_partner_formation_initiales) { + + var form = new FormData(); + + console.log(" current_pf_partner_formation_initiales = ", current_pf_partner_formation_initiales) + + var new_pf_partner_formation_initiales = "" + + if (current_pf_partner_formation_initiales === "1") { + new_pf_partner_formation_initiales = "0"; + } + + if (current_pf_partner_formation_initiales === "0") { + new_pf_partner_formation_initiales = "1"; + } + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", local_pf_partner_id); + form.append("formation_initiale", new_pf_partner_formation_initiales); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Change_PF_partner_account_Type_Licence_from_id/"; + + setLoading(true); + + axios.post(myurl, form).then(res => { + //console.log(" In Change_PF_Partner_Licence_type res.data.status = " + res.data.status); + //console.log(" In Change_PF_Partner_Licence_type res.data.message r_class = " + res.data.message); + setLoading(false); + if (String(res.data.status) === String("true")) { + setChange_PF_Partner_Licence_type_api("true"); + setChange_PF_Partner_Licence_type_result(res.data.message); + + setsubmenu(""); + setselected_id(""); + setgridline_id(""); + + GetListe_PF_Partners_With_Filter(); + + + setdisplay_alert_mysy("1"); + setalert_message(String(res.data.message)); + setalert_type("success"); + + + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setChange_PF_Partner_Licence_type_api("false"); + setChange_PF_Partner_Licence_type_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + }).catch((error) => { + setLoading(false); + console.log('Change_PF_Partner_Licence_type : Not good man :( Change_PF_Partner_Licence_type = ' + error); + setChange_PF_Partner_Licence_type_api("false"); + alert(" Impossible de traiter la demande"); + }) + } + + + + const [Active_Desactive_PF_Partner_Data_api, setActive_Desactive_PF_Partner_Data_api] = useState(); + const [Active_Desactive_PF_Partner_Data_message, setActive_Desactive_PF_Partner_Data_message] = useState(); + const [Active_Desactive_PF_Partner_Data_result, setActive_Desactive_PF_Partner_Data_result] = useState(); + function Active_Desactive_PF_Partner_Data(local_pf_partner_id, local_pf_partner_current_locked_status) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", local_pf_partner_id); + + var myurl = ""; + if (local_pf_partner_current_locked_status === "1") + myurl = process.env.REACT_APP_API_URL + "myclass/api/UnLock_PF_partner_account_And_Sub_Accound_from_id/"; + else + myurl = process.env.REACT_APP_API_URL + "myclass/api/Lock_PF_partner_account_And_Sub_Accound_from_id/"; + + setLoading(true); + + axios.post(myurl, form).then(res => { + //console.log(" In Active_Desactive_PF_Partner_Data res.data.status = " + res.data.status); + //console.log(" In Active_Desactive_PF_Partner_Data res.data.message r_class = " + res.data.message); + setLoading(false); + if (String(res.data.status) === String("true")) { + setActive_Desactive_PF_Partner_Data_api("true"); + setActive_Desactive_PF_Partner_Data_result(res.data.message); + + setsubmenu(""); + setselected_id(""); + setgridline_id(""); + + GetListe_PF_Partners_With_Filter(); + + + setdisplay_alert_mysy("1"); + setalert_message(String(res.data.message)); + setalert_type("success"); + + + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setActive_Desactive_PF_Partner_Data_api("false"); + setActive_Desactive_PF_Partner_Data_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + }).catch((error) => { + setLoading(false); + console.log('Active_Desactive_PF_Partner_Data : Not good man :( Active_Desactive_PF_Partner_Data = ' + error); + setActive_Desactive_PF_Partner_Data_api("false"); + alert(" Impossible de traiter la demande"); + }) + } + + + const [New_GetListe_PF_Partners_With_Filter_insc_result, setNew_GetListe_PF_Partners_With_Filter_insc_result] = useState([]); + + + const [New_tab_entete_PF_Partners, setNew_tab_entete_PF_Partners] = useState([]); + + const [New_tab_trier_par, setNew_tab_trier_par] = useState([]); + + const [GetListe_PF_Partners_With_Filter_insc_api, setGetListe_PF_Partners_With_Filter_insc_api] = useState(); + const [GetListe_PF_Partners_With_Filter_insc_message, setGetListe_PF_Partners_With_Filter_insc_message] = useState(); + const [GetListe_PF_Partners_With_Filter_insc_result, setGetListe_PF_Partners_With_Filter_insc_result] = useState([]) + function GetListe_PF_Partners_With_Filter() { + + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + setLoading(true); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Plateforme_Partnaire_With_Filter/"; + + fetch(myurl, + { + method: 'POST', + body: form, + }) + .then((data) => data.json()) + .then((data) => { + setLoading(false); + // console.log(' GetListe_PF_Partners_With_Filter : Success:', data['message'], "data['status'] = ", data['status']); + setGetListe_PF_Partners_With_Filter_insc_result(data['message']); + + if (String(data['status']) === String("true")) { + + setGetListe_PF_Partners_With_Filter_insc_api("true"); + + var local_trier_par = []; + // on ajoute le statut + + local_trier_par.push("nom"); + local_trier_par.push("email"); + local_trier_par.push("telephone"); + local_trier_par.push("active"); + local_trier_par.push("locked"); + + local_trier_par.push("contact_nom"); + local_trier_par.push("contact_prenom"); + local_trier_par.push("contact_tel"); + local_trier_par.push("contact_mail"); + + local_trier_par.push("pack_service"); + + + + var local_entete = []; + var new_data2 = []; + + var local_tab_entete_pf = [] + + local_tab_entete_pf.push("Actif"); + local_tab_entete_pf.push("Nom"); + local_tab_entete_pf.push("Pack Service"); + + local_tab_entete_pf.push("Email"); + local_tab_entete_pf.push("Télephone"); + local_tab_entete_pf.push("Verrouillé"); + + local_tab_entete_pf.push("Contact Nom"); + local_tab_entete_pf.push("Contact Prenom"); + local_tab_entete_pf.push("Contact Tél"); + local_tab_entete_pf.push("Contact Mail"); + + setNew_tab_entete_PF_Partners(local_tab_entete_pf); + + const new_data = data['message'].map((x) => { + + local_entete = [] + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var nom = JSON.parse(x).nom; + var email = JSON.parse(x).email; + var telephone = JSON.parse(x).telephone; + var pack_service = JSON.parse(x).pack_service; + var contact_nom = JSON.parse(x).contact_nom; + var contact_prenom = JSON.parse(x).contact_prenom; + var contact_tel = JSON.parse(x).contact_tel; + var contact_mail = JSON.parse(x).contact_mail; + var active = JSON.parse(x).active; + var locked = JSON.parse(x).locked; + var pack_service = JSON.parse(x).pack_service; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": nom, + "nom": nom, + "email": email, + "telephone": telephone, + "pack_service": pack_service, + "contact_nom": contact_nom, + "contact_prenom": contact_prenom, + "contact_tel": contact_tel, + "contact_mail": contact_mail, + "active": active, + "locked": locked, + "pack_service": pack_service, + }; + + new_data2.push(node); + + + }); + + if (new_data2.length > 0) { + setNew_GetListe_PF_Partners_With_Filter_insc_result(new_data2); + local_trier_par.push("") + setNew_tab_trier_par(local_trier_par); + + } else { + setNew_GetListe_PF_Partners_With_Filter_insc_result([]); + + } + + + + } else if (String(data['status']) === String("Err_Connexion")) { + alert('Erreur: ' + data['message']); + history.push("/Connexion"); + } + else { + setGetListe_PF_Partners_With_Filter_insc_api("false"); + + } + + }).catch((error) => { + setLoading(false); + console.error('Error:', error); + setGetListe_PF_Partners_With_Filter_insc_api("false"); + }); + + } + + + + // DEBUT EXPORT EXCEL DATAGRID + + function CustomToolbar(props) { + + + return ( + + + + + + + + + + + ); + } + + function getExcelData(apiRef) { + // Select rows and columns + const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef); + const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__"); + + // Format the data. Here we only keep the value + const data = filteredSortedRowIds.map((id) => { + const row = {}; + visibleColumnsField.forEach((field) => { + row[field] = apiRef.current.getCellParams(id, field).value; + }); + return row; + }); + + return data; + } + + + function ExportButton(props) { + return ( + + + + ); + } + + function handleExport(apiRef, data_colums) { + const data = getExcelData(apiRef); + const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__"); + + + const local_config = { + keys: visibleColumnsField, + + columnNames: data_colums.filter((mydata) => (mydata).disableExport !== true).map(function (mydata) { + if (mydata.headerName && visibleColumnsField.includes(mydata.field)) { + if (mydata.headerName) { + return mydata.headerName; + } + } + + }), + + fileName: 'data_' + String(new Date().toJSON().slice(0, 10)).replaceAll("-", "_") + '.xlsx', + sheetName: 'Export_' + String(new Date().toJSON().slice(0, 10)).replaceAll("-", "_"), + }; + + local_config.columnNames = local_config.columnNames.filter(function (element) { + return element !== undefined; + }); + + + const rows = data.map((row) => { + const mRow = {}; + for (const key of local_config.keys) { + mRow[key] = row[key]; + } + return mRow; + }); + + const worksheet = XLSX.utils.json_to_sheet(rows); + XLSX.utils.sheet_add_aoa(worksheet, [[...local_config.columnNames]], { + origin: 'A1', + }); + + const workbook = XLSX.utils.book_new(); + XLSX.utils.book_append_sheet(workbook, worksheet, local_config.sheetName); + XLSX.writeFile(workbook, local_config.fileName, { compression: true }); + } + + function ExportMenuItem(props) { + const apiRef = useGridApiContext(); + const { hideMenu } = props; + + return ( + { + handleExport(apiRef, props.data_colums); + // Hide the export menu after the export + hideMenu?.(); + }} + > + Export Excel + + ); + } + + // FIN EXPORT EXCEL DATAGRID + + const [isLoading, setLoading] = useState(); + const [selectionModel, setselectionModel] = React.useState([]); + const [selectionModel_inscrit, setselectionModel_inscrit] = React.useState([]); + + + const [selectionModel_grp_apprenant, setselectionModel_grp_apprenant] = React.useState([]); + + + const [display_alert_mysy, setdisplay_alert_mysy] = useState(""); + const [alert_message, setalert_message] = useState(""); + const [alert_type, setalert_type] = useState(""); + + function clear_alert_message() { + setalert_message(""); + } + function clear_alert_type() { + setalert_type(""); + } + function clear_display_alert_mysy() { + setdisplay_alert_mysy(""); + } + + useEffect(() => { + GetListe_PF_Partners_With_Filter(); + + window.scrollTo({ + top: 0, + behavior: "smooth", + }); + + }, []) + + + const New_Option_Document_Acceptance_Status = [ + { "id": "1", "label": "Accepté", "value": "1" }, + { "id": "2", "label": "Liste Att.", "value": "2" }, + { "id": "0", "label": "Réfuse", "value": "2" }, + { "id": "-1", "label": "Annulé", "value": "-1" }, + + { "id": "", "label": "", "value": "" }, + ] + + function isNumeric(value) { + return /^-?\d+$/.test(value); + } + + const [istrier, setistrier] = useState(); + const [trier_par, settrier_par] = useState(""); + + const [trier_order_by, settrier_order_by] = useState("1"); + + + + function trier_v2(local_value) { + setistrier(); + var trierpar = local_value; + + if (local_value === "Validation") + trierpar = "status"; + else if (local_value === "Nom") + trierpar = "nom"; + else if (local_value === "Prenom") + trierpar = "prenom"; + else if (local_value === "Genre") + trierpar = "civilite"; + else if (local_value === "Age") + trierpar = "age"; + + + var tmp_sorted_data = GetListe_PF_Partners_With_Filter_insc_result; + + + if (trier_order_by === "1") { + tmp_sorted_data.sort(function (a, b) { + var keyA = (JSON.parse(a)[trierpar]), + keyB = (JSON.parse(b)[trierpar]); + + + // Compare the 2 dates + if (keyA < keyB) return -1; + if (keyA > keyB) return 1; + return 0; + }); + } + + else { + console.log(" ORD ----1"); + tmp_sorted_data.sort(function (a, b) { + var keyA = (JSON.parse(a)[trierpar]), + keyB = (JSON.parse(b)[trierpar]); + + // Compare the 2 dates + if (keyA > keyB) return -1; + if (keyA < keyB) return 1; + return 0; + }); + + } + + setGetListe_PF_Partners_With_Filter_insc_result(tmp_sorted_data); + + if (trier_order_by === "1") + settrier_order_by("-1"); + else + settrier_order_by("1"); + + } + + + function exportJsonToExcel() { + // Create a new workbook + const workbook = XLSX.utils.book_new(); + + // Convert JSON data to a worksheet + const worksheet = XLSX.utils.json_to_sheet(New_GetListe_PF_Partners_With_Filter_insc_result); + + // Append the worksheet to the workbook + XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1"); + + // Export the workbook as an Excel file + XLSX.writeFile(workbook, "data.xlsx"); + } + + + const [Update_Inscrit_Only_Status_api, setUpdate_Inscrit_Only_Status_api] = useState(); + const [Update_Inscrit_Only_Status_message, setUpdate_Inscrit_Only_Status_message] = useState(); + const [Update_Inscrit_Only_Status_result, setUpdate_Inscrit_Only_Status_result] = useState(); + function Update_Inscrit_Only_Status(local_admiss_session_id, new_status) { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", local_admiss_session_id); + form.append("new_status", new_status); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Stagiaire_Only_Status_Admission_Session/"; + + //setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Update_Inscrit_Only_Status res.data.status = " + res.data.status); + //console.log(" In Update_Inscrit_Only_Status res.data.message r_class = " + res.data.message); + + //setLoading(false); + if (String(res.data.status) === String("true")) { + setUpdate_Inscrit_Only_Status_api("true"); + setUpdate_Inscrit_Only_Status_result(res.data.message); + GetListe_PF_Partners_With_Filter(); + } + else { + setUpdate_Inscrit_Only_Status_api("false"); + setUpdate_Inscrit_Only_Status_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + //setLoading(false); + console.warn('UpdateStagiaireData : Not good man :( Update_Inscrit_Only_Status = ' + error); + setUpdate_Inscrit_Only_Status_api("false"); + alert(" Impossible de mettre à jour le statut du candidat"); + + }) + } + + const New_Option_Oui_Non = [ + { "id": "1", "label": "Oui", "value": "1" }, + { "id": "0", "label": "Non", "value": "0" }, + { "id": "", "label": "", "value": "" }, + + ] + + + const New_Option_type_licence = [ + { "id": "1", "label": "F. Initiale", "value": "1" }, + { "id": "0", "label": "F. Continue", "value": "0" }, + { "id": "", "label": "", "value": "" }, + + ] + + const [partner_data_changed, setpartner_data_changed] = useState(""); + const [partner_display, setpartner_display] = useState(""); + + const [selected_id, setselected_id] = useState(""); + const [gridline_id, setgridline_id] = useState(""); + + + + const myRef_detail = useRef(null) + function submenu_display_detail_pf_partner() { + setsubmenu("detail_partner"); + + if (document.getElementById('myRef_detail')) { + var divh = document.getElementById('myRef_detail').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + + + const [p_detail_partner_id, setp_detail_partner_id] = useState(""); + const [p_detail_partner_nom, setp_detail_partner_nom] = useState(""); + + const [p_detail_partner_email, setp_detail_partner_email] = useState(""); + const [p_detail_partner_telephone, setp_detail_partner_telephone] = useState(""); + const [p_detail_partner_invoice_nom, setp_detail_partner_invoice_nom] = useState(""); + const [p_detail_partner_invoice_email, setp_detail_partner_invoice_email] = useState(""); + const [p_detail_partner_invoice_telephone, setp_detail_partner_invoice_telephone] = useState(""); + const [p_detail_partner_contact_nom, setp_detail_partner_contact_nom] = useState(""); + const [p_detail_partner_contact_prenom, setp_detail_partner_contact_prenom] = useState(""); + const [p_detail_partner_contact_tel, setp_detail_partner_contact_tel] = useState(""); + const [p_detail_partner_contact_mail, setp_detail_partner_contact_mail] = useState(""); + + const [p_detail_partner_active, setp_detail_partner_active] = useState(""); + const [p_detail_partner_locked, setp_detail_partner_locked] = useState(""); + const [p_detail_partner_lms_virtualhost_url, setp_detail_partner_lms_virtualhost_url] = useState(""); + const [p_detail_partner_date_update, setp_detail_partner_date_update] = useState(""); + const [p_detail_partner_formation_initiale, setp_detail_partner_formation_initiale] = useState(""); + + const [p_detail_partner_adr_street, setp_detail_partner_adr_street] = useState(""); + const [p_detail_partner_adr_zip, setp_detail_partner_adr_zip] = useState(""); + const [p_detail_partner_adr_city, setp_detail_partner_adr_city] = useState(""); + const [p_detail_partner_adr_country, setp_detail_partner_adr_country] = useState(""); + const [p_detail_partner_invoice_adr_street, setp_detail_partner_invoice_adr_street] = useState(""); + + const [p_detail_partner_invoice_adr_zip, setp_detail_partner_invoice_adr_zip] = useState(""); + const [p_detail_partner_invoice_adr_city, setp_detail_partner_invoice_adr_city] = useState(""); + const [p_detail_partner_invoice_adr_country, setp_detail_partner_invoice_adr_country] = useState(""); + const [p_detail_partner_pack_service, setp_detail_partner_pack_service] = useState(""); + + const [p_detail_partner_nb_partner_account, setp_detail_partner_nb_partner_account] = useState("0"); + const [p_detail_partner_nb_user_account, setp_detail_partner_nb_user_account] = useState("0"); + + + const [p_detail_partner_nb_class, setp_detail_partner_nb_class] = useState("0"); + const [p_detail_partner_nb_session, setp_detail_partner_nb_session] = useState("0"); + const [p_detail_partner_nb_inscrit, setp_detail_partner_nb_inscrit] = useState("0"); + const [p_detail_partner_type_licence, setp_detail_partner_type_licence] = useState(""); + + const [p_detail_partner_type_licence_code, setp_detail_partner_type_licence_code] = useState(""); + + + const [New_Get_Given_PF_Partner_Data_result, setNew_Get_Given_PF_Partner_Data_result] = useState([]); + + const [Get_Given_PF_Partner_Data_api, setGet_Given_PF_Partner_Data_api] = useState(); + const [Get_Given_PF_Partner_Data_message, setGet_Given_PF_Partner_Data_message] = useState(); + const [Get_Given_PF_Partner_Data_result, setGet_Given_PF_Partner_Data_result] = useState([]); + function Get_Given_PF_Partner_Data(local_partner_id) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", local_partner_id); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_partner_account_from_id/"; + + axios.post(myurl, form).then(res => { + // console.log(" In Get_Given_PF_Partner_Data res.data.status = " + res.data.status); + // console.log(" In Get_Given_PF_Partner_Data res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + + setGet_Given_PF_Partner_Data_api("true"); + setGet_Given_PF_Partner_Data_result(res.data.message); + + var local_partner = JSON.parse(res.data.message); + + if (local_partner._id) { + setp_detail_partner_id(local_partner._id); + + } else { + setp_detail_partner_id(""); + } + + if (local_partner.nom) { + setp_detail_partner_nom(local_partner.nom); + + } else { + setp_detail_partner_nom(""); + } + + if (local_partner.email) { + setp_detail_partner_email(local_partner.email); + + } else { + setp_detail_partner_email(""); + } + + + if (local_partner.telephone) { + setp_detail_partner_telephone(local_partner.telephone); + + } else { + setp_detail_partner_telephone(""); + } + + if (local_partner.invoice_nom) { + setp_detail_partner_invoice_nom(local_partner.invoice_nom); + + } else { + setp_detail_partner_invoice_nom(""); + } + + if (local_partner.invoice_email) { + setp_detail_partner_invoice_email(local_partner.invoice_email); + + } else { + setp_detail_partner_invoice_email(""); + } + + if (local_partner.invoice_telephone) { + setp_detail_partner_invoice_telephone(local_partner.invoice_telephone); + + } else { + setp_detail_partner_invoice_telephone(""); + } + + if (local_partner.contact_nom) { + setp_detail_partner_contact_nom(local_partner.contact_nom); + + } else { + setp_detail_partner_contact_nom(""); + } + + if (local_partner.contact_prenom) { + setp_detail_partner_contact_prenom(local_partner.contact_prenom); + + } else { + setp_detail_partner_contact_prenom(""); + } + + + if (local_partner.contact_tel) { + setp_detail_partner_contact_tel(local_partner.contact_tel); + + } else { + setp_detail_partner_contact_tel(""); + } + + + if (local_partner.contact_mail) { + setp_detail_partner_contact_mail(local_partner.contact_mail); + + } else { + setp_detail_partner_contact_mail(""); + } + + if (local_partner.active) { + setp_detail_partner_active(local_partner.active); + + } else { + setp_detail_partner_active(""); + } + + if (local_partner.locked) { + setp_detail_partner_locked(local_partner.locked); + + } else { + setp_detail_partner_locked(""); + } + + if (local_partner.lms_virtualhost_url) { + setp_detail_partner_lms_virtualhost_url(local_partner.lms_virtualhost_url); + + } else { + setp_detail_partner_lms_virtualhost_url(""); + } + + if (local_partner.update_date) { + setp_detail_partner_date_update(local_partner.update_date); + + } else { + setp_detail_partner_date_update(""); + } + + if (local_partner.formation_initiale) { + setp_detail_partner_formation_initiale(local_partner.formation_initiale); + + } else { + setp_detail_partner_formation_initiale(""); + } + + if (local_partner.adr_street) { + setp_detail_partner_adr_street(local_partner.adr_street); + + } else { + setp_detail_partner_adr_street(""); + } + + if (local_partner.adr_zip) { + setp_detail_partner_adr_zip(local_partner.adr_zip); + + } else { + setp_detail_partner_adr_zip(""); + } + + + if (local_partner.adr_city) { + setp_detail_partner_adr_city(local_partner.adr_city); + + } else { + setp_detail_partner_adr_city(""); + } + + + if (local_partner.adr_country) { + setp_detail_partner_adr_country(local_partner.adr_country); + + } else { + setp_detail_partner_adr_country(""); + } + + + if (local_partner.invoice_adr_street) { + setp_detail_partner_invoice_adr_street(local_partner.invoice_adr_street); + + } else { + setp_detail_partner_invoice_adr_street(""); + } + + if (local_partner.invoice_adr_zip) { + setp_detail_partner_invoice_adr_zip(local_partner.invoice_adr_zip); + + } else { + setp_detail_partner_invoice_adr_zip(""); + } + + if (local_partner.invoice_adr_city) { + setp_detail_partner_invoice_adr_city(local_partner.invoice_adr_city); + + } else { + setp_detail_partner_invoice_adr_city(""); + } + + if (local_partner.invoice_adr_country) { + setp_detail_partner_invoice_adr_country(local_partner.invoice_adr_country); + + } else { + setp_detail_partner_invoice_adr_country(""); + } + + if (local_partner.pack_service) { + setp_detail_partner_pack_service(local_partner.pack_service); + + } else { + setp_detail_partner_pack_service(""); + } + + if (local_partner.nb_partner_account) { + setp_detail_partner_nb_partner_account(local_partner.nb_partner_account); + + } else { + setp_detail_partner_nb_partner_account(""); + } + + if (local_partner.nb_user_account) { + setp_detail_partner_nb_user_account(local_partner.nb_user_account); + + } else { + setp_detail_partner_nb_user_account(""); + } + + + + if (local_partner.nb_class) { + setp_detail_partner_nb_class(local_partner.nb_class); + + } else { + setp_detail_partner_nb_class("0"); + } + + + if (local_partner.nb_session) { + setp_detail_partner_nb_session(local_partner.nb_session); + + } else { + setp_detail_partner_nb_session("0"); + } + + + if (local_partner.nb_inscrit) { + setp_detail_partner_nb_inscrit(local_partner.nb_inscrit); + + } else { + setp_detail_partner_nb_inscrit("0"); + } + + + if (local_partner.formation_initiale) { + setp_detail_partner_type_licence(local_partner.formation_initiale); + + } else { + setp_detail_partner_type_licence(""); + } + + if (local_partner.formation_initiale_code) { + setp_detail_partner_type_licence_code(local_partner.formation_initiale_code); + + } else { + setp_detail_partner_type_licence_code(""); + } + + Disable_pf_partner_DetailFields(); + + } + else { + setGet_Given_PF_Partner_Data_api("false"); + setGet_Given_PF_Partner_Data_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + }).catch((error) => { + console.warn('Not good man :( Get_Given_PF_Partner_Data = ', error); + setGet_Given_PF_Partner_Data_api("false"); + alert(" Impossible de récuperer les données du partenaire"); + //setmyApimyApiMessage("") + }) + } + + + + function Disable_pf_partner_DetailFields() { + var liste_champs = ["my_nom", "my_mail", "my_tel", "my_adresse", "my_cp", "my_ville", + "my_pays", "fact_nom", "fact_mail", "fact_tel", "fact_adr", "fact_cp", + "fact_ville", "fact_pays", "my_type_licence_code", "contact_nom", "contact_prenom", "contact_mail", "contact_tel"] + + + for (let i = 0; i < liste_champs.length; i++) { + + if (document.getElementsByName(String(liste_champs[i])) && document.getElementsByName(String(liste_champs[i]))[0]) { + document.getElementsByName(String(liste_champs[i]))[0].disabled = true; + document.getElementsByName(String(liste_champs[i]))[0].style.backgroundColor = "#ECEFF1"; + + } + } + + } + + return ( +
    + + {isLoading &&
    +
    +
    } + + {/*** Affichage des messages d'alerte*/} + {display_alert_mysy && String(display_alert_mysy) === "1" && + + } + {/*** FIN Affichage des messages d'alerte*/} + + + +

    Liste des partenaires de la plateforme

    + +
    + + {/* +
    +   +
    + +
    + + + + + + +
    + zzzz + +
    + + + + + + + + + + + + + + + + + + + + + + + + + {GetListe_PF_Partners_With_Filter_insc_result && GetListe_PF_Partners_With_Filter_insc_result.length > 0 && + GetListe_PF_Partners_With_Filter_insc_result.map((item) => ( + { + + + setselected_id(JSON.parse(item)._id); + setgridline_id(JSON.parse(item).id); + submenu_display_detail_pf_partner(); + Get_Given_PF_Partner_Data(JSON.parse(item)._id); + + }} style={{ cursor: 'pointer' }}> + + + + + + + + + + + + + + + + + + + ))} + +
    + + Actif + + NomPack ServiceEmailTélephoneContact NomContact PrenomContact TélContact Mail + Activer / Désact. +
    + + {New_Option_Oui_Non && New_Option_Oui_Non.length > 0 && (data).value === String(JSON.parse(item).active))[0].label} + />} + + {JSON.parse(item).nom}{JSON.parse(item).pack_service}{JSON.parse(item).email}{JSON.parse(item).telephone}{JSON.parse(item).contact_nom}{JSON.parse(item).contact_prenom}{JSON.parse(item).contact_tel}{JSON.parse(item).contact_mail}Activ/dective
    +
    +
    + + +
    */} + +
    +
    +   + + { + setselectionModel(newSelectionModel); + /*if (newSelectionModel.length === 1) + handleClick_edit_materiel_From_Line(newSelectionModel); + */ + if (newSelectionModel.length !== 1) { + + } + }} + selectionModel={selectionModel} + + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={GetListe_PF_Partners_With_Filter_insc_result.map((item, index) => ( + { + id: index, + _id: JSON.parse(item)._id, + active: JSON.parse(item).active, + locked: JSON.parse(item).locked, + nom: JSON.parse(item).nom, + pack_service: JSON.parse(item).pack_service, + email: JSON.parse(item).email, + telephone: JSON.parse(item).telephone, + contact_nom: JSON.parse(item).contact_nom, + contact_prenom: JSON.parse(item).contact_prenom, + contact_tel: JSON.parse(item).contact_tel, + contact_mail: JSON.parse(item).contact_mail, + formation_initiale: JSON.parse(item).formation_initiale, + formation_initiale_code: JSON.parse(item).formation_initiale_code, + + nb_class: JSON.parse(item).nb_class, + nb_session: JSON.parse(item).nb_session, + nb_inscrit: JSON.parse(item).nb_inscrit, + + } + ))} + + columns={columns} + pageSize={10} + className="datagridclass" + + onRowDoubleClick={(newSelectionModel) => { + + setselected_id(newSelectionModel.row._id); + setgridline_id(newSelectionModel.row.id); + submenu_display_detail_pf_partner(); + Get_Given_PF_Partner_Data(newSelectionModel.row._id); + + }} + + + 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'; + } + + // Pour la gestion de la couleur de zone double cliquée + if (String(params.row.id) === String(gridline_id)) { + return 'line--statut--selected'; + } + else if (parseInt(String(params.row.id)) % 2 === 0) { + return 'line--statut--pair'; + } + else if (parseInt(String(params.row.id)) % 2 !== 0) { + return 'line--statut--impair'; + } + + }} + + sx={{ + fontFamily: 'DM Sans', + }} + + /> + +
    + +
    + +
    + +
     
    + + +
    + + {submenu && submenu === "detail_partner" &&
    +
    Info Partenaire
    +
    +
    + +
    +
    + +
    + Infos Générales +
    + +
    + +
    Nom Partenaire
    + +
    + +
    Type Licence
    + +
    + +
    Email
    + +
    + +
    Télephone
    + +
    +
     
    + +
    Adresse
    + +
    + + + +
    Code Postal
    + +
    + +
    Ville
    + +
    + +
    Pays
    + +
    + + +
    +
    +
    + +
    + +
    + +
    + Info Contact +
    + +
    + +
    Contact Nom
    + +
    + +
    Contact Prénom
    + +
    + +
    Contact Email
    + +
    + + +
    Contact Tel
    + +
    + +
     
    + + + +
    +
    + +
     
    + +
    + +
    + Info Facturation +
    + +
    + +
    Facturation Nom
    + +
    + +
    Facturation mail
    + +
    + + +
    Facturation Tel
    + +
    + +
     
    + +
    Facturation Adresse
    + +
    + + +
    Facturation Code Postal
    + +
    + + + + +
    Facturation Ville
    + +
    + + +
    Facturation Pays
    + +
    + + +
    +
    + + +
    + +
    + +
    + +
    + + +
    +
    + +
    +
    + +
    + Statistiques sur les comptes +
    + +
    + +
    +
    + +
    + Compte Utilisateurs +
    + + +
    +
    + + +
    +
    + +
    + Compte Etudiants +
    + + +
    +
    + +
    + + + + + +
    +
    + + +
    +
    + +
    + Statistiques sur les formations +
    + +
    + +
    +
    +
    + Nb Formations +
    + + +
    +
    + + +
    +
    + +
    + Nb Sessions / Promotions +
    + + +
    +
    + + +
    +
    + +
    + Nb Inscrits +
    + + +
    +
    + +
    + +
    +
    + + + +
    + +
    + +
    } + + +
    + ); +} + +export default Module_Plateform_Admin_Partners; + + +const local_css = ` + .ck-card { + background: white; + border-radius: 14px; + padding: 16px; + // max-width: 720px; + box-shadow: 0 8px 20px rgba(0,0,0,0.06); + font-family: "Dm Sans", system-ui, sans-serif; +} + + .ck-title { + margin - bottom: 12px; + font-family: "Dm Sans", system-ui, sans-serif; +} + + .ck-table { + width: 100%; + border-collapse: collapse; + font-family: "Dm Sans", system-ui, sans-serif; + font-size: small !important; +} + + .ck-table th, + .ck-table td { + padding: 10px; + border-bottom: 1px solid #eee; + text-align: left; + font-family: "Dm Sans", system-ui, sans-serif; + font-size: small !important; +} + + + .Grid_2_col{ + margin - top: 12px; + display:grid; + grid-template-columns: 1.2fr 1fr; + gap: 14px; +} + + .Grid_2_col_sub_colone { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 14px; + box-shadow: 0 6px 18px rgba(2,6,23,.04); + padding: 0px; + display: flex; + flex-direction: column; + gap: 14px; + margin : 5px +} + + + .Grid_2_col_sub_colone_header { + background: #dbeafe; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + text-align: center; + letter-spacing: 1px; + font-size: small; + font-family: DM Sans; + font-weight: 700; + height: 2rem; + padding-top: 5px; +} + + `; diff --git a/src/components/Module_Pole_Actvitie_Pedagogique.js b/src/components/Module_Pole_Actvitie_Pedagogique.js new file mode 100644 index 0000000..1e54d95 --- /dev/null +++ b/src/components/Module_Pole_Actvitie_Pedagogique.js @@ -0,0 +1,2720 @@ +import React, { useRef, useState, useEffect } from "react"; +import TextField from '@mui/material/TextField'; +import { FcViewDetails, FcDisapprove } from "react-icons/fc"; +import { FcInfo } from "react-icons/fc"; +import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css +import Button from '@mui/material/Button'; +import axios from "axios"; +import { getCookie, setCookie } from 'react-use-cookie'; +import { useHistory } from "react-router-dom"; +import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; +import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; +import 'react-tooltip/dist/react-tooltip.css' +import Popup from 'reactjs-popup'; +import 'reactjs-popup/dist/index.css'; +import fr from 'date-fns/locale/fr'; +import { registerLocale } from 'react-datepicker'; +import "react-datepicker/dist/react-datepicker.css"; +import 'moment/locale/fr'; +import Box from '@mui/material/Box'; +import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; +import Autocomplete from '@mui/material/Autocomplete'; +import { gridClasses } from '@mui/x-data-grid'; +import Link from '@mui/material/Link'; +import { PiDotsThree } from "react-icons/pi"; +import { FcAcceptDatabase, } from "react-icons/fc"; +import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank'; +import CheckBoxIcon from '@mui/icons-material/CheckBox'; + +import { CiTrash } from "react-icons/ci"; +import { IoAddCircleOutline } from "react-icons/io5"; +import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; +import { makeStyles } from "@material-ui/core/styles"; +import Paper from '@material-ui/core/Paper'; +import Draggable from 'react-draggable'; +import { IconButton } from '@material-ui/core'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import 'react-tooltip/dist/react-tooltip.css' +import { Tooltip } from 'react-tooltip' +import TextareaAutosize from '@mui/material/TextareaAutosize'; +import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; +import { FaComment } from "react-icons/fa6"; + +const useStyles = makeStyles((theme) => ({ + + dialog: { + position: 'absolute', + // left: 10, + top: 400 + }, + + paper: { + overflowY: 'unset', + }, + customizedButton: { + position: 'absolute', + left: '98%', + top: '-3%', + backgroundColor: 'lightgray', + color: 'gray', + }, +})); + +function PaperComponent(props) { + return ( + + + + ); +} + + + +const Module_Pole_Actvitie_Pedagogique = (props) => { + const classes = useStyles(); + const history = useHistory(); + const [submenu, setsubmenu] = useState(""); + const [rowss, setRows] = useState([]); + + + var date_today_90j = new Date(); + date_today_90j.setDate(date_today_90j.getDate() + 90); + + const [mouse_x, setmouse_x] = useState(""); + const [mouse_y, setmouse_y] = useState(""); + + const [p_filtre1, setp_filtre1] = useState("Inscrit "); + const [p_filtre1_value, setp_filtre1_value] = useState(""); + + const [p_filtre2, setp_filtre2] = useState("Type de groupe"); + const [p_filtre2_value, setp_filtre2_value] = useState(""); + + const [p_filtre3, setp_filtre3] = useState(""); + const [p_filtre3_value, setp_filtre3_value] = useState(""); + + const [p_filtre4, setp_filtre4] = useState(""); + const [p_filtre4_value, setp_filtre4_value] = useState(""); + + const [selectionModel, setSelectionModel] = React.useState([]); + + const [selectionModel_taches_with_code, setselectionModel_taches_with_code] = React.useState([]); + + function ExpandableCell_50({ value }) { + const [expanded, setExpanded] = React.useState(false); + + return ( + + ); + } + + const [selected_id, setselected_id] = useState(""); + + const [gridline_id, setgridline_id] = useState(""); + + const [gridline_tache_id, setgridline_tache_id] = useState(""); + + + + const columns = [ + { field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, }, + { field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, }, + { field: 'code', headerName: 'Code', flex: 1, hide: false, maxWidth: 180, renderCell: (params) => , }, + { field: 'description', headerName: 'Description', flex: 1, hide: false, minWidth: 200, renderCell: (params) => , }, + + { + field: 'commentaire', headerName: 'Commentaire', flex: 1, maxWidth: 250, renderCell: (params) => , + + }, + + + + { + field: "delete", headerName: 'Supprimer', + renderCell: (cellValues) => { + return ( + <> + { + // handleClick_delete(event, cellValues); + }} + > + + + } + modal + nested + position="center center" + > + {close => ( +
    + +
    MySy Information
    +
    + {' '} + + En confirmant cette opération, l'activité sera définitivement supprimée.
    + +
    +
    +
    + + +
    +
    + +
    +
    +
    + )} +
    + + + + ); + } + } + + ] + + + const column_bloc_competence = [ + { field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, }, + { field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, }, + { field: 'code', headerName: 'Code', flex: 1, hide: false, maxWidth: 180, renderCell: (params) => , }, + { field: 'description', headerName: 'Description', flex: 1, hide: false, minWidth: 200, renderCell: (params) => , }, + + { + field: "delete", headerName: 'Supprimer', + renderCell: (cellValues) => { + return ( + <> + { + // handleClick_delete(event, cellValues); + }} + > + + + } + modal + nested + position="center center" + > + {close => ( +
    + +
    MySy Information
    +
    + {' '} + + En confirmant cette opération, la tâche sera définitivement supprimée de cette activité .
    + +
    +
    +
    + + +
    +
    + +
    +
    +
    + )} +
    + + + + ); + } + } + + ] + + const column_bloc_activite = [ + { field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, }, + { field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, }, + { field: 'code', headerName: 'Code', flex: 1, hide: false, maxWidth: 180, renderCell: (params) => , }, + { field: 'rang', headerName: 'Rang', hide: false, maxWidth: 100, renderCell: (params) => , }, + { field: 'description', headerName: 'Description', flex: 1, hide: false, minWidth: 200, renderCell: (params) => , }, + + + { + field: "delete", headerName: 'Supprimer', + renderCell: (cellValues) => { + return ( + <> + { + // handleClick_delete(event, cellValues); + }} + > + + + } + modal + nested + position="center center" + > + {close => ( +
    + +
    MySy Information
    +
    + {' '} + + En confirmant cette opération, l'activité sera supprimée de ce pôle .
    + +
    +
    +
    + + +
    +
    + +
    +
    +
    + )} +
    + + + + ); + } + } + + ] + + + + const New_Option_Tuteur_Role = [ + { "id": "0", "label": "Parent", "value": "0" }, + { "id": "1", "label": "Tuteur légal", "value": "1" }, + { "id": "2", "label": "Tuteur scolaire", "value": "2" }, + { "id": "3", "label": "Autre", "value": "3" }, + { "id": "", "label": "", "value": "" }, + ] + + const New_Option_Oui_Non = [ + { + value: '1', + label: 'Oui', + id: '1', + }, + { + value: '0', + label: 'Non', + id: '0', + }, + ]; + + + const [handleClick_delete_activite_pedago_api, sethandleClick_delete_activite_pedago_api] = useState(); + const [handleClick_delete_activite_pedago_message, sethandleClick_delete_activite_pedago_message] = useState(); + const [handleClick_delete_activite_pedago_result, sethandleClick_delete_activite_pedago_result] = useState([]); + function handleClick_delete_activite_pedago(event, cellValues) { + + var activite_pedagogique_id = cellValues.row._id; + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("activite_pedagogique_id", activite_pedagogique_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Given_activite_pedagogique/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In handleClick_delete_tache_pedago res.data.status = " + res.data.status); + //console.log(" In handleClick_delete_tache_pedago res.data.message r_class = " + res.data.message); + sethandleClick_delete_activite_pedago_api("true"); + sethandleClick_delete_activite_pedago_result(res.data.message); + + Getall_Partner_Pole_Activite_Pedago(); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + } + else { + sethandleClick_delete_activite_pedago_api("false"); + sethandleClick_delete_activite_pedago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( handleClick_delete_tache_pedago = ', error); + sethandleClick_delete_activite_pedago_api("false"); + alert(" Impossible de supprimer la tâche pédagogique"); + //setmyApimyApiMessage("") + }) + } + + + + const [handleClick_delete_activite_from_pole_pedago_api, sethandleClick_delete_activite_from_pole_pedago_api] = useState(); + const [handleClick_delete_activite_from_pole_message, sethandleClick_delete_activite_from_pole_message] = useState(); + const [handleClick_delete_activite_from_pole_result, sethandleClick_delete_activite_from_pole_result] = useState([]); + function handleClick_delete_activite_from_pole(event, cellValues) { + + var activite_pedagogique_id = cellValues.row._id; + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("pole_activite_id", selected_id); + form.append("activite_pedagogique_id", activite_pedagogique_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Activite_From_Pole_pedagogique/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In handleClick_delete_activite_from_pole res.data.status = " + res.data.status); + //console.log(" In handleClick_delete_activite_from_pole res.data.message r_class = " + res.data.message); + sethandleClick_delete_activite_from_pole_pedago_api("true"); + sethandleClick_delete_activite_from_pole_result(res.data.message); + + Get_Given_Pole_Activite_pedago_data(selected_id); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + } + else { + sethandleClick_delete_activite_from_pole_pedago_api("false"); + sethandleClick_delete_activite_from_pole_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( handleClick_delete_activite_from_pole = ', error); + sethandleClick_delete_activite_from_pole_pedago_api("false"); + alert(" Impossible de supprimer la tâche pédagogique"); + //setmyApimyApiMessage("") + }) + } + + const [Getall_Partner_Pole_Activite_Pedago_api, setGetall_Partner_Pole_Activite_Pedago_api] = useState(); + const [Getall_Partner_Pole_Activite_Pedago_message, setGetall_Partner_Pole_Activite_Pedago_message] = useState(); + const [Getall_Partner_Pole_Activite_Pedago_result, setGetall_Partner_Pole_Activite_Pedago_result] = useState(); + function Getall_Partner_Pole_Activite_Pedago(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/Get_pole_activite_pedagogique_no_filter/"; + + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Partner_Pole_Activite_Pedago res.data.status = " + res.data.status); + // console.log(" In Getall_Partner_Pole_Activite_Pedago res.data.message r_class = " + res.data.message); + setGetall_Partner_Pole_Activite_Pedago_api("true"); + setGetall_Partner_Pole_Activite_Pedago_result(res.data.message); + setRows(res.data.message); + + + + } + else { + setGetall_Partner_Pole_Activite_Pedago_api("false"); + setGetall_Partner_Pole_Activite_Pedago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Partner_Pole_Activite_Pedago = ', error); + setGetall_Partner_Pole_Activite_Pedago_api("false"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des pôles d'activité pédagogiques"); + setalert_type("error"); + // alert(" Impossible de recuperer la liste des employés"); + //setmyApimyApiMessage("") + }) + } + + + + useEffect(() => { + + Getall_Partner_Pole_Activite_Pedago(); + + window.scrollTo({ + top: 0, + behavior: "smooth", + }); + + }, []) + + const [isLoading, setLoading] = useState(); + + + + + const [display_alert_mysy, setdisplay_alert_mysy] = useState(""); + const [alert_message, setalert_message] = useState(""); + const [alert_type, setalert_type] = useState(""); + + function clear_alert_message() { + setalert_message(""); + } + function clear_alert_type() { + setalert_type(""); + } + function clear_display_alert_mysy() { + setdisplay_alert_mysy(""); + } + + const [p_one_detail_pole_activite_pedago_id, setp_one_detail_pole_activite_pedago_id] = useState(""); + const [p_detail_pole_activite_pedago_id, setp_detail_pole_activite_pedago_id] = useState(""); + const [p_detail_pole_activite_pedago_code, setp_detail_pole_activite_pedago_code] = useState(""); + const [p_detail_pole_activite_pedago_description, setp_detail_pole_activite_pedago_description] = useState(""); + const [p_detail_pole_activite_pedago_commentaire, setp_detail_pole_activite_pedago_commentaire] = useState(""); + + + const [p_detail_pole_activite_pedago_moyen_ressource, setp_detail_pole_activite_pedago_moyen_ressource] = useState(""); + const [p_detail_pole_activite_pedago_resultat, setp_detail_pole_activite_pedago_resultat] = useState(""); + const [p_detail_pole_activite_pedago_niveau_autonomie, setp_detail_pole_activite_pedago_niveau_autonomie] = useState(""); + const [p_detail_pole_activite_pedago_aide, setp_detail_pole_activite_pedago_aide] = useState(""); + const [p_detail_pole_activite_pedago_contraintes, setp_detail_pole_activite_pedago_contraintes] = useState(""); + const [p_detail_pole_activite_pedago_divers, setp_detail_pole_activite_pedago_divers] = useState(""); + + const [p_detail_pole_activite_pedago_tab_bloc_competence, setp_detail_pole_activite_pedago_tab_bloc_competence] = useState([]); + const [p_detail_pole_activite_pedago_tab_activite, setp_detail_pole_activite_pedago_tab_activite] = useState([]); + const [p_detail_pole_activite_pedago_tab_activite_with_code, setp_detail_pole_activite_pedago_tab_activite_with_code] = useState([]); + + + const [pole_activite_pedago_data_changed, setpole_activite_pedago_data_changed] = useState(""); + const [add_one_pole_activite_pedago, setadd_one_pole_activite_pedago] = useState(""); + const [pole_activite_pedago_edit_data, setpole_activite_pedago_edit_data] = useState(""); + + function clear_activite_pedago_fields() { + setp_detail_pole_activite_pedago_id("") + setp_detail_pole_activite_pedago_code(""); + setp_detail_pole_activite_pedago_description(""); + setp_detail_pole_activite_pedago_commentaire(""); + setp_one_detail_pole_activite_pedago_id(""); + + + setpole_activite_pedago_data_changed(""); + setadd_one_pole_activite_pedago(""); + + } + + + + + const [Update_activite_pedago_api, setUpdate_activite_pedago_api] = useState(); + const [Update_activite_pedago_message, setUpdate_activite_pedago_message] = useState(); + const [Update_activite_pedago_result, setUpdate_activite_pedago_result] = useState(); + function Update_Tache_Pedago(event) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + + var myurl = ""; + + myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_tache_pedagogique/"; + form.append("tache_pedagogique_id", selected_id); + form.append("description", p_detail_pole_activite_pedago_description); + form.append("commentaire", p_detail_pole_activite_pedago_commentaire); + form.append("code", p_detail_pole_activite_pedago_code); + + + setLoading(true); + axios.post(myurl, form).then(res => { + setLoading(false); + + if (String(res.data.status) === String("true")) { + //console.log(" In Update_Tache_Pedago res.data.status = " + res.data.status); + //console.log(" In Update_Tache_Pedago res.data.message r_class = " + res.data.message); + setUpdate_activite_pedago_api("true"); + setUpdate_activite_pedago_result(res.data.message); + + Getall_Partner_Pole_Activite_Pedago(); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + Dialog_activite_pedago_handleClose_buton(); + } + else { + setUpdate_activite_pedago_api("false"); + setUpdate_activite_pedago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Not good man :( Update_Tache_Pedago = ', error); + setUpdate_activite_pedago_api("false"); + alert(" Impossible de faire la mise à jour"); + //setmyApimyApiMessage("") + }) + } + + + const [Add_Tache_Pededago_api, setAdd_Tache_Pededago_api] = useState(); + const [Add_Tache_Pededago_message, setAdd_Tache_Pededago_message] = useState(); + const [Add_Tache_Pededago_result, setAdd_Tache_Pededago_result] = useState([]); + function Add_Tache_Pededago(event) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + + var myurl = ""; + + myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_tache_pedagogique/"; + form.append("description", p_detail_pole_activite_pedago_description); + form.append("commentaire", p_detail_pole_activite_pedago_commentaire); + form.append("code", p_detail_pole_activite_pedago_code); + + + setLoading(true); + axios.post(myurl, form).then(res => { + setLoading(false); + + if (String(res.data.status) === String("true")) { + //console.log(" In Add_Tache_Pededago res.data.status = " + res.data.status); + //console.log(" In Add_Tache_Pededago res.data.message r_class = " + res.data.message); + setAdd_Tache_Pededago_api("true"); + setAdd_Tache_Pededago_result(res.data.message); + + Getall_Partner_Pole_Activite_Pedago(); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + Dialog_activite_pedago_handleClose_buton(); + } + else { + setAdd_Tache_Pededago_api("false"); + setAdd_Tache_Pededago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Not good man :( Add_Tache_Pededago = ', error); + setAdd_Tache_Pededago_api("false"); + alert(" Impossible d'ajouter la tâche pédagogique"); + //setmyApimyApiMessage("") + }) + } + + + const [New_Getall_TrainingSession_result, setNew_Getall_TrainingSession_result] = useState([]); + + 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(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("archive", "0"); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetAllValideSessionPartner_List/"; + + setLoading(true); + + axios.post(myurl, form).then(res => { + + setLoading(false); + + 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); + + var new_data2 = []; + const new_data = res.data.message.map((x) => { + + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var local_internal_url = JSON.parse(x).class_internal_url; + var local_title_session = JSON.parse(x).titre; + var local_code_session = JSON.parse(x).code_session; + + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_code_session, + "class_internal_url": local_internal_url, + "titre": local_title_session, + "code_session": local_code_session, + }; + new_data2.push(node); + + // return {"_id": " + str(local_id) + ", "label": " + local_courrier_template_ref_interne + '" , "courrier_template_ref_interne": "' + local_courrier_template_ref_interne + '", "nom_champ_technique": "' + local_nom_champ_technique + '", "nom_champ_fonctionel": "' + local_nom_champ_fonctionel + '","valide": "1" }; + + }); + + + if (new_data2.length > 0) { + setNew_Getall_TrainingSession_result(new_data2); + } + + + } + else { + setGetall_TrainingSession_api("false"); + setGetall_TrainingSession_message(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Getall_TrainingSession = ', error); + setGetall_TrainingSession_api("false"); + //setmyApimyApiMessage("") + }) + } + + const [selected_session_id, setselected_session_id] = useState(""); + + + const [New_Getall_TrainingParticipant_result, setNew_Getall_TrainingParticipant_result] = useState([{ + "_id": "", + "id": "", + "nom": "", + "prenom": "", + "email": "", + "civilite": "", + "status": "", + "label": "", + }]); + + + const [Get_Given_Pole_Activite_pedago_data_api, setGet_Given_Pole_Activite_pedago_data_api] = useState(); + const [Get_Given_Pole_Activite_pedago_data_message, setGet_Given_Pole_Activite_pedago_data_message] = useState(); + const [Get_Given_Pole_Activite_pedago_data_result, setGet_Given_Pole_Activite_pedago_data_result] = useState(); + function Get_Given_Pole_Activite_pedago_data(local_pole_act_peda_id) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("pole_activite_pedagogique_id", local_pole_act_peda_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_pole_activite_pedagogique/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === "true") { + setLoading(false); + //console.log(" In Get_Employee_Data res.data.status = " + res.data.status); + // console.log(" In Get_Employee_Data res.data.message r_class = " + res.data.message); + setGet_Given_Pole_Activite_pedago_data_api("true"); + setGet_Given_Pole_Activite_pedago_data_result(res.data.message); + + if (res.data.message.length > 0) { + var pole_activite_pedago = JSON.parse(res.data.message); + + if (pole_activite_pedago._id) + setp_detail_pole_activite_pedago_id(pole_activite_pedago._id); + else + setp_detail_pole_activite_pedago_id(""); + + + if (pole_activite_pedago.code) + setp_detail_pole_activite_pedago_code(pole_activite_pedago.code); + else + setp_detail_pole_activite_pedago_code(""); + + + if (pole_activite_pedago.description) + setp_detail_pole_activite_pedago_description(pole_activite_pedago.description); + else + setp_detail_pole_activite_pedago_description(""); + + if (pole_activite_pedago.commentaire) + setp_detail_pole_activite_pedago_commentaire(pole_activite_pedago.commentaire); + else + setp_detail_pole_activite_pedago_commentaire(""); + + + if (pole_activite_pedago.tab_bloc_competence) + setp_detail_pole_activite_pedago_tab_bloc_competence(pole_activite_pedago.tab_bloc_competence); + else + setp_detail_pole_activite_pedago_tab_bloc_competence([]); + + if (pole_activite_pedago.tab_activite_pedagogique) + setp_detail_pole_activite_pedago_tab_activite(pole_activite_pedago.tab_activite_pedagogique); + else + setp_detail_pole_activite_pedago_tab_activite([]); + + if (pole_activite_pedago.tab_activite_pedagogique_with_code) + setp_detail_pole_activite_pedago_tab_activite_with_code(pole_activite_pedago.tab_activite_pedagogique_with_code); + else + setp_detail_pole_activite_pedago_tab_activite_with_code([]); + + + + Disable_Pole_Activite_Pedago_DetailFields(); + + } else { + //alert(" Aucun employé recuperé"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Aucun employé recuperé"); + setalert_type("warning"); + } + + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + + else { + setLoading(false); + setGet_Given_Pole_Activite_pedago_data_api("false"); + setGet_Given_Pole_Activite_pedago_data_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Get_Employee_Data = ', error); + setGet_Given_Pole_Activite_pedago_data_api("false"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer les données"); + setalert_type("error"); + // alert(" Impossible de recuperer les données de l'employé"); + //setmyApimyApiMessage("") + }) + } + + + + + const [Dialog_activite_pedago_open, setDialog_activite_pedago_open] = React.useState(false); + function Dialog_activite_pedago_handle_change_participant_session(message) { + // setDialog_activite_pedago_message(message); + setDialog_activite_pedago_open(true); + } + + const Dialog_activite_pedago_handleClose = () => { + + }; + + const Dialog_activite_pedago_handleClose_buton = () => { + setDialog_activite_pedago_open(false); + clear_activite_pedago_fields(); + setgridline_id(""); + + }; + + const myRef_detail = useRef(null); + + function submenu_detail_activite_padagogique() { + + setsubmenu("détail_activite_pedagique"); + submenu_color_management("détail_activite_pedagique"); + } + + + function submenu_color_management(current_menu) { + const list_sous_menu = ["détail_activite_pedagique", "pole_activite_padagogique", "activite_padagogique", "tache_padagogique",] + + for (let i = 0; i < list_sous_menu.length; i++) { + + var sous_menu = list_sous_menu[i]; + if (String(sous_menu) !== current_menu) { + if (document.getElementById(sous_menu)) { + document.getElementById(sous_menu).style.backgroundColor = "#d8edfc"; + document.getElementById(sous_menu).style.color = "black"; + document.getElementById(sous_menu).style.fontWeight = "normal"; + } + } + } + + if (document.getElementById(current_menu)) { + document.getElementById(current_menu).style.backgroundColor = "#107758"; + document.getElementById(current_menu).style.color = "white"; + document.getElementById(current_menu).style.fontWeight = "bold"; + } + + if (document.getElementById('myRef_detail')) { + var divh = document.getElementById('myRef_detail').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + + const sleep = (milliseconds) => { + return new Promise(resolve => setTimeout(resolve, milliseconds)) + } + + async function Disable_Pole_Activite_Pedago_DetailFields() { + await sleep(5); + setpole_activite_pedago_edit_data("0") + var liste_champs = ['detail_code', 'detail_desc', 'detail_comment', + ] + + + for (let i = 0; i < liste_champs.length; i++) { + + if (document.getElementsByName(String(liste_champs[i])) && document.getElementsByName(String(liste_champs[i]))[0]) { + document.getElementsByName(String(liste_champs[i]))[0].disabled = true; + document.getElementsByName(String(liste_champs[i]))[0].style.backgroundColor = "#ECEFF1"; + + } + } + + } + + function Enable_Pole_Activite_Pedago_DetailFields() { + + setpole_activite_pedago_edit_data("1") + + var liste_champs = ['detail_code', 'detail_desc', 'detail_comment', + ] + + + for (let i = 0; i < liste_champs.length; i++) { + if (document.getElementsByName(String(liste_champs[i])) && document.getElementsByName(String(liste_champs[i]))[0]) { + document.getElementsByName(String(liste_champs[i]))[0].disabled = false; + document.getElementsByName(String(liste_champs[i]))[0].style.backgroundColor = "#FFFFFF"; + + } + } + + } + + function Annule_modif_champs() { + + Get_Given_Pole_Activite_pedago_data(selected_id); + setpole_activite_pedago_edit_data(""); + setpole_activite_pedago_data_changed(""); + setadd_one_pole_activite_pedago(""); + } + + function Ferme_Display_champs() { + setsubmenu(""); + Clear_fields(); + + setselected_id(""); + setgridline_id(""); + setpole_activite_pedago_edit_data(""); + setpole_activite_pedago_data_changed(""); + setadd_one_pole_activite_pedago(""); + + window.scrollTo({ + top: 0, + behavior: "smooth", + }); + } + + function Clear_fields() { + setp_one_detail_pole_activite_pedago_id(""); + setp_detail_pole_activite_pedago_id(""); + setp_detail_pole_activite_pedago_code(""); + setp_detail_pole_activite_pedago_description(""); + setp_detail_pole_activite_pedago_commentaire(""); + + } + + const [Add_Update_Pole_Activite_Pedago_api, setAdd_Update_Pole_Activite_Pedago_api] = useState(); + const [Add_Update_Pole_Activite_Pedago_message, setAdd_Update_Pole_Activite_Pedago_message] = useState(); + const [Add_Update_Pole_Activite_Pedago_result, setAdd_Update_Pole_Activite_Pedago_result] = useState(); + function Add_Update_Pole_Activite_Pedago() { + + var form = new FormData(); + var nb_participant = "0"; + var prix_session; + + + + if (p_detail_pole_activite_pedago_code.length <= 0) { + // alert(" Vous devez choisir une session"); + setdisplay_alert_mysy("1"); + setalert_message("Vous devez saisir un code "); + setalert_type("error"); + return; + } + + + + if (p_detail_pole_activite_pedago_description.trim() === "") { + // alert(" Le nombre de participants est obligatoire"); + setdisplay_alert_mysy("1"); + setalert_message("Vous devez saisir une description"); + setalert_type("error"); + return; + } + + + + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = ""; + + + if (selected_id.length > 5) { + form.append("pole_activite_pedagogique_id", selected_id); + myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_pole_activite_pedagogique/"; + + } else { + myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_pole_activite_pedagogique/"; + } + + + form.append("code", p_detail_pole_activite_pedago_code); + form.append("description", p_detail_pole_activite_pedago_description); + form.append("commentaire", p_detail_pole_activite_pedago_commentaire); + + + setLoading(true); + + + //console.log(" ### form = ", form); + //return; + + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_Pole_Activite_Pedago res.data.status = " + res.data.status); + //console.log(" In Add_Update_Pole_Activite_Pedago res.data.message r_class = " + res.data.message); + setLoading(false); + if (String(res.data.status) === String("true")) { + setAdd_Update_Pole_Activite_Pedago_api("true"); + setAdd_Update_Pole_Activite_Pedago_result(res.data.message); + + setpole_activite_pedago_data_changed(""); + setpole_activite_pedago_edit_data(""); + setadd_one_pole_activite_pedago(""); + + Getall_Partner_Pole_Activite_Pedago(); + Disable_Pole_Activite_Pedago_DetailFields(); + + if (selected_id.length <= 5) { + window.scrollTo({ + top: 10, + behavior: "smooth", + }); + + } + + setdisplay_alert_mysy("1"); + setalert_message(String(res.data.message)); + setalert_type("success"); + + + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setAdd_Update_Pole_Activite_Pedago_api("false"); + setAdd_Update_Pole_Activite_Pedago_message(res.data.message); + //alert(String(res.data.message)); + + setdisplay_alert_mysy("1"); + setalert_message(String(res.data.message)); + setalert_type("error"); + + } + + }).catch((error) => { + setLoading(false); + console.warn('Add_Update_Pole_Activite_Pedago : Not good man :( mysearchtext = ' + error); + setAdd_Update_Pole_Activite_Pedago_api("false"); + alert(" Impossible d'ajouter ou mettre à jour l'activité"); + + }) + } + + + const [New_Getall_Partner_Tache_Pedago_result, setNew_Getall_Partner_Tache_Pedago_result] = useState([]); + + const [Getall_Partner_Tache_Pedago_api, setGetall_Partner_Tache_Pedago_api] = useState(); + const [Getall_Partner_Tache_Pedago_message, setGetall_Partner_Tache_Pedago_message] = useState(); + const [Getall_Partner_Tache_Pedago_result, setGetall_Partner_Tache_Pedago_result] = useState([]); + function Getall_Partner_Tache_Pedago(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/Get_tache_pedagogique_no_filter/"; + + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Partner_Tache_Pedago res.data.status = " + res.data.status); + // console.log(" In Getall_Partner_Tache_Pedago res.data.message r_class = " + res.data.message); + setGetall_Partner_Tache_Pedago_api("true"); + setGetall_Partner_Tache_Pedago_result(res.data.message); + + var new_data2 = []; + + const new_data = res.data.message.map((x) => { + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var code = JSON.parse(x).code; + var description = JSON.parse(x).description; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": code + " - " + String(description).substring(0, 15), + "code": code, + "description": description, + + }; + new_data2.push(node); + + // return {"_id": " + str(local_id) + ", "label": " + local_courrier_template_ref_interne + '" , "courrier_template_ref_interne": "' + local_courrier_template_ref_interne + '", "nom_champ_technique": "' + local_nom_champ_technique + '", "nom_champ_fonctionel": "' + local_nom_champ_fonctionel + '","valide": "1" }; + + }); + + + var node = { + "_id": "", + "id": "", + "label": "", + "code": "", + "description": "", + + }; + new_data2.push(node); + + if (new_data2.length > 0) { + setNew_Getall_Partner_Tache_Pedago_result(new_data2); + } else { + setNew_Getall_Partner_Tache_Pedago_result([]); + } + + + + } + else { + setGetall_Partner_Tache_Pedago_api("false"); + setGetall_Partner_Tache_Pedago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Partner_Tache_Pedago = ', error); + setGetall_Partner_Tache_Pedago_api("false"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des tâches pédagogiques"); + setalert_type("error"); + + }) + } + + + + const [Dialog_Pole_Activite_open, setDialog_Pole_Activite_open] = React.useState(false); + const Dialog_Pole_Activite_handleClose_buton = () => { + setDialog_Pole_Activite_open(false); + + }; + + const [selected_pole_activite_to_add_id, setselected_pole_activite_to_add_id] = useState(""); + const [selected_pole_activite_to_add_rang, setselected_pole_activite_to_add_rang] = useState("0"); + + const [selected_bloc_competence_to_add_id, setselected_bloc_competence_to_add_id] = useState(""); + + const [New_Getall_Partner_Pole_Activite_result, setNew_Getall_Partner_Pole_Activite_result] = useState([]); + + const [Getall_Partner_Pole_Activite_api, setGetall_Partner_Pole_Activite_api] = useState(); + const [Getall_Partner_Pole_Activite_message, setGetall_Partner_Pole_Activite_message] = useState(); + const [Getall_Partner_Pole_Activite_result, setGetall_Partner_Pole_Activite_result] = useState([]); + function Getall_Partner_Pole_Activite(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/Get_pole_activite_pedagogique_no_filter/"; + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Partner_Pole_Activite res.data.status = " + res.data.status); + // console.log(" In Getall_Partner_Pole_Activite res.data.message r_class = " + res.data.message); + setGetall_Partner_Pole_Activite_api("true"); + setGetall_Partner_Pole_Activite_result(res.data.message); + + var new_data2 = []; + + const new_data = res.data.message.map((x) => { + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var code = JSON.parse(x).code; + var description = JSON.parse(x).description; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": code + " - " + String(description).substring(0, 15), + "code": code, + "description": description, + + }; + new_data2.push(node); + + + }); + + + var node = { + "_id": "", + "id": "", + "label": "", + "code": "", + "description": "", + + }; + new_data2.push(node); + + if (new_data2.length > 0) { + setNew_Getall_Partner_Pole_Activite_result(new_data2); + } else { + setNew_Getall_Partner_Pole_Activite_result([]); + } + + + + } + else { + setGetall_Partner_Pole_Activite_api("false"); + setGetall_Partner_Pole_Activite_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Partner_Pole_Activite = ', error); + setGetall_Partner_Pole_Activite_api("false"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des pôles d'activité "); + setalert_type("error"); + + }) + } + + + + + const [New_Getall_Partner_Activite_result, setNew_Getall_Partner_Activite_result] = useState([{ + "_id": "", + "id": "", + "label": "", + "code": "", + "description": "", + }]); + + const [Getall_Partner_Activite_api, setGetall_Partner_Activite_api] = useState(); + const [Getall_Partner_Activite_message, setGetall_Partner_Activite_message] = useState(); + const [Getall_Partner_Activite_result, setGetall_Partner_Activite_result] = useState([]); + function Getall_Partner_Activite(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/Get_activite_pedagogique_no_filter/"; + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Partner_Activite res.data.status = " + res.data.status); + // console.log(" In Getall_Partner_Activite res.data.message r_class = " + res.data.message); + setGetall_Partner_Activite_api("true"); + setGetall_Partner_Activite_result(res.data.message); + + var new_data2 = []; + + const new_data = res.data.message.map((x) => { + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var code = JSON.parse(x).code; + var description = JSON.parse(x).description; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": code + " - " + String(description).substring(0, 15), + "code": code, + "description": description, + + }; + new_data2.push(node); + + + }); + + + var node = { + "_id": "", + "id": "", + "label": "", + "code": "", + "description": "", + }; + new_data2.push(node); + + if (new_data2.length > 0) { + setNew_Getall_Partner_Activite_result(new_data2); + } else { + setNew_Getall_Partner_Activite_result([]); + } + + + + } + else { + setGetall_Partner_Activite_api("false"); + setGetall_Partner_Activite_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Partner_Activite = ', error); + setGetall_Partner_Activite_api("false"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des activités pédagogiques "); + setalert_type("error"); + + }) + } + + + + function Add_Activite_To_Pole(activite_pedagogique_id, rang) { + + + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("pole_activite_id", selected_id); + form.append("activite_pedagogique_id", activite_pedagogique_id); + form.append("rang", rang); + + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Update_tab_Activite_To_Pole_pedagogique/"; + setLoading(true); + axios.post(myurl, form).then(res => { + setLoading(false); + //console.log(" In UpdateStagiaireData res.data.status = " + res.data.status); + //console.log(" In UpdateStagiaireData res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + Get_Given_Pole_Activite_pedago_data(selected_id); + + Dialog_Pole_Activite_handleClose_buton(); + + } + else { + + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + }).catch((error) => { + + console.warn('UpdateStagiaireData : Not good man :( mysearchtext = ' + error); + + + setdisplay_alert_mysy("1"); + setalert_message(" Impossible d'ajouter la l'activité"); + setalert_type("error"); + + }) + } + return ( +
    + + {isLoading &&
    +
    +
    } + + {/*** Affichage des messages d'alerte*/} + {display_alert_mysy && String(display_alert_mysy) === "1" && + + } + {/*** FIN Affichage des messages d'alerte*/} + + + {/* Dialog pour ajouter un POLE ACTIVITE */} + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + top: '7rem', + margin: "2px", + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" + + > + + Tâche pédagogique + + + + +
    Activité pédagogique + {New_Getall_Partner_Activite_result && New_Getall_Partner_Activite_result.length > 0 && { + + if (value && value._id) { + setselected_pole_activite_to_add_id(value._id); + + } else { + setselected_pole_activite_to_add_id(""); + + } + }} + + + renderInput={(params) => + } + />} +
    + +
    Rang + { + setselected_pole_activite_to_add_rang(e.target.value); + + } + } + /> +
    + + + +
    + + + + + + + +
    +
    + + +
    + + +
    + +
    +
    + +
    + +
    + {/* FIN Dialog pour ajouter un POLE ACTIVITE */} + + +
    +
    +
    +

    Pôles activités pédagogiques

    + +
    +   + + { + setSelectionModel(newSelectionModel); + /*if (newSelectionModel.length === 1) + handleClick_edit_employee_From_Line(newSelectionModel);*/ + if (newSelectionModel.length !== 1) { + setsubmenu(); + // setdisplay_detail_employe(); + //setadd_One_Employee(); + } + }} + selectionModel={selectionModel} + + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={rowss.map((item, index) => ( + { + id: index, + _id: JSON.parse(item)._id, + code: JSON.parse(item).code, + description: JSON.parse(item).description, + commentaire: JSON.parse(item).commentaire, + + } + ))} + + columns={columns} + pageSize={10} + className="datagridclass" + + onRowDoubleClick={(newSelectionModel, e) => { + + setmouse_x(e.clientX); + setmouse_y(e.clientY); + setselected_id(newSelectionModel.row._id); + setgridline_id(newSelectionModel.row.id); + setp_detail_pole_activite_pedago_id(newSelectionModel.row._id); + setp_detail_pole_activite_pedago_code(newSelectionModel.row.code); + setp_detail_pole_activite_pedago_description(newSelectionModel.row.description); + setp_detail_pole_activite_pedago_commentaire(newSelectionModel.row.commentaire); + + + setpole_activite_pedago_data_changed(""); + setadd_one_pole_activite_pedago(""); + + + Get_Given_Pole_Activite_pedago_data(newSelectionModel.row._id); + submenu_detail_activite_padagogique(); + }} + + rowsPerPageOptions={[10]} + disableSelectionOnClick + components={{ + Toolbar: GridToolbar, + }} + //sx={datagridSx} + getCellClassName={(params) => { + //field === 'distantiel' + + + //console.log(" ### params.field = ", params.field) + + + + 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) => { + // Pour la gestion de la couleur de zone double cliquée + if (String(params.row.id) === String(gridline_id)) { + return 'line--statut--selected'; + } + else if (parseInt(String(params.row.id)) % 2 === 0) { + return 'line--statut--pair'; + } + else if (parseInt(String(params.row.id)) % 2 !== 0) { + return 'line--statut--impair'; + } + + 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'; + } + }} + getEstimatedRowHeight={() => 200} + getRowHeight={() => "auto"} + sx={{ + "& .MuiDataGrid-cellContent": { + minHeight: 50, + + } + }} + + + + /> + +
    + +
    + +
    + +
    + +
    + +
    + + +
    + + + +
    +
    +
     
    + + +
    + + {selected_id && selected_id.length > 5 &&
    + + + + +
    } + + {String(submenu) === "add_one" && String(add_one_pole_activite_pedago) === "1" &&
    +
    +
    +
    + + +
    + + +
    +
    + +
    +
    + +
    + Détail activités +
    + +
    + +
    Code
    + { + setp_detail_pole_activite_pedago_code(e.target.value); + setpole_activite_pedago_data_changed("1"); + }} + + + + /> +
    + +
    Description
    + { + setp_detail_pole_activite_pedago_description(e.target.value); + setpole_activite_pedago_data_changed("1"); + }} + + + + /> +
    + + + +
    Commentaire
    + { + setp_detail_pole_activite_pedago_commentaire(e.target.value); + setpole_activite_pedago_data_changed("1"); + + }} + + /> +
    + +
    + + +
    + + +
    + +
    +
    + +
    + Condition d'exercice +
    + +
    + + +
     
    + + + +
    + + +
    + + +
    +
    +
    + + + +
    +   +
    +
    + + +
    + +
    + + + +
    + +
    + +
    +
    + + + +
    +   +
    +
    + + + +
    + + + +
    +
    } + + {String(submenu) === "détail_activite_pedagique" && String(add_one_pole_activite_pedago) !== "1" &&
    +
    +
    + {p_detail_pole_activite_pedago_code && p_detail_pole_activite_pedago_code.length > 1 &&
    + + +
    } + + +
    +
    + +
    +
    + +
    + Détail activités +
    + +
    + +
    Code
    + { + setp_detail_pole_activite_pedago_code(e.target.value); + setpole_activite_pedago_data_changed("1"); + }} + + + + /> +
    + +
    Description
    + { + setp_detail_pole_activite_pedago_description(e.target.value); + setpole_activite_pedago_data_changed("1"); + }} + + + + /> +
    + + + +
    Commentaire
    + { + setp_detail_pole_activite_pedago_commentaire(e.target.value); + setpole_activite_pedago_data_changed("1"); + + }} + + /> +
    + +
    + + +
    + + +
    + +
    +
    + +
    + Condition d'exercice +
    + +
    + + + + +
    + + +
    + + +
    +
    +
    + + + + +
    +   +
    +
    + {String(pole_activite_pedago_data_changed) === "1" && String(pole_activite_pedago_edit_data) === "1" &&
    + /!\ Pensez à enregistrer les modifications +
    } + + +
    + + {String(pole_activite_pedago_edit_data) === "1" &&
    + + + +
    } + + {String(pole_activite_pedago_edit_data) === "1" &&
    + +
    } +
    + + + {String(pole_activite_pedago_edit_data) !== "1" && <> + +
    + + + +
    + + +
    + + + +
    + + } +
    +   +
    +
    + + +
    +
    + +
    +
    + +
    + Liste Activité +
    + +
    +   + + { + setSelectionModel(newSelectionModel); + /*if (newSelectionModel.length === 1) + handleClick_edit_employee_From_Line(newSelectionModel);*/ + if (newSelectionModel.length !== 1) { + + } + }} + selectionModel={selectionModel_taches_with_code} + + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={p_detail_pole_activite_pedago_tab_activite_with_code.map((item, index) => ( + { + id: index, + _id: (item)._id, + code: (item).code, + description: (item).description, + rang: (item).rang, + + } + ))} + + columns={column_bloc_activite} + pageSize={10} + className="datagridclass" + + onRowDoubleClick={(newSelectionModel, e) => { + + + }} + + rowsPerPageOptions={[10]} + disableSelectionOnClick + components={{ + Toolbar: GridToolbar, + }} + //sx={datagridSx} + getCellClassName={(params) => { + + + //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) => { + // Pour la gestion de la couleur de zone double cliquée + if (String(params.row.id) === String(gridline_tache_id)) { + return 'line--statut--selected'; + } + else if (parseInt(String(params.row.id)) % 2 === 0) { + return 'line--statut--pair'; + } + else if (parseInt(String(params.row.id)) % 2 !== 0) { + return 'line--statut--impair'; + } + + + }} + getEstimatedRowHeight={() => 200} + getRowHeight={() => "auto"} + sx={{ + "& .MuiDataGrid-cellContent": { + minHeight: 50, + + } + }} + + + + /> + +
    + +
    + + +
    +
    +
    + +
    + + +
    + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    + Liste Blocs Compétences +
    + +
    +   + + { + setSelectionModel(newSelectionModel); + /*if (newSelectionModel.length === 1) + handleClick_edit_employee_From_Line(newSelectionModel);*/ + if (newSelectionModel.length !== 1) { + + } + }} + selectionModel={selectionModel_taches_with_code} + + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={p_detail_pole_activite_pedago_tab_bloc_competence.map((item, index) => ( + { + id: index, + _id: (item)._id, + code: (item).code, + description: (item).description, + rang: (item).rang, + obligatoire: (item).obligatoire, + } + ))} + + columns={column_bloc_competence} + pageSize={10} + className="datagridclass" + + onRowDoubleClick={(newSelectionModel, e) => { + + + }} + + rowsPerPageOptions={[10]} + disableSelectionOnClick + components={{ + Toolbar: GridToolbar, + }} + //sx={datagridSx} + getCellClassName={(params) => { + + + //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) => { + // Pour la gestion de la couleur de zone double cliquée + if (String(params.row.id) === String(gridline_tache_id)) { + return 'line--statut--selected'; + } + else if (parseInt(String(params.row.id)) % 2 === 0) { + return 'line--statut--pair'; + } + else if (parseInt(String(params.row.id)) % 2 !== 0) { + return 'line--statut--impair'; + } + + + }} + getEstimatedRowHeight={() => 200} + getRowHeight={() => "auto"} + sx={{ + "& .MuiDataGrid-cellContent": { + minHeight: 50, + + } + }} + + + + /> + +
    + +
    + + +
    +
    +
    + +
    + + +
    + + + +
    +
    + +
    +
    + + + +
    + + + +
    +
    } + + + + +
    + ); +} + +export default Module_Pole_Actvitie_Pedagogique; + +const local_css = ` +:root { + --bg: #f6f8fb; + --card: #ffffff; + --text: #0f172a; + --muted: #64748b; + --border: #e5e7eb; + --shadow: 0 10px 25px rgba(2, 6, 23, .06); + --green-700: #0f6b53; + --green-600: #167a5e; + --green-100: #e9f7f1; + --blue-600: #2563eb; + --radius: 14px; + --radius-sm: 10px; +} + .Grid_2_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1.2fr 1fr; + gap: 14px; +} + +.Grid_2_col_sub_colone { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 14px; + box-shadow: 0 6px 18px rgba(2,6,23,.04); + padding: 0px; + display: flex; + flex-direction: column; + gap: 14px; +} + + +.Grid_2_col_sub_colone_header { + background: #dbeafe; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + text-align: center; + font-family: DM Sans; + font-weight: 700; + height: 2rem; + padding-top: 5px; + font-size: 15px; +} + +.Grid_2_col_sub_colone_bottom_menu{ + +} + +.card__header{ +background: #e2e8f0; + font-size: small; + text-align: center; +} + +.card__title{ + display:flex; + align-items:center; + gap: 10px; +} + +.card__icon{ + width: 34px; + height: 34px; + display:grid; + place-items:center; + border-radius: 12px; + background:#eff6ff; + border:1px solid #dbeafe; +} + +.card__header h2{ + margin:0; + font-size: 15px; + letter-spacing: -0.01em; +} + +.card__actions{ display:flex; align-items:center; gap:8px; } + +.block_detail_action{ +width: 100%; + float: left; + background: #fafafa; + padding: 10px; + border: unset; + border-radius: 10px; + } +`; diff --git a/src/components/Module_RH_Tutorat.js b/src/components/Module_RH_Tutorat.js index 3c0d27a..ba18c87 100644 --- a/src/components/Module_RH_Tutorat.js +++ b/src/components/Module_RH_Tutorat.js @@ -172,7 +172,7 @@ const Module_RH_Tutorat = (props) => { { field: 'nom', headerName: 'Nom', flex: 1, hide: false, minWidth: 180, renderCell: (params) => , }, { field: 'prenom', headerName: 'Prénom', flex: 1, hide: false, minWidth: 180, renderCell: (params) => , }, { field: 'email', headerName: 'Email', minWidth: 300, flex: 1, renderCell: (params) => , }, - { field: 'telephone_mobile', headerName: 'Télephone', hide: true, Width: 0, renderCell: (params) => , }, + { field: 'telephone_mobile', headerName: 'Télephone', hide: true, Width: 0, renderCell: (params) => , }, { field: 'comment', headerName: 'comment', maxWidth: 100, flex: 1, renderCell: (params) => , renderCell: (cellValues) => { @@ -208,7 +208,7 @@ const Module_RH_Tutorat = (props) => { { field: 'session_titre', headerName: 'Titre Session', hide: true, Width: 0, renderCell: (params) => , }, - + { @@ -495,7 +495,7 @@ const Module_RH_Tutorat = (props) => { form.append("inscription_id", p_detail_inscrit_id); form.append("role", p_detail_inscrit_role); form.append("include_com", p_detail_inscrit_communication); - form.append("comment", p_detail_inscrit_comment); + form.append("comment", p_detail_inscrit_comment); setLoading(true); @@ -552,7 +552,7 @@ const Module_RH_Tutorat = (props) => { form.append("inscription_id", p_one_detail_inscrit_id); form.append("role", p_detail_inscrit_role); form.append("include_com", p_detail_inscrit_communication); - form.append("comment", p_detail_inscrit_comment); + form.append("comment", p_detail_inscrit_comment); setLoading(true); @@ -1208,13 +1208,14 @@ const Module_RH_Tutorat = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", + backgroundColor: "#d2e5f4", color: "#0a2a4d", - fontSize: 14 + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--selected': { - backgroundColor: '#e9f7f1', + backgroundColor: '#e9f7f1', color: '#0a2a4d', }, '& .line--statut--pair': { @@ -1269,7 +1270,7 @@ const Module_RH_Tutorat = (props) => { comment: JSON.parse(item).comment, } - ))} + ))} columns={columns} pageSize={10} diff --git a/src/components/Module_Selection_Apprenants.js b/src/components/Module_Selection_Apprenants.js index 6d95270..00f1c64 100644 --- a/src/components/Module_Selection_Apprenants.js +++ b/src/components/Module_Selection_Apprenants.js @@ -815,9 +815,10 @@ const Module_Selection_Apprenants = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Module_Selection_Evaluation_Apprenants.js b/src/components/Module_Selection_Evaluation_Apprenants.js index 387f6ef..11c547e 100644 --- a/src/components/Module_Selection_Evaluation_Apprenants.js +++ b/src/components/Module_Selection_Evaluation_Apprenants.js @@ -1349,9 +1349,10 @@ const Module_Selection_Evaluation_Apprenants = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Module_Session_Notes_Classement.js b/src/components/Module_Session_Notes_Classement.js index 70c8e12..45dab89 100644 --- a/src/components/Module_Session_Notes_Classement.js +++ b/src/components/Module_Session_Notes_Classement.js @@ -2715,9 +2715,10 @@ const Module_Session_Notes_Classement = (props) => { }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { @@ -3289,9 +3290,10 @@ const Module_Session_Notes_Classement = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { @@ -3489,9 +3491,10 @@ const Module_Session_Notes_Classement = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Module_Tache_Pedagogique.js b/src/components/Module_Tache_Pedagogique.js new file mode 100644 index 0000000..d2301bc --- /dev/null +++ b/src/components/Module_Tache_Pedagogique.js @@ -0,0 +1,1118 @@ +import React, { useRef, useState, useEffect } from "react"; +import TextField from '@mui/material/TextField'; +import { FcViewDetails, FcDisapprove } from "react-icons/fc"; +import { FcInfo } from "react-icons/fc"; +import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css +import Button from '@mui/material/Button'; +import axios from "axios"; +import { getCookie, setCookie } from 'react-use-cookie'; +import { useHistory } from "react-router-dom"; +import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; +import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; +import 'react-tooltip/dist/react-tooltip.css' +import Popup from 'reactjs-popup'; +import 'reactjs-popup/dist/index.css'; +import fr from 'date-fns/locale/fr'; +import { registerLocale } from 'react-datepicker'; +import "react-datepicker/dist/react-datepicker.css"; +import 'moment/locale/fr'; +import Box from '@mui/material/Box'; +import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; +import Autocomplete from '@mui/material/Autocomplete'; +import { gridClasses } from '@mui/x-data-grid'; +import Link from '@mui/material/Link'; +import { PiDotsThree } from "react-icons/pi"; +import { FcAcceptDatabase, } from "react-icons/fc"; +import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank'; +import CheckBoxIcon from '@mui/icons-material/CheckBox'; +import { CiTrash } from "react-icons/ci"; +import { IoAddCircleOutline } from "react-icons/io5"; +import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; +import { makeStyles } from "@material-ui/core/styles"; +import Paper from '@material-ui/core/Paper'; +import Draggable from 'react-draggable'; +import { IconButton } from '@material-ui/core'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import 'react-tooltip/dist/react-tooltip.css' +import { Tooltip } from 'react-tooltip' +import TextareaAutosize from '@mui/material/TextareaAutosize'; +import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; +import { FaComment } from "react-icons/fa6"; + + + +const useStyles = makeStyles((theme) => ({ + + dialog: { + position: 'absolute', + // left: 10, + top: 400 + }, + + paper: { + overflowY: 'unset', + }, + customizedButton: { + position: 'absolute', + left: '98%', + top: '-3%', + backgroundColor: 'lightgray', + color: 'gray', + }, +})); + +function PaperComponent(props) { + return ( + + + + ); +} + + + +const Module_Tache_Pedagogique = (props) => { + const classes = useStyles(); + const history = useHistory(); + const [submenu, setsubmenu] = useState(""); + const [rowss, setRows] = useState([]); + + + var date_today_90j = new Date(); + date_today_90j.setDate(date_today_90j.getDate() + 90); + + const [mouse_x, setmouse_x] = useState(""); + const [mouse_y, setmouse_y] = useState(""); + + const [p_filtre1, setp_filtre1] = useState("Inscrit "); + const [p_filtre1_value, setp_filtre1_value] = useState(""); + + const [p_filtre2, setp_filtre2] = useState("Type de groupe"); + const [p_filtre2_value, setp_filtre2_value] = useState(""); + + const [p_filtre3, setp_filtre3] = useState(""); + const [p_filtre3_value, setp_filtre3_value] = useState(""); + + const [p_filtre4, setp_filtre4] = useState(""); + const [p_filtre4_value, setp_filtre4_value] = useState(""); + + const [selectionModel, setSelectionModel] = React.useState([]); + + function ExpandableCell_50({ value }) { + const [expanded, setExpanded] = React.useState(false); + + return ( + + ); + } + + const [selected_id, setselected_id] = useState(""); + + const [gridline_id, setgridline_id] = useState(""); + + + const columns = [ + { field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, }, + { field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, }, + { field: 'code', headerName: 'Code', flex: 1, hide: false, maxWidth: 180, renderCell: (params) => , }, + { field: 'description', headerName: 'Description', flex: 1, hide: false, minWidth: 180, renderCell: (params) => , }, + + { + field: 'commentaire', headerName: 'Commentaire', flex: 1, renderCell: (params) => , + /*renderCell: (cellValues) => { + return ( +
    + {cellValues.row.commentaire && String(cellValues.row.commentaire).length > 0 && <> } + +
    + ); + }*/ + }, + + + + { + field: "delete", headerName: 'Supprimer', + renderCell: (cellValues) => { + return ( + <> + { + // handleClick_delete(event, cellValues); + }} + > + + + } + modal + nested + position="center center" + > + {close => ( +
    + +
    MySy Information
    +
    + {' '} + + En confirmant cette opération, la tâche sera définitivement supprimée.
    + +
    +
    +
    + + +
    +
    + +
    +
    +
    + )} +
    + + + + ); + } + } + + ] + + const New_Option_Tuteur_Role = [ + { "id": "0", "label": "Parent", "value": "0" }, + { "id": "1", "label": "Tuteur légal", "value": "1" }, + { "id": "2", "label": "Tuteur scolaire", "value": "2" }, + { "id": "3", "label": "Autre", "value": "3" }, + { "id": "", "label": "", "value": "" }, + ] + + const New_Option_Oui_Non = [ + { + value: '1', + label: 'Oui', + id: '1', + }, + { + value: '0', + label: 'Non', + id: '0', + }, + ]; + + + const [handleClick_delete_tache_pedago_api, sethandleClick_delete_tache_pedago_api] = useState(); + const [handleClick_delete_tache_pedago_message, sethandleClick_delete_tache_pedago_message] = useState(); + const [handleClick_delete_tache_pedago_result, sethandleClick_delete_tache_pedago_result] = useState(); + function handleClick_delete_tache_pedago(event, cellValues) { + + var tache_pedagogique_id = cellValues.row._id; + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("tache_pedagogique_id", tache_pedagogique_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Given_tache_pedagogique/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In handleClick_delete_tache_pedago res.data.status = " + res.data.status); + //console.log(" In handleClick_delete_tache_pedago res.data.message r_class = " + res.data.message); + sethandleClick_delete_tache_pedago_api("true"); + sethandleClick_delete_tache_pedago_result(res.data.message); + + Getall_Partner_Tache_Pedago(); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + } + else { + sethandleClick_delete_tache_pedago_api("false"); + sethandleClick_delete_tache_pedago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( handleClick_delete_tache_pedago = ', error); + sethandleClick_delete_tache_pedago_api("false"); + alert(" Impossible de supprimer la tâche pédagogique"); + //setmyApimyApiMessage("") + }) + } + const [Getall_Partner_Tache_Pedago_api, setGetall_Partner_Tache_Pedago_api] = useState(); + const [Getall_Partner_Tache_Pedago_message, setGetall_Partner_Tache_Pedago_message] = useState(); + const [Getall_Partner_Tache_Pedago_result, setGetall_Partner_Tache_Pedago_result] = useState(); + function Getall_Partner_Tache_Pedago(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/Get_tache_pedagogique_no_filter/"; + + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Partner_Tache_Pedago res.data.status = " + res.data.status); + // console.log(" In Getall_Partner_Tache_Pedago res.data.message r_class = " + res.data.message); + setGetall_Partner_Tache_Pedago_api("true"); + setGetall_Partner_Tache_Pedago_result(res.data.message); + setRows(res.data.message); + + + + } + else { + setGetall_Partner_Tache_Pedago_api("false"); + setGetall_Partner_Tache_Pedago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Partner_Tache_Pedago = ', error); + setGetall_Partner_Tache_Pedago_api("false"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des tâches pédagogiques"); + setalert_type("error"); + // alert(" Impossible de recuperer la liste des employés"); + //setmyApimyApiMessage("") + }) + } + + + + useEffect(() => { + + Getall_Partner_Tache_Pedago(); + window.scrollTo({ + top: 0, + behavior: "smooth", + }); + + }, []) + + const [isLoading, setLoading] = useState(); + + const [display_alert_mysy, setdisplay_alert_mysy] = useState(""); + const [alert_message, setalert_message] = useState(""); + const [alert_type, setalert_type] = useState(""); + + function clear_alert_message() { + setalert_message(""); + } + function clear_alert_type() { + setalert_type(""); + } + function clear_display_alert_mysy() { + setdisplay_alert_mysy(""); + } + + const [p_one_detail_tache_pedago_id, setp_one_detail_tache_pedago_id] = useState(""); + const [p_detail_tache_pedago_id, setp_detail_tache_pedago_id] = useState(""); + const [p_detail_tache_pedago_code, setp_detail_tache_pedago_code] = useState(""); + const [p_detail_tache_pedago_description, setp_detail_tache_pedago_description] = useState(""); + const [p_detail_tache_pedago_commentaire, setp_detail_tache_pedago_commentaire] = useState(""); + + + const [tache_pedago_data_changed, settache_pedago_data_changed] = useState(""); + const [add_one_tache_pedago, setadd_one_tache_pedago] = useState(""); + + function clear_tache_pedago_fields() { + setp_detail_tache_pedago_id("") + setp_detail_tache_pedago_code(""); + setp_detail_tache_pedago_description(""); + setp_detail_tache_pedago_commentaire(""); + setp_one_detail_tache_pedago_id(""); + + settache_pedago_data_changed(""); + setadd_one_tache_pedago(""); + + } + + + + + const [Update_Tache_Pedago_api, setUpdate_Tache_Pedago_api] = useState(); + const [Update_Tache_Pedago_message, setUpdate_Tache_Pedago_message] = useState(); + const [Update_Tache_Pedago_result, setUpdate_Tache_Pedago_result] = useState(); + function Update_Tache_Pedago(event) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + + var myurl = ""; + + myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_tache_pedagogique/"; + form.append("tache_pedagogique_id", selected_id); + form.append("description", p_detail_tache_pedago_description); + form.append("commentaire", p_detail_tache_pedago_commentaire); + form.append("code", p_detail_tache_pedago_code); + + + setLoading(true); + axios.post(myurl, form).then(res => { + setLoading(false); + + if (String(res.data.status) === String("true")) { + //console.log(" In Update_Tache_Pedago res.data.status = " + res.data.status); + //console.log(" In Update_Tache_Pedago res.data.message r_class = " + res.data.message); + setUpdate_Tache_Pedago_api("true"); + setUpdate_Tache_Pedago_result(res.data.message); + + Getall_Partner_Tache_Pedago(); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + Dialog_tache_pedago_handleClose_buton(); + } + else { + setUpdate_Tache_Pedago_api("false"); + setUpdate_Tache_Pedago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Not good man :( Update_Tache_Pedago = ', error); + setUpdate_Tache_Pedago_api("false"); + alert(" Impossible de faire la mise à jour"); + //setmyApimyApiMessage("") + }) + } + + + const [Add_Tache_Pededago_api, setAdd_Tache_Pededago_api] = useState(); + const [Add_Tache_Pededago_message, setAdd_Tache_Pededago_message] = useState(); + const [Add_Tache_Pededago_result, setAdd_Tache_Pededago_result] = useState([]); + function Add_Tache_Pededago(event) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + + var myurl = ""; + + myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_tache_pedagogique/"; + form.append("description", p_detail_tache_pedago_description); + form.append("commentaire", p_detail_tache_pedago_commentaire); + form.append("code", p_detail_tache_pedago_code); + + + setLoading(true); + axios.post(myurl, form).then(res => { + setLoading(false); + + if (String(res.data.status) === String("true")) { + //console.log(" In Add_Tache_Pededago res.data.status = " + res.data.status); + //console.log(" In Add_Tache_Pededago res.data.message r_class = " + res.data.message); + setAdd_Tache_Pededago_api("true"); + setAdd_Tache_Pededago_result(res.data.message); + + Getall_Partner_Tache_Pedago(); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + Dialog_tache_pedago_handleClose_buton(); + } + else { + setAdd_Tache_Pededago_api("false"); + setAdd_Tache_Pededago_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Not good man :( Add_Tache_Pededago = ', error); + setAdd_Tache_Pededago_api("false"); + alert(" Impossible d'ajouter la tâche pédagogique"); + //setmyApimyApiMessage("") + }) + } + + + const [New_Getall_TrainingSession_result, setNew_Getall_TrainingSession_result] = useState([]); + + 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(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("archive", "0"); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetAllValideSessionPartner_List/"; + + setLoading(true); + + axios.post(myurl, form).then(res => { + + setLoading(false); + + 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); + + var new_data2 = []; + const new_data = res.data.message.map((x) => { + + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var local_internal_url = JSON.parse(x).class_internal_url; + var local_title_session = JSON.parse(x).titre; + var local_code_session = JSON.parse(x).code_session; + + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_code_session, + "class_internal_url": local_internal_url, + "titre": local_title_session, + "code_session": local_code_session, + }; + new_data2.push(node); + + // return {"_id": " + str(local_id) + ", "label": " + local_courrier_template_ref_interne + '" , "courrier_template_ref_interne": "' + local_courrier_template_ref_interne + '", "nom_champ_technique": "' + local_nom_champ_technique + '", "nom_champ_fonctionel": "' + local_nom_champ_fonctionel + '","valide": "1" }; + + }); + + + if (new_data2.length > 0) { + setNew_Getall_TrainingSession_result(new_data2); + } + + + } + else { + setGetall_TrainingSession_api("false"); + setGetall_TrainingSession_message(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Getall_TrainingSession = ', error); + setGetall_TrainingSession_api("false"); + //setmyApimyApiMessage("") + }) + } + + const [selected_session_id, setselected_session_id] = useState(""); + + + const [New_Getall_TrainingParticipant_result, setNew_Getall_TrainingParticipant_result] = useState([{ + "_id": "", + "id": "", + "nom": "", + "prenom": "", + "email": "", + "civilite": "", + "status": "", + "label": "", + }]); + + + const [Dialog_tache_pedago_open, setDialog_tache_pedago_open] = React.useState(false); + function Dialog_tache_pedago_handle_change_participant_session(message) { + // setDialog_tache_pedago_message(message); + setDialog_tache_pedago_open(true); + } + + const Dialog_tache_pedago_handleClose = () => { + + }; + + const Dialog_tache_pedago_handleClose_buton = () => { + setDialog_tache_pedago_open(false); + clear_tache_pedago_fields(); + setgridline_id(""); + + }; + + return ( +
    + + {isLoading &&
    +
    +
    } + + {/*** Affichage des messages d'alerte*/} + {display_alert_mysy && String(display_alert_mysy) === "1" && + + } + {/*** FIN Affichage des messages d'alerte*/} + + + + + {/*** GESTION TACHE PEDAGO */} + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + top: mouse_y, + margin: "2px", + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" + > + + Tâche pédagogique + +
    + +
    + <> + +
    Code + { + setp_detail_tache_pedago_code(e.target.value); + settache_pedago_data_changed("1"); + } + } + + /> + +
    + +
    Description + { + setp_detail_tache_pedago_description(e.target.value); + settache_pedago_data_changed("1"); + } + } + + /> + +
    + + + +
    Commentaire
    + { + setp_detail_tache_pedago_commentaire(e.target.value); + settache_pedago_data_changed("1"); + } + } + + /> +
    + + + +
    + + + + + + + + +
    + {(String(tache_pedago_data_changed) === "1" || String(add_one_tache_pedago) === "1") &&
    + /!\ Pensez à enregistrer les modifications +
    } + +
    + {String(tache_pedago_data_changed) === "1" && String(add_one_tache_pedago) !== "1" && } + + + {String(add_one_tache_pedago) === "1" && } +
    +
    + +
    +
    + +
    + + +
    + {/*** FIN GESTION TACHE PEDAGO */} + + + +
    +
    +
    +

    Tâches Pédagogiques

    + +
    +   + + { + setSelectionModel(newSelectionModel); + /*if (newSelectionModel.length === 1) + handleClick_edit_employee_From_Line(newSelectionModel);*/ + if (newSelectionModel.length !== 1) { + setsubmenu(); + // setdisplay_detail_employe(); + //setadd_One_Employee(); + } + }} + selectionModel={selectionModel} + + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={rowss.map((item, index) => ( + { + id: index, + _id: JSON.parse(item)._id, + code: JSON.parse(item).code, + description: JSON.parse(item).description, + commentaire: JSON.parse(item).commentaire, + + } + ))} + + columns={columns} + pageSize={10} + className="datagridclass" + + onRowDoubleClick={(newSelectionModel, e) => { + + setmouse_x(e.clientX); + setmouse_y(e.clientY); + setselected_id(newSelectionModel.row._id); + setgridline_id(newSelectionModel.row.id); + setp_detail_tache_pedago_id(newSelectionModel.row._id); + setp_detail_tache_pedago_code(newSelectionModel.row.code); + setp_detail_tache_pedago_description(newSelectionModel.row.description); + setp_detail_tache_pedago_commentaire(newSelectionModel.row.commentaire); + + settache_pedago_data_changed(""); + setadd_one_tache_pedago(""); + + + setDialog_tache_pedago_open(true); + }} + + rowsPerPageOptions={[10]} + disableSelectionOnClick + components={{ + Toolbar: GridToolbar, + }} + //sx={datagridSx} + getCellClassName={(params) => { + //field === 'distantiel' + + + //console.log(" ### params.field = ", params.field) + + + + 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) => { + // Pour la gestion de la couleur de zone double cliquée + if (String(params.row.id) === String(gridline_id)) { + return 'line--statut--selected'; + } + else if (parseInt(String(params.row.id)) % 2 === 0) { + return 'line--statut--pair'; + } + else if (parseInt(String(params.row.id)) % 2 !== 0) { + return 'line--statut--impair'; + } + + 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'; + } + }} + getEstimatedRowHeight={() => 200} + getRowHeight={() => "auto"} + sx={{ + "& .MuiDataGrid-cellContent": { + minHeight: 50, + + } + }} + + + + /> + +
    + +
    + +
    + +
    + +
    + +
    + + +
    + + + +
    +
    +
     
    + + +
    + +
    + ); +} + +export default Module_Tache_Pedagogique; + +const local_css = ` +:root { + --bg: #f6f8fb; + --card: #ffffff; + --text: #0f172a; + --muted: #64748b; + --border: #e5e7eb; + --shadow: 0 10px 25px rgba(2, 6, 23, .06); + --green-700: #0f6b53; + --green-600: #167a5e; + --green-100: #e9f7f1; + --blue-600: #2563eb; + --radius: 14px; + --radius-sm: 10px; +} + .Grid_2_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1.2fr 1fr; + gap: 14px; +} + +.Grid_2_col_sub_colone { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 14px; + box-shadow: 0 6px 18px rgba(2,6,23,.04); + padding: 0px; + display: flex; + flex-direction: column; + gap: 14px; +} + + +.Grid_2_col_sub_colone_header { + background: #dbeafe; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + text-align: center; + font-family: DM Sans; + font-weight: 700; + height: 2rem; + padding-top: 5px; + font-size: 15px; +} + +.Grid_2_col_sub_colone_bottom_menu{ + +} + +.card__header{ +background: #e2e8f0; + font-size: small; + text-align: center; +} + +.card__title{ + display:flex; + align-items:center; + gap: 10px; +} + +.card__icon{ + width: 34px; + height: 34px; + display:grid; + place-items:center; + border-radius: 12px; + background:#eff6ff; + border:1px solid #dbeafe; +} + +.card__header h2{ + margin:0; + font-size: 15px; + letter-spacing: -0.01em; +} + +.card__actions{ display:flex; align-items:center; gap:8px; } + +.block_detail_action{ +width: 100%; + float: left; + background: #fafafa; + padding: 10px; + border: unset; + border-radius: 10px; + } +`; diff --git a/src/components/Modules_Mes_Documents.js b/src/components/Modules_Mes_Documents.js index e6c29b4..f7fd2d7 100644 --- a/src/components/Modules_Mes_Documents.js +++ b/src/components/Modules_Mes_Documents.js @@ -1825,9 +1825,10 @@ const Modules_Mes_Documents = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { backgroundColor: '#e9f7f1', @@ -1972,9 +1973,10 @@ const Modules_Mes_Documents = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { backgroundColor: '#e9f7f1', diff --git a/src/components/Mon_Catalogue_Public.js b/src/components/Mon_Catalogue_Public.js index a158d1e..b0495a3 100644 --- a/src/components/Mon_Catalogue_Public.js +++ b/src/components/Mon_Catalogue_Public.js @@ -2973,7 +2973,7 @@ const Mon_Catalogue_Public = (props) => {
    -
    +
    Nos Formations & Tutoriels
    {showelement === "true" &&
    diff --git a/src/components/Mon_Tableau_De_Bord.js b/src/components/Mon_Tableau_De_Bord.js index 09d11c6..6bc075f 100644 --- a/src/components/Mon_Tableau_De_Bord.js +++ b/src/components/Mon_Tableau_De_Bord.js @@ -1995,9 +1995,10 @@ const Mon_Tableau_De_Bord = (props) => { paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { @@ -2162,9 +2163,10 @@ const Mon_Tableau_De_Bord = (props) => { paddingRight: '1px', "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/Notes_Evaluation.js b/src/components/Notes_Evaluation.js index 875d8b5..116fe93 100644 --- a/src/components/Notes_Evaluation.js +++ b/src/components/Notes_Evaluation.js @@ -4479,9 +4479,10 @@ const Notes_Evaluation = (props) => { } },*/ "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { @@ -5911,9 +5912,10 @@ const Notes_Evaluation = (props) => { }, "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#c8cfd5", - color: "#0a2a4d", - fontSize: 14 + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily:'DM Sans', }, '& .line--statut--selected': { diff --git a/src/components/PROD_FRONT_CODE/DisplayPartnerPromotion.js b/src/components/PROD_FRONT_CODE/DisplayPartnerPromotion.js deleted file mode 100644 index ff945c2..0000000 --- a/src/components/PROD_FRONT_CODE/DisplayPartnerPromotion.js +++ /dev/null @@ -1,27838 +0,0 @@ -import React, { useRef, useState, useEffect } from "react"; -import TextField from '@mui/material/TextField'; -import MenuItem from '@mui/material/MenuItem'; -import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css -import Button from '@mui/material/Button'; -import axios from "axios"; -import { getCookie, setCookie } from 'react-use-cookie'; -import { useHistory } from "react-router-dom"; -import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; -import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; -import { Editor } from '@tinymce/tinymce-react'; -import { FcViewDetails, FcDisapprove, FcInfo, FcExpired, FcTimeline } from "react-icons/fc"; -import 'react-tooltip/dist/react-tooltip.css' -import { Tooltip } from 'react-tooltip' -import TextareaAutosize from '@mui/material/TextareaAutosize'; -import excel_icone from "../mysy_img/excel_icone.png"; -import participants from "../mysy_img/participants.png"; -import fileDownload from 'js-file-download'; -import Popup from 'reactjs-popup'; -import 'reactjs-popup/dist/index.css'; -import { FcSearch } from "react-icons/fc"; -import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow, FcComments } from "react-icons/fc"; -import fr from 'date-fns/locale/fr'; -import { registerLocale } from 'react-datepicker'; -import DatePicker from "react-datepicker"; -import "react-datepicker/dist/react-datepicker.css"; -import { format } from 'date-fns' -import moment from "moment"; -import 'moment/locale/fr'; -import { useCookies } from "react-cookie"; -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"; -import Dialog from '@mui/material/Dialog'; -import DialogActions from '@mui/material/DialogActions'; -import DialogContent from '@mui/material/DialogContent'; -import DialogContentText from '@mui/material/DialogContentText'; -import DialogTitle from '@mui/material/DialogTitle'; -import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; -import { Fab } from "@material-ui/core"; -import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io"; -import { AiTwotoneSave } from "react-icons/ai"; -import ToggleSwitch from "./ToggleSwitch"; -import Module_Historique_Action from "./Module_Historique_Action"; -import Module_Session_Notes_Classement from "./Module_Session_Notes_Classement"; -import Chip from "@mui/material/Chip"; -import Autocomplete from '@mui/material/Autocomplete'; -import { FcOpenedFolder } from "react-icons/fc"; -import { gridClasses } from '@mui/x-data-grid'; -import Link from '@mui/material/Link'; -import { PiDotsThree } from "react-icons/pi"; -import Module_Editique from "./Module_Editique"; -import Module_Attestation_Formation from "./Module_Attestation_Formation"; -import Module_Evaluation_Positionnement from "./Module_Evaluation_Positionnement"; -import { IoAddCircleOutline } from "react-icons/io5"; -import { FcApproval, FcAcceptDatabase, FcPrint, FcPlanner } from "react-icons/fc"; -import { CiBoxList } from "react-icons/ci"; -import FullCalendar from "@fullcalendar/react"; -import daygridPlugin from "@fullcalendar/daygrid"; -import interactionPlugin from "@fullcalendar/interaction"; -import timeGridPlugin from "@fullcalendar/timegrid"; - -import Radio from '@mui/material/Radio'; -import RadioGroup from '@mui/material/RadioGroup'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import FormControl from '@mui/material/FormControl'; -import FormLabel from '@mui/material/FormLabel'; -import { FaUserPen } from "react-icons/fa6"; -import allLocales from '@fullcalendar/core/locales-all'; - -import Module_Session_Planification from "./Module_Session_Planification"; -import Module_Session_Evaluation from "./Module_Session_Evaluation"; - -import AccountTreeIcon from '@mui/icons-material/AccountTree'; -import FormGroup from '@mui/material/FormGroup'; - -import Checkbox from '@mui/material/Checkbox'; - -import { - GridToolbarContainer, GridToolbarExport, GridToolbarColumnsButton, - GridToolbarFilterButton, GridToolbarDensitySelector, GridToolbarExportContainer, useGridApiContext, - gridFilteredSortedRowIdsSelector, - gridVisibleColumnFieldsSelector, - -} from '@mui/x-data-grid'; -import * as XLSX from 'xlsx'; - -import { makeStyles } from "@material-ui/core/styles"; -import Paper from '@material-ui/core/Paper'; -import Draggable from 'react-draggable'; -import { IconButton } from '@material-ui/core'; -import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; - -import { DataGridPro } from '@mui/x-data-grid-pro'; - -import { useCallback, } from "react"; -import { DndProvider, useDrag } from "react-dnd"; -import { useDrop } from 'react-dnd' - -import { HTML5Backend } from "react-dnd-html5-backend"; -import update from "immutability-helper"; -import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; -import MoreVertIcon from '@mui/icons-material/MoreVert'; -import Menu from '@mui/material/Menu'; -import 'moment/locale/fr'; -import Timeline, { - TimelineHeaders, - SidebarHeader, - DateHeader, - TimelineMarkers, - CustomMarker, - TodayMarker, - CursorMarker -} from 'react-calendar-timeline'; - -import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'; -import ArrowBackIosNewIcon from '@mui/icons-material/ArrowBackIosNew'; - - -import randomColor from "randomcolor"; - -function PaperComponent(props) { - return ( - - - - ); -} - - -const useStyles = makeStyles((theme) => ({ - - dialog: { - position: 'absolute', - // left: 10, - top: 400 - }, - - paper: { - overflowY: 'unset', - }, - customizedButton: { - position: 'absolute', - left: '98%', - top: '-3%', - backgroundColor: 'lightgray', - color: 'gray', - }, -})); - - -const DisplayPartnerPromotion = (props) => { - registerLocale('fr', fr); - const stored_cookie_session_display_view = getCookie('mysy_session_display_view'); - const stored_cookie_session_data_row_grouped_by = getCookie('mysy_session_data_row_grouped_by'); - - const classes = useStyles(); - - const history = useHistory(); - const [submenu, setsubmenu] = useState(""); - const [rowss, setRows] = useState([]); - - const [actionmass_preinsc_val, setactionmass_preinsc_val] = useState(); - const [one_SessionstartDateInscription, setone_SessionstartDateInscription] = useState(); - const [one_SessionendDateInscription, setone_SessionendDateInscription] = useState(); - const [one_SessionendDate, setone_SessionendDate] = useState(); - const [one_SessionstartDate, setone_SessionstartDate] = useState(); - const [one_urlpreview_certif, setone_urlpreview_certif] = useState(); - const [one_field_contenu_ftion, setone_field_contenu_ftion] = useState(""); - - const filters = [ - { value: 'code_session', label: 'Code Promotion' }, - { value: 'class_title', label: 'Titre Formation' }, - { value: 'certif', label: 'Certification' } - ] - - const [selectedfilt1, setselectedfilt1] = useState(""); - const [selectedfilt2, setselectedfilt2] = useState(""); - const [selectedfilt3, setselectedfilt3] = useState(""); - const [reftrainingtoupdate, setreftrainingtoupdate] = useState(); - const [externalcodetraining_toupdate, setexternalcodetraining_toupdate] = useState(); - - - const [is_recherche, setis_recherche] = useState("0"); - - - const [selectedtraining, setselectedtraining] = useState([]) - - const BorderLinearProgress = styled(LinearProgress)(() => ({ - height: "20px", - width: "60px", - borderRadius: "2px", - backgroundColor: " #ebf5fb", - "& .MuiLinearProgress-bar": { - backgroundColor: "#1bd900", - transition: "none", - transformOrigin: "left", - }, - })); - - function ExpandableCell_50({ value }) { - const [expanded, setExpanded] = React.useState(false); - - return ( - - ); - } - - - - function Display_Colunm_text({ value }) { - - return ( -
    - {value}  - -
    - ); - } - - - const [datagrid_columns_size_model1, setdatagrid_columns_size_model1] = useState(200); - const [datagrid_columns_size_model2, setdatagrid_columns_size_model2] = useState(100); - - - const ITEM_HEIGHT_PROMO = 48; - const ITEM_HEIGHT = 48; - - - const [anchorEl_promo, setanchorEl_promo] = React.useState(null); - const [anchorEl, setAnchorEl] = React.useState(null); - - const open_promo = Boolean(anchorEl_promo); - const open = Boolean(anchorEl); - - const options_menu_vertical_promotion = [ - 'Décaler', - 'Archiver/Désarch.', - 'Supprimer', - ]; - - const options_menu_vertical = [ - 'Renvoyer Conf.', - 'Annuler Insc.', - ]; - - - - const handleClick_option_button_vertical_promo = (event) => { - setanchorEl_promo(event.currentTarget); - }; - const handleClick_option_button_vertical = (event) => { - setAnchorEl(event.currentTarget); - }; - - - const handleClose_option_button_vertical_promo = (event, value) => { - setanchorEl_promo(null); - }; - const handleClose_option_button_vertical = (event, value) => { - setAnchorEl(null); - }; - - - - const columns = [ - { field: 'id', headerName: 'id', hide: true, disableExport: true, }, - { field: '_id', headerName: '_id', hide: true, disableExport: true, }, - { field: 'class_id', headerName: 'class_id', hide: true, disableExport: true, }, - { field: 'class_lms_class_code', headerName: 'class_lms_class_code', hide: true, disableExport: true, }, - { field: 'is_bpf', headerName: 'is_bpf', hide: true, }, - - { field: 'session_alert_message', headerName: 'session_alert_message', hide: true }, - { field: 'class_internal_url', headerName: 'class_internal_url', hide: true }, - - { - field: 'is_session_alert', headerName: '', hide: false, Width: 50, flex: 1, - renderCell: (cellValues) => { - return ( -
    - {cellValues.row.is_session_alert && String(cellValues.row.is_session_alert) === "1" && } - {cellValues.row.is_session_alert && String(cellValues.row.is_session_alert) !== "1" && ""} - -
    - - ); - } - - }, - - { field: 'entre_scolaire', headerName: 'Entrée Scol.', hide: false, minWidth: 150, flex: 1, renderCell: (params) => , }, - - { field: 'code_session', headerName: 'Code Promo', hide: false, minWidth: 200, flex: 1, renderCell: (params) => , }, - { field: 'session_title', headerName: 'Titre', hide: false, flex: 1, minWidth: 250, renderCell: (params) => , }, - - { - field: 'statut', headerName: 'Statut', hide: true, width: datagrid_columns_size_model2, - renderCell: (cellValues) => { - return ( - -
    - {String(cellValues.row.statut) === "1" && "Actif"}  - {String(cellValues.row.statut) !== "1" && "Inactif"}  -
    - - ); - }, - - }, - - { - field: 'etape', headerName: 'Etape', hide: false, width: datagrid_columns_size_model2, renderCell: (params) => , - - }, - - { - field: 'archive', headerName: 'Archivé', hide: true, Width: 50, editable: false, renderCell: (cellValues) => { - return ( -
    - {String(cellValues.row.archive) === "1" && "Oui"}  - {String(cellValues.row.archive) !== "1" && "Non"}  - -
    - - ); - }, - }, - - - - { field: 'class_external_code', headerName: 'Code Formation', align: "center", hideable: true, flex: 1, hide: true, minWidth: 150, renderCell: (params) => , }, - { field: 'date_debut', headerName: 'Debut', hide: false, minWidth: 150, renderCell: (params) => , }, - { field: 'date_fin', headerName: 'Fin', minWidth: 150, renderCell: (params) => , }, - - { - field: 'mode_animation', headerName: 'Mode', width: datagrid_columns_size_model2, - renderCell: (cellValues) => { - return ( - -
    - {String(cellValues.row.mode_animation) === "0" && "Prés."}  - {String(cellValues.row.mode_animation) === "1" && "Dist."}  - {String(cellValues.row.mode_animation) === "2" && "Hybr."}  - -
    - - ); - }, - }, - - - { field: 'formateur', headerName: 'Formateur', minWidth: datagrid_columns_size_model1, hide: true, hideable: true, renderCell: (params) => , }, - { field: 'nb_participant', headerName: 'Nb Parti.', minWidth: datagrid_columns_size_model2, align: "center", hide: false, renderCell: (params) => , }, - { - field: 'taux_remplissage', headerName: 'Remplissage', align: "center", flex: 1, minWidth: 100, maxWidth: 150, flex: 1, - align: "left", - renderCell: (params) => { - return ( - <> - - {`${(params?.row.taux_remplissage * 100).toFixed(0)}%`} - - ); - }, - }, - { field: 'nb_inscrit', headerName: 'Insc', minWidth: 20, align: "center", hide: true, hideable: true, renderCell: (params) => , }, - { field: 'nb_preinscrit', headerName: 'Preinsc.', minWidth: 20, align: "center", hide: false, hideable: true, renderCell: (params) => , }, - { - field: 'prix_session', headerName: 'Prix', minWidth: 20, align: "center", hide: false, - renderCell: (params) => , - }, - { field: 'title', headerName: 'Formation', minWidth: 250, flex: 1, align: "center", hide: true, hideable: true, renderCell: (params) => , }, - { field: 'domaine', headerName: 'Domaine', minWidth: datagrid_columns_size_model1, align: "center", hide: true, renderCell: (params) => , }, - { field: 'published', headerName: 'publié', minWidth: datagrid_columns_size_model1, align: "center", hide: true, renderCell: (params) => , }, - - { field: 'site_formation_id', headerName: 'site_formation_id', with: 0, align: "center", hide: true, disableExport: true, }, - - - { field: 'qty_in_quotation', headerName: 'Place Non validé ', with: 150, align: "center", hide: true, renderCell: (params) => , }, - { field: 'qty_in_quotation_list_quotation', headerName: 'List Devis ', with: 150, align: "center", hide: true, renderCell: (params) => , }, - - { field: 'site_formation_nom', headerName: 'Site Ftion', with: 150, align: "center", hide: true, renderCell: (params) => , }, - - { - field: 'invoiced_statut', headerName: 'Facturé', minWidth: 100, flex: 1, maxWidth: 150, hide: true, editable: false, - renderCell: (cellValues) => { - return ( -
    - {String(cellValues.row.invoiced_statut) === "2" && "Oui"} - {String(cellValues.row.invoiced_statut) === "1" && "Part."} - {String(cellValues.row.invoiced_statut) !== "1" && String(cellValues.row.invoiced_statut) !== "2" && "Non"} -
    - ); - }, - }, - - { field: 'duration', headerName: 'Durée', minWidth: datagrid_columns_size_model2, align: "center", hide: true, renderCell: (params) => , }, - - { - field: 'bton_vertif', headerName: 'Gestion', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center", - renderCell: (cellValues) => { - return ( -
    - - {String(props.check_user_acces_right("session", "write")) === "1" && } -
    - ); - }, - }, - ] - - const [session_debut_for_decalage, setsession_debut_for_decalage] = React.useState(''); - const [session_fin_for_decalage, setsession_fin_for_decalage] = React.useState(''); - - const [session_new_debut_for_decalage, setsession_new_debut_for_decalage] = React.useState(''); - const [session_id_for_decalage, setsession_id_for_decalage] = React.useState(''); - - const [promo_archive_status, setpromo_archive_status] = React.useState(''); - - const [working_cellValues_promo, setworking_cellValues_promo] = useState(false); - const [dialogOpen_supp_promo, setdialogOpen_supp_promo] = useState(false); - const Dialog_menuitem_close_supp_prmo = () => { - setdialogOpen_supp_promo(false) - }; - - - const [dialogOpen_archive, setdialogOpen_archive] = useState(false); - const Dialog_menuitem_close_archive = () => { - setdialogOpen_archive(false) - }; - - const options_menu_vertical_preinsc = [ - '', - 'Mise à jour', - 'Valider Insc.', - 'Refuser Insc.', - 'Supprimer', - - ]; - const [working_cellValues_preisnc, setworking_cellValues_preisnc] = useState(false); - const [anchorEl_preinsc, setAnchorEl_preinsc] = React.useState(null); - const open_preinsc = Boolean(anchorEl_preinsc); - const handleClick_option_button_vertical_preinsc = (event) => { - setAnchorEl_preinsc(event.currentTarget); - }; - const handleClose_option_button_vertical_preinsc = (event, value) => { - setAnchorEl_preinsc(null); - }; - - - const [dialogOpen_refus_inscription, setdialogOpen_refus_inscription] = useState(false); - const Dialog_menuitem_close_refus_inscription = () => { - setdialogOpen_refus_inscription(false) - }; - - - const [dialogOpen_suppr_preinscription, setdialogOpen_suppr_preinscription] = useState(false); - const Dialog_menuitem_suppr_preinscription = () => { - setdialogOpen_suppr_preinscription(false) - }; - - const columns_preinscrit = [ - { field: 'id', headerName: 'id', hide: true }, - { field: '_id', headerName: '_id', hide: true }, - - { - field: 'civilite', headerName: 'Civ.', minWidth: 90, flex: 1, maxWidth: 100, hide: false, editable: false, editable: false, - - renderCell: (cellValues) => { - return ( - -
    - {New_civilite && New_civilite.length > 0 && cellValues.row.civilite && - - } - -
    - - ); - }, - }, - - { field: 'nom', headerName: 'nom', minWidth: 200, flex: 1, hide: false, editable: true, renderCell: (params) => , }, - { field: 'prenom', headerName: 'prenom', minWidth: 200, flex: 1, hide: false, editable: true, renderCell: (params) => , }, - { field: 'email', headerName: 'email', minWidth: 200, flex: 1, flex: 1, renderCell: (params) => , }, - { field: 'client_rattachement_nom', headerName: 'Client', minWidth: 150, flex: 1, hide: false, editable: false, renderCell: (params) => , }, - { field: 'client_rattachement_id', headerName: 'Client_id', Width: 0, hide: true, editable: false, }, - - { - field: 'client_facture', headerName: 'Client Fact.', minWidth: 200, flex: 1, hide: false, editable: false, - - renderCell: (cellValues) => { - return ( -
    - {New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 && } -
    - - ); - } - }, - - { field: 'employeur', headerName: 'Employeur', minWidth: 150, flex: 1, maxWidth: 200, hide: true, editable: true, renderCell: (params) => , }, - { field: 'opco', headerName: 'Centre Opco', minWidth: 100, flex: 1, maxWidth: 150, hide: true, editable: false }, - { - field: 'modefinancement', headerName: 'Financement', minWidth: 100, flex: 1, maxWidth: 150, hide: true, editable: false, - renderCell: (cellValues) => { - return ( - -
    - {New_Financement && New_Financement.length > 0 && cellValues.row.modefinancement && - - } - -
    - - ); - }, - }, - { field: 'amount', headerName: 'Montant Formation', minWidth: 100, flex: 1, maxWidth: 150, type: 'number', flex: 1, editable: true, renderCell: (params) => , }, - { - field: "update", headerName: 'Mise à jour', - renderCell: (cellValues) => { - return ( - - <> - {String(props.check_user_acces_right("session", "write")) === "1" && { - handleClick_accept(event, cellValues); - }} - > - - - } - modal - nested - position="center center" - > - {close => ( -
    - -
    MySy Information
    -
    - {' '} - - Confirmer la mise à jour des informations du stagiaire -
    -
    -
    - - -
    -
    - -
    -
    -
    - )} -
    } - - - - ); - } - }, - - - { - field: 'bton_vertif', headerName: 'Gestion', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center", - renderCell: (cellValues) => { - return ( -
    - - {String(props.check_user_acces_right("session", "write")) === "1" &&