15/02/26 - 18h30

branche_01062025
Cherif 2026-02-15 18:32:11 +01:00
parent 674505fff9
commit 25af55e058
27 changed files with 19289 additions and 2201 deletions

View File

@ -1845,7 +1845,7 @@ function Abonnement(props) {
</div>
</div>
</div>
<div className="detail_fonctionnalite_line" >

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,44 +1,21 @@
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";
import Module_Competence_Pedagogique from "./Module_Competence_Pedagogique";
import Module_Bloc_Competence_Pedagogique from "./Module_Bloc_Competence_Pedagogique";
function PaperComponent(props) {
@ -73,20 +50,11 @@ const useStyles = makeStyles((theme) => ({
}));
const Config_Competence_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);
@ -122,18 +90,6 @@ const Config_Competence_Pedagogique_Ftion_Initiale = (props) => {
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();
@ -212,6 +168,8 @@ const Config_Competence_Pedagogique_Ftion_Initiale = (props) => {
submenu_competence_padagogique();
}
} else {
submenu_bloc_competence_padagogique();
}
}, [])
@ -333,7 +291,7 @@ const Config_Competence_Pedagogique_Ftion_Initiale = (props) => {
</div>
{submenu && submenu === "competence_padagogique" && <div>
@ -345,7 +303,9 @@ const Config_Competence_Pedagogique_Ftion_Initiale = (props) => {
{submenu && submenu === "bloc_competence" && <div>
bloc_competence
<Module_Bloc_Competence_Pedagogique
props_menu={props_menu}
props_object_id={props_object_id} />
</div>}

View File

@ -1,39 +1,18 @@
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";
@ -74,17 +53,7 @@ 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);
@ -150,6 +119,7 @@ const Config_Ref_Pedagogique_Ftion_Initiale = (props) => {
function submenu_pole_activite_padagogique() {
setprops_object_id("");
// Getall_Parter_referentiel_padagogique();
setsubmenu("pole_activite_padagogique");
submenu_color_management("pole_activite_padagogique");
@ -157,6 +127,7 @@ const Config_Ref_Pedagogique_Ftion_Initiale = (props) => {
function submenu_referentiel_padagogique() {
setprops_object_id("");
// Getall_Parter_referentiel_padagogique();
setsubmenu("referentiel_padagogique");
submenu_color_management("referentiel_padagogique");
@ -215,8 +186,10 @@ const Config_Ref_Pedagogique_Ftion_Initiale = (props) => {
setprops_menu(props.submenu);
setprops_object_id(props.object_key)
if (props.submenu === "referentiel_padagogique") {
console.log(" CONFIG props.object_key = ", props.object_key)
console.log(" CONFIG props.submenu= ", props.submenu)
if (props.submenu === "referentiel_padagogique") {
submenu_referentiel_padagogique();
} else if (props.submenu === "pole_activite_padagogique") {
@ -229,6 +202,8 @@ const Config_Ref_Pedagogique_Ftion_Initiale = (props) => {
submenu_tache_padagogique();
}
} else {
submenu_pole_activite_padagogique();
}
}, [])
@ -342,10 +317,11 @@ const Config_Ref_Pedagogique_Ftion_Initiale = (props) => {
<h3 style={{ fontFamily: 'DM Sans' }}> Réferentiels pédagogiques </h3>
<h3 style={{ fontFamily: 'DM Sans' }}> Votre Réferentiel pédagogique </h3>
<div className="div_row" ref={myRef_head} id="myRef_head" >
<Button variant="outlined" onClick={submenu_referentiel_padagogique} className="detail_class_submenu" id='referentiel_padagogique' name='referentiel_padagogique'>Réferenttiel pédagogique</Button>
{/* <Button variant="outlined" onClick={submenu_referentiel_padagogique} className="detail_class_submenu" id='referentiel_padagogique' name='referentiel_padagogique'>Réferenttiel pédagogique</Button> */}
<Button variant="outlined" onClick={submenu_pole_activite_padagogique} className="detail_class_submenu" id='pole_activite_padagogique' name='pole_activite_padagogique'>Pôle Activité</Button>
<Button variant="outlined" onClick={submenu_activite_padagogique} className="detail_class_submenu" id='activite_padagogique' name='activite_padagogique'>Activités Pédag.</Button>
<Button variant="outlined" onClick={submenu_tache_padagogique} className="detail_class_submenu" id='tache_padagogique' name='tache_padagogique'>Tâches Pédag.</Button>
@ -374,8 +350,8 @@ const Config_Ref_Pedagogique_Ftion_Initiale = (props) => {
{submenu && submenu === "pole_activite_padagogique" && <div>
<Module_Pole_Actvitie_Pedagogique
props_menu={props_menu}
props_object_id={props_object_id} />
props_menu={props.submenu}
props_object_id={props.object_key} />
</div>}

View File

@ -5998,10 +5998,13 @@ const DisplayPartnerPromotion = (props) => {
let [sessionChanged, setsessionChanged] = useState(false);
function desableSessionFields() {
async function desableSessionFields() {
setedit_session_form(false);
await sleep(10);
if (document.getElementsByName("myclass_title") && document.getElementsByName("myclass_title")[0]) {
document.getElementsByName("myclass_title")[0].disabled = true;
document.getElementsByName("myclass_title")[0].style.backgroundColor = "#ECEFF1";
@ -16896,7 +16899,7 @@ const DisplayPartnerPromotion = (props) => {
</div>}
{New_Getall_Training_Employee_No_Filter_result && New_Getall_Training_Employee_No_Filter_result.length > 0 && <div className="session_caract_Dialog"> Formateur <br />
{New_Getall_Training_Employee_No_Filter_result && New_Getall_Training_Employee_No_Filter_result.length > 0 && <div className="session_caract_Dialog"> Responsable <br />
<Autocomplete
disablePortal
name="dup_formateur_id"
@ -20964,7 +20967,8 @@ const DisplayPartnerPromotion = (props) => {
'& .line--statut--impair': {
backgroundColor: '#FFFFFF',
color: '#0a2a4d',
}, [`& .${gridClasses.cell}`]: {
},
[`& .${gridClasses.cell}`]: {
py: 1,
},
@ -22729,7 +22733,7 @@ const DisplayPartnerPromotion = (props) => {
<div className="div_row" ref={myRef_add_session} id="myRef_add_session"> &nbsp; </div>
{selected_code_session && String(selected_code_session).length > 0 && <div className="div_row">
<Button variant="outlined" ref={myRef} onClick={submenu_detail_session} className="detail_class_submenu" id='detail_session' name='detail_session'>Détail Session</Button>
<Button variant="outlined" ref={myRef} onClick={submenu_detail_session} className="detail_class_submenu" id='detail_session' name='detail_session'>Détail Promo</Button>
{/* <Button variant="outlined" ref={myRef} onClick={submenu_sequence_session} className="detail_class_submenu" id='sequence_session' name='sequence_session'>Planif. ({String(nb_sequence)})</Button>*/}
<Button variant="outlined" ref={myRef} onClick={submenu_planification_session} className="detail_class_submenu" id='planification_session' name='planification_session'>Planif. ({String(nb_sequence)})</Button>
@ -23237,7 +23241,7 @@ const DisplayPartnerPromotion = (props) => {
{!edit_session_form && <div className="session_caract"> Formateur <br />
{!edit_session_form && <div className="session_caract"> Responsable <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -23258,7 +23262,7 @@ const DisplayPartnerPromotion = (props) => {
{edit_session_form && <div className="session_caract"> Formateur <br />
{edit_session_form && <div className="session_caract"> Responsable <br />
<Autocomplete
disablePortal
name="formateur_id"
@ -23418,7 +23422,7 @@ const DisplayPartnerPromotion = (props) => {
locale={'fr'}
/>
</div>}
<div className="div_row"> &nbs; </div>
<div className="div_row"> &nbsp; </div>
<div className="session_caract"> <b> Nombre Places </b><br />
@ -24166,7 +24170,7 @@ const DisplayPartnerPromotion = (props) => {
<div className="session_caract"> Formateur <br />
<div className="session_caract"> Responsable <br />
<Autocomplete
disablePortal
name="formateur_id"
@ -25686,8 +25690,7 @@ const DisplayPartnerPromotion = (props) => {
if (!response) {
return;
}
setmyinscript_status("0")
submenu_add_one_participant()
}
else if (selected_session_invoiced_statut === "2") {
@ -25695,11 +25698,11 @@ const DisplayPartnerPromotion = (props) => {
if (!response) {
return;
}
setmyinscript_status("0")
submenu_add_one_participant()
}
setmyinscript_status("0")
submenu_add_one_participant()
}}
className="detail_class_submenu bton_add_session"
@ -26655,8 +26658,7 @@ const DisplayPartnerPromotion = (props) => {
if (!response) {
return;
}
setmyinscript_status("1");
submenu_add_one_participant()
}
else if (selected_session_invoiced_statut === "2") {
@ -26664,11 +26666,11 @@ const DisplayPartnerPromotion = (props) => {
if (!response) {
return;
}
setmyinscript_status("1");
submenu_add_one_participant()
}
setmyinscript_status("1");
submenu_add_one_participant()
}}
@ -28694,7 +28696,7 @@ const DisplayPartnerPromotion = (props) => {
{String(props.check_user_acces_right("session", "write")) === "1" && <div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
<Button variant="outlined" onClick={(e) => {
Getall_Class_List_UE();
setDialog_Unite_Enseignement_open(true);
setDialog_Unite_Enseignement_open(true);
}}
className="detail_class_submenu bton_add_session"
id='menu_import_participant' name='menu_import_participant'>Ajout 1 UE &nbsp;

View File

@ -6016,10 +6016,12 @@ const DisplayPartnerSession = (props) => {
let [sessionChanged, setsessionChanged] = useState(false);
function desableSessionFields() {
async function desableSessionFields() {
setedit_session_form(false);
await sleep(10);
if (document.getElementsByName("myclass_title") && document.getElementsByName("myclass_title")[0]) {
document.getElementsByName("myclass_title")[0].disabled = true;
document.getElementsByName("myclass_title")[0].style.backgroundColor = "#ECEFF1";
@ -25498,20 +25500,19 @@ const DisplayPartnerSession = (props) => {
const response = window.confirm("Cette session est déjà en cours de facturation. Toute modification peut avoir un impact. Souhaitez-vous continuer ?");
if (!response) {
return;
}
setmyinscript_status("0")
submenu_add_one_participant()
}
}
else if (selected_session_invoiced_statut === "2") {
const response = window.confirm("Cette session est déjà entièrement facturée. Toute modification peut avoir un impact. Souhaitez-vous continuer ?");
if (!response) {
return;
}
setmyinscript_status("0")
submenu_add_one_participant()
}
}
setmyinscript_status("0")
submenu_add_one_participant()
}}
className="detail_class_submenu bton_add_session"
@ -26483,8 +26484,7 @@ const DisplayPartnerSession = (props) => {
if (!response) {
return;
}
setmyinscript_status("1");
submenu_add_one_participant()
}
else if (selected_session_invoiced_statut === "2") {
@ -26492,9 +26492,10 @@ const DisplayPartnerSession = (props) => {
if (!response) {
return;
}
setmyinscript_status("1");
submenu_add_one_participant()
}
setmyinscript_status("1");
submenu_add_one_participant()
}}

View File

@ -463,7 +463,7 @@ const DistplayPartnerTraningsPage = (props) => {
}
else {
setmyApiResponse("True");
setmyApiResponse("True");
if (data['message'].length > 0) {
setTableData(data['message']);
setRows(data['message']);
@ -512,7 +512,7 @@ const DistplayPartnerTraningsPage = (props) => {
}
else {
setmyApiResponse("True");
if (data['message'].length > 0 ) {
if (data['message'].length > 0) {
setTableData(data['message']);
setRows(data['message']);
} else {
@ -3000,6 +3000,7 @@ const DistplayPartnerTraningsPage = (props) => {
rows_champs_specifics={rows_champs_specifics}
formation_initiale={props.formation_initiale}
check_user_acces_right={props.check_user_acces_right}
GetAllClass_new={GetAllClass_new}
/>
</div>
@ -3017,10 +3018,13 @@ const DistplayPartnerTraningsPage = (props) => {
<div className="parter_div_droite_bas">
<div className="titre1_bis"> Création manuelle d'une formation </div>
<TrainingForm mytrainingclass={{ 'ref': '', 'dist': 'Oui', 'plus_produit': '0' }} ispending={props.ispending}
currentpack={String(props.currentpack).toUpperCase()} closeTrainingForm={Closecreatetraining}
rows_champs_specifics={rows_champs_specifics}
check_user_acces_right={props.check_user_acces_right} />
check_user_acces_right={props.check_user_acces_right}
Closecreatetraining={Closecreatetraining}
GetAllClass_new={GetAllClass_new} />
</div>
<hr />
@ -3416,30 +3420,52 @@ const DistplayPartnerTraningsPage = (props) => {
height: "700px",
width: '100%',
paddingRight: '2px',
fontFamily:'DM Sans',
'& .cell--published': {
backgroundColor: '#a2cf6e',
color: '#1a3e72',
fontWeight: 'bold',
fontFamily:'DM Sans',
},
'& .cell--unpublished': {
backgroundColor: '#ffac33',
color: '#1a3e72',
fontWeight: 'light',
fontFamily:'DM Sans',
},
'& .line--published': {
backgroundColor: '#E6F7C8',
color: 'black',
color: '#0a2a4d',
fontFamily:'DM Sans',
},
'& .line--unpublished': {
backgroundColor: '#FAD7A0',
color: 'black',
color: '#0a2a4d',
fontFamily:'DM Sans',
},
"& .MuiDataGrid-columnHeaders": {
backgroundColor: "#dfe8f2",
color: "#0a2a4d",
fontSize: '14px',
fontFamily: 'DM Sans',
},
'& .line--statut--selected': {
backgroundColor: '#e9f7f1',
backgroundColor: '#e9f7f1',
color: '#0a2a4d',
},
'& .line--statut--pair': {
backgroundColor: 'rgba(235, 235, 235, .7)',
color: '#0a2a4d',
},
'& .line--statut--impair': {
backgroundColor: '#FFFFFF',
color: '#0a2a4d',
},
[`& .${gridClasses.cell}`]: {
py: 1,
},
@ -3550,10 +3576,7 @@ const DistplayPartnerTraningsPage = (props) => {
}}
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';
}
if (String(params.row.published) === "1") {
return 'line--published';
@ -3563,6 +3586,17 @@ const DistplayPartnerTraningsPage = (props) => {
return 'line--unpublished';
}
// 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';
}
}}
getEstimatedRowHeight={() => 200}
getRowHeight={() => "auto"}
@ -3605,11 +3639,26 @@ const DistplayPartnerTraningsPage = (props) => {
color: 'black',
},
"& .MuiDataGrid-columnHeaders": {
backgroundColor: "#dfe8f2",
color: "#0a2a4d",
fontSize: '14px',
fontFamily: 'DM Sans',
},
'& .line--statut--selected': {
backgroundColor: '#e9f7f1',
backgroundColor: '#e9f7f1',
color: '#0a2a4d',
},
'& .line--statut--pair': {
backgroundColor: 'rgba(235, 235, 235, .7)',
color: '#0a2a4d',
},
'& .line--statut--impair': {
backgroundColor: '#FFFFFF',
color: '#0a2a4d',
},
[`& .${gridClasses.cell}`]: {
py: 1,
},
@ -3738,6 +3787,11 @@ const DistplayPartnerTraningsPage = (props) => {
// 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.published) === "1") {

View File

@ -183,7 +183,7 @@ const Groupe_Apprenant = (props) => {
{ field: 'code', headerName: 'Code', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'nom', headerName: 'Nom', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'type_groupe_code', headerName: 'Type GRoupe', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'type_groupe_code', headerName: 'Type Groupe', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'nb_membre', headerName: 'Nb membres', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'class_id', headerName: 'class_id', hide: true, Width: 0, disableExport: true, },
@ -3927,7 +3927,7 @@ const Groupe_Apprenant = (props) => {
</div>
<div className="session_caract"> <b> Classe </b> <br />
<div className="session_caract"> <b> Promo </b> <br />
{New_Getall_Partner_Session_Reduice_Fields_result && New_Getall_Partner_Session_Reduice_Fields_result.length > 0 && <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -4330,7 +4330,7 @@ const Groupe_Apprenant = (props) => {
</div>
<div className="session_caract"> <b> Classe </b> <br />
<div className="session_caract"> <b> Promo </b> <br />
{New_Getall_Partner_Session_Reduice_Fields_result && New_Getall_Partner_Session_Reduice_Fields_result.length > 0 &&
<Autocomplete

View File

@ -4166,7 +4166,7 @@ registerLocale('fr', fr);
<Button variant="outlined" onClick={submenu_ressource_associe} className="detail_class_submenu" id='ressource_associe' name='affectation'>Ressources Associées </Button>
*/}
</div>
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Ajouter un nouveau materiel </nav>
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Ajouter une nouvelle salle </nav>
<div className="session_data" >
<div className="session_caract"> <b>Ref. Interne </b> <br />
<TextField

View File

@ -1,7 +1,5 @@
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";
@ -12,8 +10,6 @@ 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';
@ -22,10 +18,6 @@ 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';
@ -36,13 +28,13 @@ 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) => ({
@ -89,19 +81,6 @@ const Module_Actvitie_Pedagogique = (props) => {
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([]);
@ -310,13 +289,7 @@ const Module_Actvitie_Pedagogique = (props) => {
}
]
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 = [
{
@ -498,6 +471,7 @@ const Module_Actvitie_Pedagogique = (props) => {
if (props.props_object_id && props.props_object_id.length > 3 && props.props_menu === "activite_padagogique") {
setselected_id(props.props_object_id);
Get_Given_Activite_pedago_data(props.props_object_id);
setactivite_pedago_data_changed("");
@ -876,7 +850,7 @@ const Module_Actvitie_Pedagogique = (props) => {
//alert(" Aucun employé recuperé");
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(" Aucun employé recuperé");
setalert_message(" Aucune activité recuperée");
setalert_type("warning");
}
@ -1509,7 +1483,7 @@ const Module_Actvitie_Pedagogique = (props) => {
<div className="div_row" style={{ paddingRight: '10px' }}>
<div className="session_data">
<div style={{ "border": "None" }}>
<h3 style={{ fontFamily: 'DM Sans' }}> Activités pédagogiques </h3>
<h3 style={{ fontFamily: 'DM Sans', fontSize:'20px', textAlign:'center', marginTop:'1rem' }}> Activités pédagogiques </h3>
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
&nbsp;
@ -1750,9 +1724,11 @@ const Module_Actvitie_Pedagogique = (props) => {
{selected_id && selected_id.length > 5 && <div className="div_row">
<Button variant="outlined" onClick={submenu_detail_activite_padagogique} className="detail_class_submenu" id='détail_activite_pedagique' name='détail_activite_pedagique'>Détail Activité </Button>
{/*
<Button variant="outlined" onClick={"submenu_pole_activite_padagogique"} className="detail_class_submenu" id='pole_activite_padagogique' name='pole_activite_padagogique'>Pôle Activité</Button>
<Button variant="outlined" onClick={"submenu_activite_padagogique"} className="detail_class_submenu" id='activite_padagogique' name='activite_padagogique'>Activités Pédag.</Button>
<Button variant="outlined" onClick={"submenu_tache_padagogique"} className="detail_class_submenu" id='tache_padagogique' name='tache_padagogique'>Tâches Pédag.</Button>
*/}
</div>}
{String(submenu) === "add_one" && String(add_one_activite_pedago) === "1" && <div className="div_row" style={{ paddingRight: '10px' }}>
@ -1780,7 +1756,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap'
}}>
<div className="session_caract"> Code <br />
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Code <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -1803,32 +1779,34 @@ const Module_Actvitie_Pedagogique = (props) => {
/>
</div>
<div className="session_caract"> Description <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Description <br />
<TextareaAutosize
name="detail_desc"
id="detail_desc"
InputLabelProps={{
shrink: true,
aria-label="minimum height"
maxRows={10}
//placeholder="Minimum 3 rows"
style={{
border: "1px solid gainsboro", width: '99%', padding: '2px',
maxHeight: '5rem', height: '5rem', minHeight: '5rem', marginBottom: '1rem',
fontFamily: 'DM Sans', fontSize: '14px'
}}
disabled={false}
className="disabled_style"
value={p_detail_activite_pedago_description}
onChange={(e) => {
setp_detail_activite_pedago_description(e.target.value);
setactivite_pedago_data_changed("1");
}}
/>
</div>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}> Commentaire <br />
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Commentaire <br />
<TextareaAutosize
name="detail_comment"
id="detail_comment"
@ -1871,7 +1849,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap'
}}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}> Degré d'autonomie <br />
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Degré d'autonomie <br />
<TextareaAutosize
name="detail_autonomie"
id="detail_autonomie"
@ -1894,7 +1872,7 @@ const Module_Actvitie_Pedagogique = (props) => {
</div>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}> Aide <br />
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Aide <br />
<TextareaAutosize
name="detail_aide"
id="detail_aide"
@ -1946,7 +1924,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap', marginTop: '1rem'
}}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}>
<TextareaAutosize
name="detail_moyen_ressource"
id="detail_moyen_ressource"
@ -1987,7 +1965,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap', marginTop: '1rem'
}}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}>
<TextareaAutosize
name="detail_resultat"
id="detail_resultat"
@ -2036,7 +2014,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap', marginTop: '1rem'
}}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}>
<TextareaAutosize
name="detail_contrainte"
id="detail_contrainte"
@ -2077,7 +2055,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap', marginTop: '1rem'
}}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}>
<TextareaAutosize
name="detail_divers"
id="detail_divers"
@ -2175,7 +2153,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap'
}}>
<div className="session_caract"> Code <br />
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Code <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -2198,32 +2176,34 @@ const Module_Actvitie_Pedagogique = (props) => {
/>
</div>
<div className="session_caract"> Description <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Description <br />
<TextareaAutosize
name="detail_desc"
id="detail_desc"
InputLabelProps={{
shrink: true,
aria-label="minimum height"
maxRows={10}
//placeholder="Minimum 3 rows"
style={{
border: "1px solid gainsboro", width: '99%', padding: '2px',
maxHeight: '5rem', height: '5rem', minHeight: '5rem', marginBottom: '1rem',
fontFamily: 'DM Sans', fontSize: '14px'
}}
disabled={!activite_pedago_edit_data}
className="disabled_style"
disabled={Boolean(activite_pedago_edit_data)}
value={p_detail_activite_pedago_description}
onChange={(e) => {
setp_detail_activite_pedago_description(e.target.value);
setactivite_pedago_data_changed("1");
}}
/>
</div>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}> Commentaire <br />
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Commentaire <br />
<TextareaAutosize
name="detail_comment"
id="detail_comment"
@ -2266,7 +2246,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap'
}}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}> Degré d'autonomie <br />
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Degré d'autonomie <br />
<TextareaAutosize
name="detail_autonomie"
id="detail_autonomie"
@ -2289,7 +2269,7 @@ const Module_Actvitie_Pedagogique = (props) => {
</div>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}> Aide <br />
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Aide <br />
<TextareaAutosize
name="detail_aide"
id="detail_aide"
@ -2341,7 +2321,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap', marginTop: '1rem'
}}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}>
<TextareaAutosize
name="detail_moyen_ressource"
id="detail_moyen_ressource"
@ -2382,7 +2362,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap', marginTop: '1rem'
}}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}>
<TextareaAutosize
name="detail_resultat"
id="detail_resultat"
@ -2430,7 +2410,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap', marginTop: '1rem'
}}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}>
<TextareaAutosize
name="detail_contrainte"
id="detail_contrainte"
@ -2471,7 +2451,7 @@ const Module_Actvitie_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap', marginTop: '1rem'
}}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily:'DM Sans', fontSize:'14px' }}>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}>
<TextareaAutosize
name="detail_divers"
id="detail_divers"
@ -2713,9 +2693,13 @@ const Module_Actvitie_Pedagogique = (props) => {
<Button variant="outlined" onClick={(event) => {
Getall_Partner_Tache_Pedago();
setselected_tache_pedago_to_add_id("");
setDialog_Tache_Pedago_open(true);
if (p_detail_activite_pedago_tab_tache_with_code && p_detail_activite_pedago_tab_tache_with_code.length > 0) {
setselected_tache_pedago_to_add_rang(p_detail_activite_pedago_tab_tache_with_code.length);
} else {
setselected_tache_pedago_to_add_rang("0")
}
}}
className="detail_class_submenu bton_add_session"

View File

@ -123,7 +123,7 @@ const Module_Admission_Candidat_Document = (props) => {
if (String(res.data.status) === String("true")) {
//console.log(" In Get_Inscrit_All_Documents res.data.status = " + res.data.status);
//console.log(" In Get_Inscrit_All_Documents res.data.message r_class = " + res.data.message);
console.log(" In Get_Inscrit_All_Documents res.data.message r_class = " + res.data.message);
setGet_Inscrit_All_Documents_api("true");
setGet_Inscrit_All_Documents_result(res.data.message);
@ -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();
@ -944,7 +944,7 @@ const Module_Admission_Candidat_Document = (props) => {
axios.post(myurl, form).then(res => {
//console.log(" In Update_Document_Acceptance_Status res.data.status = " + res.data.status);
console.log(" In Update_Document_Acceptance_Status res.data.message r_class = " + res.data.message);
// console.log(" In Update_Document_Acceptance_Status res.data.message r_class = " + res.data.message);
setLoading(false);
if (String(res.data.status) === String("true")) {
setUpdate_Document_Acceptance_Status_api("true");
@ -984,6 +984,67 @@ const Module_Admission_Candidat_Document = (props) => {
}
const [Send_Relance_Document_Email_api, setSend_Relance_Document_Email_api] = useState();
const [Send_Relance_Document_Email_message, setSend_Relance_Document_Email_message] = useState();
const [Send_Relance_Document_Email_result, setSend_Relance_Document_Email_result] = useState();
function Send_Relance_Document_Email(local_document_id) {
var form = new FormData();
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("admission_setup_document_id", local_document_id);
form.append("inscrit_id", props.object_owner_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Candidat_Relance_Given_Document/";
setLoading(true);
//console.log(" ### form = ", form);
//return;
axios.post(myurl, form).then(res => {
//console.log(" In Send_Relance_Document_Email res.data.status = " + res.data.status);
// console.log(" In Send_Relance_Document_Email res.data.message r_class = " + res.data.message);
setLoading(false);
if (String(res.data.status) === String("true")) {
setSend_Relance_Document_Email_api("true");
setSend_Relance_Document_Email_result(res.data.message);
Get_Inscrit_All_Documents();
Get_Inscrit_Document_Pourcentage();
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 {
setSend_Relance_Document_Email_api("false");
setSend_Relance_Document_Email_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('Send_Relance_Document_Email : Not good man :( mysearchtext = ' + error);
setSend_Relance_Document_Email_api("false");
alert(" Impossible d'envoyer la relance par email");
})
}
return (
<div className="module_admission_candidat_document" style={{ margin: '10px' }}>
@ -1174,7 +1235,8 @@ const Module_Admission_Candidat_Document = (props) => {
<th style={{ textAlign: 'center' }}>Supprimer</th>
<th style={{ textAlign: 'center' }}>Visualiser</th>
<th style={{ textAlign: 'center' }}>Telecharger</th>
<th style={{ textAlign: 'center' }}>Relance</th>
<th style={{ textAlign: 'center' }}>Relance</th>
</tr>
</thead>
<tbody>
@ -1211,7 +1273,7 @@ const Module_Admission_Candidat_Document = (props) => {
</td>
<td>{item.code}</td>
<td>{item.code} </td>
<td>{item.type}</td>
<td style={{ textAlign: 'center' }}>{(item.collection_download_files).length > 0 ? "Fournie" : "Manquante"}</td>
<td>
@ -1344,12 +1406,23 @@ const Module_Admission_Candidat_Document = (props) => {
</nav> : <nav style={{ width: '100%', 'textAlign': 'center' }}> &nbsp; </nav>}
</td>
<td>
{item.collection_download_files && item.collection_download_files.length > 0 ? <nav style={{ width: '100%', 'textAlign': 'center', cursor: 'pointer' }} onClick={(e) => {
}}>
<FcSynchronize style={{ fontSize:'20px' }} />
</nav> : <nav style={{ width: '100%', 'textAlign': 'center' }}> &nbsp; </nav>}
<td>
{item.collection_download_files && item.collection_download_files.length > 0 && item.collection_download_files[0].acceptance_status === "1" ?
<nav style={{ width: '100%', 'textAlign': 'center' }}>
&nbsp;
</nav>
:
<nav style={{ width: '100%', 'textAlign': 'center', cursor: 'pointer' }} onClick={(e) => {
Send_Relance_Document_Email(item.admission_setup_document_id);
}}>
<Tooltip className="tooltip_css" id="list_relance" />
<a data-tooltip-id="list_relance" data-tooltip-html={item.last_relance}>
<FcSynchronize style={{ fontSize: '20px' }} />
</a>
</nav>
}
</td>
</tr>
))}

File diff suppressed because it is too large Load Diff

View File

@ -906,7 +906,7 @@ const Module_Competence_Pedagogique = (props) => {
//alert(" Aucun employé recuperé");
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(" Aucun employé recuperé");
setalert_message(" Aucun compétence recuperée");
setalert_type("warning");
}
@ -1371,7 +1371,7 @@ const Module_Competence_Pedagogique = (props) => {
setdisplay_alert_mysy("1");
setalert_message(" Impossible d'ajouter la l'activité");
setalert_message(" Impossible d'ajouter l'activité");
setalert_type("error");
})
@ -1539,7 +1539,7 @@ const Module_Competence_Pedagogique = (props) => {
<div className="div_row" style={{ paddingRight: '10px' }}>
<div className="session_data">
<div style={{ "border": "None" }}>
<h3 style={{ fontFamily: 'DM Sans', fontSize: '20px', textAlign: 'center', marginTop: '1rem' }}> Compétences pédagogiques </h3>
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
&nbsp;
@ -1807,7 +1807,8 @@ const Module_Competence_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap'
}}>
<div className="session_caract"> Code <br />
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Code <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -1830,31 +1831,32 @@ const Module_Competence_Pedagogique = (props) => {
/>
</div>
<div className="session_caract"> Description <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Description <br />
<TextareaAutosize
name="detail_desc"
id="detail_desc"
InputLabelProps={{
shrink: true,
aria-label="minimum height"
maxRows={10}
//placeholder="Minimum 3 rows"
style={{
border: "1px solid gainsboro", width: '99%', padding: '2px',
maxHeight: '5rem', height: '5rem', minHeight: '5rem', marginBottom: '1rem',
fontFamily: 'DM Sans', fontSize: '14px'
}}
disabled={false}
className="disabled_style"
value={p_detail_competence_pedago_description}
onChange={(e) => {
setp_detail_competence_pedago_description(e.target.value);
setcompetence_pedago_data_changed("1");
}}
/>
</div>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Commentaire <br />
<TextareaAutosize
name="detail_comment"
@ -2274,7 +2276,7 @@ const Module_Competence_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap'
}}>
<div className="session_caract"> Code <br />
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Code <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -2297,31 +2299,34 @@ const Module_Competence_Pedagogique = (props) => {
/>
</div>
<div className="session_caract"> Description <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Description <br />
<TextareaAutosize
name="detail_desc"
id="detail_desc"
InputLabelProps={{
shrink: true,
aria-label="minimum height"
maxRows={10}
//placeholder="Minimum 3 rows"
style={{
border: "1px solid gainsboro", width: '99%', padding: '2px',
maxHeight: '5rem', height: '5rem', minHeight: '5rem', marginBottom: '1rem',
fontFamily: 'DM Sans', fontSize: '14px'
}}
disabled={false}
className="disabled_style"
value={p_detail_competence_pedago_description}
onChange={(e) => {
setp_detail_competence_pedago_description(e.target.value);
setcompetence_pedago_data_changed("1");
}}
/>
</div>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Commentaire <br />
<TextareaAutosize
name="detail_comment"
@ -2886,6 +2891,9 @@ const Module_Competence_Pedagogique = (props) => {
Getall_Partner_Activite();
setselected_pole_activite_to_add_id("");
setselected_pole_activite_to_add_rang("0")
if( p_detail_pole_competence_pedago_tab_activite_with_code && p_detail_pole_competence_pedago_tab_activite_with_code.length > 0 ){
setselected_pole_activite_to_add_rang(p_detail_pole_competence_pedago_tab_activite_with_code.length)
}
setDialog_Pole_Activite_open(true);

View File

@ -3595,7 +3595,7 @@ const Module_Editique = (props) => {
<div style={{ display: "inline-block", width: "15%", textAlign: "center", height: "2.5rem", }}>
<Tooltip className="tooltip_css" id="statut_txt" />
<a data-tooltip-id="statut_txt" data-tooltip-html="Indique le statut de chaque étape. Ce statut est calculé automatiquement.">
<a data-tooltip-id="statut_txt" data-tooltip-html="Indique le statut de chaque étape. Ce statut est calculé automatiquement.">
Statut &nbsp; <FcInfo />
</a>
</div>
@ -4096,7 +4096,7 @@ const Module_Editique = (props) => {
cursor: 'pointer',
width: '50%'
}}>
{/*r01&nbsp;*/} <ManageHistoryIcon style={{ marginTop: '-5px', fontSize: '24px', cursor: 'pointer' }} onClick={(event) => {
{/*r01&nbsp;*/} <ManageHistoryIcon style={{ marginTop: '-5px', fontSize: '24px', cursor: 'pointer' }} onClick={(event) => {
if (String(write_access_automatic_document_setup) !== "1") {
setDialog_Access_Right_message("Vos droits ne sont pas suffisants pour accéder cette fonction");

View File

@ -2563,7 +2563,7 @@ const Module_Jury_Admission_Detail_Examen = (props) => {
onCellEditCommit={OnchangeCellDataGrid}
checkboxSelection
// checkboxSelection
onSelectionModelChange={(newSelectionModel) => {
setselectionModel_note_Session_classement(newSelectionModel);
/*if (newSelectionModel.length === 1)
@ -2663,7 +2663,7 @@ const Module_Jury_Admission_Detail_Examen = (props) => {
<div className="div_row">
{selectionModel_note_Session_classement && selectionModel_note_Session_classement.length >= 1 && <div className="block_en_mass">
{/*selectionModel_note_Session_classement && selectionModel_note_Session_classement.length >= 1 && <div className="block_en_mass">
<nav >Traitement en masse </nav>
&nbsp;
<Autocomplete
@ -2718,7 +2718,7 @@ const Module_Jury_Admission_Detail_Examen = (props) => {
</div>}
</div>*/}
</div>

View File

@ -204,8 +204,11 @@ const Module_Plateform_Admin_Partners = (props) => {
{ 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: 'formation_initiale', headerName: 'formation_initiale', hide: true,
},
{ field: 'recid', headerName: 'ip_id', hide: true, flex: 1, minWidth: 300, hide: true,},
{
field: 'active', headerName: 'Actif', minWidth: 100, flex: 1, maxWidth: 100, hide: false, editable: false, editable: false,
@ -1434,139 +1437,7 @@ const Module_Plateform_Admin_Partners = (props) => {
<div>
{/*
<div className="div_row">
&nbsp;
</div>
<div className="div_row_dialog" style={{ textAlign: 'left', marginRight: '15px', float: 'right', width: '50%', maxWidth: '20rem' }}>
<nav className="div_row_gauche_dialog_session" style={{ paddingTop: '15px' }}> Trier par &nbsp; <TbArrowsDownUp style={{ height: '2rem', paddingTop: '5px', cursor: 'pointer' }}
onClick={(e) => {
if (trier_order_by === "1")
settrier_order_by("-1");
else
settrier_order_by("1");
trier_v2(trier_par);
}}
/></nav>
<nav className="div_row_droite_dialog_session" >
{New_tab_trier_par && New_tab_trier_par.length > 0 && <>
<Autocomplete
disablePortal
name="dossier_status"
id="dossier_status"
options={New_tab_trier_par}
// value={New_tab_trier_par.filter((data) => (data).value === String(trier_par))[0]}
onChange={(event, value) => {
settrier_par(event.target.innerText)
trier_v2(event.target.innerText);
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
</>}
</nav>
</div>
zzzz
<div className="ck-card">
<table className="ck-table">
<thead>
<tr >
<td style={{ textAlign: 'left' }}>
Actif
</td>
<td style={{ textAlign: 'left', width: '5rem' }}>Nom</td>
<td style={{ textAlign: 'center' }}>Pack Service</td>
<td style={{ textAlign: 'center' }}>Email</td>
<td style={{ textAlign: 'center' }}>Télephone</td>
<td style={{ textAlign: 'center' }}>Contact Nom</td>
<td style={{ textAlign: 'center' }}>Contact Prenom</td>
<td style={{ textAlign: 'center' }}>Contact Tél</td>
<td style={{ textAlign: 'center' }}>Contact Mail</td>
<th style={{ textAlign: 'center' }}>
Activer / Désact.
</th>
</tr>
</thead>
<tbody>
{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) => (
<tr key={JSON.parse(item)._id} onDoubleClick={(event, value) => {
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' }}>
<td style={{ textAlign: 'left' }}>
{New_Option_Oui_Non && New_Option_Oui_Non.length > 0 && <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
name="active"
id="active"
style={{ width: '5rem' }}
value={New_Option_Oui_Non.filter((data) => (data).value === String(JSON.parse(item).active))[0].label}
/>}
</td>
<td style={{ textAlign: 'left' }}>{JSON.parse(item).nom}</td>
<td style={{ textAlign: 'center' }}>{JSON.parse(item).pack_service}</td>
<td style={{ textAlign: 'center' }}>{JSON.parse(item).email}</td>
<td style={{ textAlign: 'center' }}>{JSON.parse(item).telephone}</td>
<td style={{ textAlign: 'center' }}>{JSON.parse(item).contact_nom}</td>
<td style={{ textAlign: 'center' }}>{JSON.parse(item).contact_prenom}</td>
<td style={{ textAlign: 'center' }}>{JSON.parse(item).contact_tel}</td>
<td style={{ textAlign: 'center' }}>{JSON.parse(item).contact_mail}</td>
<td style={{ textAlign: 'center' }}>Activ/dective</td>
</tr>
))}
</tbody>
</table>
</div>
<div className="div_row" style={{ textAlign: 'right' }}>
<Button onClick={exportJsonToExcel}
id='export_excel' name='export_excel'
style={{ maxWidth: '15rem', fontFamily: 'DM Sans' }}>Export Excel &nbsp;
<img src={excel_icone} alt="ajout csv" className="icon_excel" />
</Button>
</div> */}
<div style={{ "border": "None", fontFamily: 'DM Sans' }}>
<div style={{ height: 650, width: '100%', paddingRight: '5px', fontFamily: 'DM Sans' }}>
@ -1651,6 +1522,7 @@ const Module_Plateform_Admin_Partners = (props) => {
{
id: index,
_id: JSON.parse(item)._id,
recid: JSON.parse(item).recid,
active: JSON.parse(item).active,
locked: JSON.parse(item).locked,
nom: JSON.parse(item).nom,

View File

@ -1,7 +1,5 @@
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";
@ -12,8 +10,6 @@ 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';
@ -22,10 +18,6 @@ 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';
@ -39,10 +31,10 @@ 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) => ({
@ -191,7 +183,7 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
handleClick_delete_activite_pedago(event, cellValues);
handleClick_delete_Pole_activite_pedago(event, cellValues);
//console.log('modal closed ');
close();
}}> Valider </button>
@ -222,77 +214,6 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
]
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) => <ExpandableCell_50 {...params} />, },
{ field: 'description', headerName: 'Description', flex: 1, hide: false, minWidth: 200, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: "delete", headerName: 'Supprimer',
renderCell: (cellValues) => {
return (
<>
<Popup
trigger={<Button
onClick={(event) => {
// handleClick_delete(event, cellValues);
}}
>
<CiTrash />
</Button>}
modal
nested
position="center center"
>
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
En confirmant cette opération, la tâche sera <i><font color="red"> définitivement supprimée de cette activité </font></i>. <br />
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
// handleClick_delete_tache_from_activite(event, cellValues);
//console.log('modal closed ');
close();
}}> Valider </button>
</div>
<div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup_annuler"
onClick={() => {
//console.log('modal closed ');
close();
}}
>
Annuler
</button>
</div>
</div>
</div>
)}
</Popup>
</>
);
}
}
]
const column_bloc_activite = [
{ field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, },
{ field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, },
@ -366,80 +287,6 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
]
const column_competence_with_activite = [
{ field: 'mysy_single_field', headerName: 'mysy_single_field', hide: true, Width: 0, disableExport: true, },
{ field: 'activite_pedagogique_id', headerName: 'activite_pedagogique_id', hide: true, Width: 0, disableExport: true, },
{ field: 'competence_id', headerName: 'competence_id', hide: true, Width: 0, disableExport: true, },
{ field: 'activite_pedagogique_code', headerName: 'Activité Pédagogique', flex: 1, hide: false, maxWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'competence_code', headerName: 'Competence Code', flex: 1, hide: false, maxWidth: 200, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'competence_description', headerName: 'Competence Description', flex: 1, hide: false, minWidth: 200, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: "delete", headerName: 'Supprimer',
renderCell: (cellValues) => {
return (
<>
<Popup
trigger={<Button
onClick={(event) => {
// handleClick_delete(event, cellValues);
}}
>
<CiTrash />
</Button>}
modal
nested
position="center center"
>
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
En confirmant cette opération, la compétence <i><font color="red"> sera supprimée de cette activité </font></i>. <br />
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
handleClick_delete_Competence_From_Activite_In_Pole_Activite(event, cellValues);
//console.log('modal closed ');
close();
}}> Valider </button>
</div>
<div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup_annuler"
onClick={() => {
//console.log('modal closed ');
close();
}}
>
Annuler
</button>
</div>
</div>
</div>
)}
</Popup>
</>
);
}
}
]
const [handleClick_delete_Competence_From_Activite_In_Pole_Activite_pedago_api, sethandleClick_delete_Competence_From_Activite_In_Pole_Activite_pedago_api] = useState();
const [handleClick_delete_Competence_From_Activite_In_Pole_Activite_message, sethandleClick_delete_Competence_From_Activite_In_Pole_Activite_message] = useState();
const [handleClick_delete_Competence_From_Activite_In_Pole_Activite_result, sethandleClick_delete_Competence_From_Activite_In_Pole_Activite_result] = useState([]);
@ -515,22 +362,22 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
];
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) {
const [handleClick_delete_Pole_activite_pedago_api, sethandleClick_delete_Pole_activite_pedago_api] = useState();
const [handleClick_delete_Pole_activite_pedago_message, sethandleClick_delete_Pole_activite_pedago_message] = useState();
const [handleClick_delete_Pole_activite_pedago_result, sethandleClick_delete_Pole_activite_pedago_result] = useState([]);
function handleClick_delete_Pole_activite_pedago(event, cellValues) {
var activite_pedagogique_id = cellValues.row._id;
var pole_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);
form.append("pole_activite_pedagogique_id", pole_activite_pedagogique_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Given_activite_pedagogique/";
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Given_pole_activite_pedagogique/";
setLoading(true);
axios.post(myurl, form).then(res => {
@ -539,8 +386,8 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
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);
sethandleClick_delete_Pole_activite_pedago_api("true");
sethandleClick_delete_Pole_activite_pedago_result(res.data.message);
Getall_Partner_Pole_Activite_Pedago();
@ -551,8 +398,8 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
}
else {
sethandleClick_delete_activite_pedago_api("false");
sethandleClick_delete_activite_pedago_message(res.data.message);
sethandleClick_delete_Pole_activite_pedago_api("false");
sethandleClick_delete_Pole_activite_pedago_message(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
@ -562,8 +409,8 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
}).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");
sethandleClick_delete_Pole_activite_pedago_api("false");
alert(" Impossible de supprimer le pôle d'activité pédagogique");
//setmyApimyApiMessage("")
})
}
@ -767,16 +614,18 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
Getall_Partner_Pole_Activite_Pedago();
if (props.props_object_id && props.props_object_id.length > 3 && props.props_menu === "pole_activite_padagogique") {
setselected_id(props.props_object_id);
Get_Given_Pole_Activite_pedago_data(props.props_object_id);
setpole_activite_pedago_data_changed("");
setadd_one_pole_activite_pedago("");
submenu_detail_activite_padagogique();
} else {
window.scrollTo({
@ -1963,7 +1812,7 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
/>}
</div>
<div className="session_caract_Dialog" > <b> Compétence pédagogique zzzz</b>
<div className="session_caract_Dialog" > <b> Compétence pédagogique </b>
{NewGetall_Partner_Competence_Pedago_result && NewGetall_Partner_Competence_Pedago_result.length > 0 && <Autocomplete
disablePortal
name="raison_cloture"
@ -2173,7 +2022,7 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
<div className="div_row" style={{ paddingRight: '10px' }}>
<div className="session_data">
<div style={{ "border": "None" }}>
<h3 style={{ fontFamily: 'DM Sans' }}> Pôles activités pédagogiques </h3>
<h3 style={{ fontFamily: 'DM Sans', fontSize: '20px', textAlign: 'center', marginTop: '1rem' }}> Pôles activités pédagogiques </h3>
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
&nbsp;
@ -2416,9 +2265,10 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
{selected_id && selected_id.length > 5 && <div className="div_row">
<Button variant="outlined" onClick={submenu_detail_activite_padagogique} className="detail_class_submenu" id='détail_activite_pedagique' name='détail_activite_pedagique'>Détail Activité </Button>
<Button variant="outlined" onClick={"submenu_pole_activite_padagogique"} className="detail_class_submenu" id='pole_activite_padagogique' name='pole_activite_padagogique'>Pôle Activité</Button>
{/* <Button variant="outlined" onClick={"submenu_pole_activite_padagogique"} className="detail_class_submenu" id='pole_activite_padagogique' name='pole_activite_padagogique'>Pôle Activité</Button>
<Button variant="outlined" onClick={"submenu_activite_padagogique"} className="detail_class_submenu" id='activite_padagogique' name='activite_padagogique'>Activités Pédag.</Button>
<Button variant="outlined" onClick={"submenu_tache_padagogique"} className="detail_class_submenu" id='tache_padagogique' name='tache_padagogique'>Tâches Pédag.</Button>
*/}
</div>}
{String(submenu) === "add_one" && String(add_one_pole_activite_pedago) === "1" && <div className="div_row" style={{ paddingRight: '10px' }}>
@ -2432,7 +2282,7 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
<div className="div_row" >
<div className="Grid_2_col" >
<div className="Grid_1_col" >
<div className="Grid_2_col_sub_colone" style={{ minHeight: '10rem', padding: "0px" }}>
<div style={{ width: '100%', float: 'left' }}>
@ -2469,31 +2319,31 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
/>
</div>
<div className="session_caract"> Description <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Description <br />
<TextareaAutosize
name="detail_desc"
id="detail_desc"
InputLabelProps={{
shrink: true,
aria-label="minimum height"
maxRows={10}
//placeholder="Minimum 3 rows"
style={{
border: "1px solid gainsboro", width: '99%', padding: '2px',
maxHeight: '5rem', height: '5rem', minHeight: '5rem', marginBottom: '1rem',
fontFamily: 'DM Sans', fontSize: '14px'
}}
disabled={false}
className="disabled_style"
value={p_detail_pole_activite_pedago_description}
onChange={(e) => {
setp_detail_pole_activite_pedago_description(e.target.value);
setpole_activite_pedago_data_changed("1");
}}
/>
</div>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Commentaire <br />
<TextareaAutosize
name="detail_comment"
@ -2525,30 +2375,7 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
</div>
<div className="Grid_2_col_sub_colone" style={{ minHeight: '10rem', padding: "0px" }}>
<div style={{ width: '100%', float: 'left' }}>
<div className="Grid_2_col_sub_colone_header">
Condition d'exercice
</div>
<div style={{
display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: '100%',
paddingLeft: '10px', flexWrap: 'wrap'
}}>
<div className="div_row"> &nbsp; </div>
</div>
</div>
</div>
</div>
</div>
@ -2595,14 +2422,14 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
<div className="session_data">
<div style={{ "border": "None" }}>
{p_detail_pole_activite_pedago_code && p_detail_pole_activite_pedago_code.length > 1 && <div className="div_row">
<nav style={{ textAlign: 'center', padding: '10px', fontFamily: 'DM Sans' }}> Détail activité pédagogique <b>{p_detail_pole_activite_pedago_code} </b>
<nav style={{ textAlign: 'center', padding: '10px', fontFamily: 'DM Sans' }}> Détail Pôle d'activité pédagogique <b>{p_detail_pole_activite_pedago_code} </b>
</nav>
</div>}
<div className="div_row" >
<div className="Grid_2_col" >
<div className="Grid_1_col" >
<div className="Grid_2_col_sub_colone" style={{ minHeight: '10rem', padding: "0px" }}>
<div style={{ width: '100%', float: 'left' }}>
@ -2639,31 +2466,31 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
/>
</div>
<div className="session_caract"> Description <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Description <br />
<TextareaAutosize
name="detail_desc"
id="detail_desc"
InputLabelProps={{
shrink: true,
aria-label="minimum height"
maxRows={10}
//placeholder="Minimum 3 rows"
style={{
border: "1px solid gainsboro", width: '99%', padding: '2px',
maxHeight: '5rem', height: '5rem', minHeight: '5rem', marginBottom: '1rem',
fontFamily: 'DM Sans', fontSize: '14px'
}}
disabled={!pole_activite_pedago_edit_data}
className="disabled_style"
disabled={Boolean(pole_activite_pedago_edit_data)}
value={p_detail_pole_activite_pedago_description}
onChange={(e) => {
setp_detail_pole_activite_pedago_description(e.target.value);
setpole_activite_pedago_data_changed("1");
}}
/>
</div>
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px' }}> Commentaire <br />
<TextareaAutosize
name="detail_comment"
@ -2695,28 +2522,7 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
</div>
<div className="Grid_2_col_sub_colone" style={{ minHeight: '10rem', padding: "0px" }}>
<div style={{ width: '100%', float: 'left' }}>
<div className="Grid_2_col_sub_colone_header">
Condition d'exercice
</div>
<div style={{
display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: '100%',
paddingLeft: '10px', flexWrap: 'wrap'
}}>
</div>
</div>
</div>
</div>
</div>
@ -2933,6 +2739,11 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
Getall_Partner_Activite();
setselected_pole_activite_to_add_id("");
setselected_pole_activite_to_add_rang("0")
if (p_detail_pole_activite_pedago_tab_activite_with_code && p_detail_pole_activite_pedago_tab_activite_with_code.length > 0) {
setselected_pole_activite_to_add_rang(p_detail_pole_activite_pedago_tab_activite_with_code.length)
}
setDialog_Pole_Activite_open(true);
@ -2954,7 +2765,7 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
<div className="div_row" >
{/*<div className="div_row" >
<div className="Grid_1_col" >
<div className="Grid_2_col_sub_colone" style={{ minHeight: '10rem', padding: "0px" }}>
@ -3014,8 +2825,7 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
// checkboxSelection
onSelectionModelChange={(newSelectionModel) => {
setSelectionModel(newSelectionModel);
/*if (newSelectionModel.length === 1)
handleClick_edit_employee_From_Line(newSelectionModel);*/
if (newSelectionModel.length !== 1) {
}
@ -3124,7 +2934,7 @@ const Module_Pole_Actvitie_Pedagogique = (props) => {
</div>
</div>
</div>
</div>*/}
</div>

View File

@ -44,8 +44,6 @@ const Module_Selection_Apprenants = (props) => {
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("");
function ExpandableCell_50({ value }) {
@ -53,7 +51,7 @@ const Module_Selection_Apprenants = (props) => {
return (
<nav>
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop:'5px' }}>
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", paddingTop: '5px' }}>
{expanded ? value : String(value).slice(0, 50)}&nbsp;
{value.length > 50 && (
@ -129,6 +127,91 @@ const Module_Selection_Apprenants = (props) => {
{ "id": "", "label": "", "value": "" },
]
const [New_Getall_Groupe_Apprenant_Type_result, setNew_Getall_Groupe_Apprenant_Type_result] = useState([{
"_id": "",
"id": "",
"label": "",
"code": "",
"description": "",
}]);
const [Getall_Groupe_Apprenant_Type_api, setGetall_Groupe_Apprenant_Type_api] = useState();
const [Getall_Groupe_Apprenant_Type_message, setGetall_Groupe_Apprenant_Type_message] = useState();
const [Getall_Groupe_Apprenant_Type_result, setGetall_Groupe_Apprenant_Type_result] = useState();
function Getall_Groupe_Apprenant_Type(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_Type_Groupe_Apprenant/";
axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Groupe_Apprenant_Type res.data.status = " + res.data.status);
//console.log(" In Getall_Groupe_Apprenant_Type res.data.message r_class = " + res.data.message);
setGetall_Groupe_Apprenant_Type_api("true");
setGetall_Groupe_Apprenant_Type_result(res.data.message);
setRows(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_code = JSON.parse(x).code;
var local_description = JSON.parse(x).description;
//---
var node = {
"_id": local_id,
"id": localid,
"label": local_code + " - " + local_description,
"code": local_code,
"description": local_description,
};
new_data2.push(node);
});
//---
var node = {
"_id": "",
"id": "",
"label": "",
"code": "",
"description": "",
};
new_data2.push(node);
if (new_data2.length > 0)
setNew_Getall_Groupe_Apprenant_Type_result(new_data2);
}
else {
setGetall_Groupe_Apprenant_Type_api("false");
setGetall_Groupe_Apprenant_Type_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_Groupe_Apprenant_Type = ', error);
setGetall_Groupe_Apprenant_Type_api("false");
alert(" Impossible de recuperer la liste des type de groupe d'apprenants");
//setmyApimyApiMessage("")
})
}
const [GetListePreinscrit_insc_api, setGetListePreinscrit_insc_api] = useState();
const [GetListePreinscrit_insc_meassage, setGetListePreinscrit_insc_meassage] = useState();
const [GetListePreinscrit_insc_result, setGetListePreinscrit_insc_result] = useState([])
@ -178,6 +261,57 @@ const Module_Selection_Apprenants = (props) => {
}
const [GetListeInscri_insc_Group_api, setGetListeInscri_insc_Group_api] = useState();
const [GetListeInscri_insc_Group_meassage, setGetListeInscri_insc_Group_meassage] = useState();
const [GetListeInscri_insc_Group_result, setGetListeInscri_insc_Group_result] = useState([])
function GetListeInscri_insc_Group(local_groupe_id) {
var form = new FormData();
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("_id", local_groupe_id);
setLoading(true);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Groupe_Membres_Linked_To_inscription_Data/";
fetch(myurl,
{
method: 'POST',
body: form,
})
.then((data) => data.json())
.then((data) => {
setLoading(false);
//console.log(' GetListeInscrit : Success:', data['message'], "data['status'] = ", data['status']);
setGetListePreinscrit_insc_result(data['message']);
if (String(data['status']) === String("true")) {
//console.log("erreur rrrr:" + data['status'])
setGetListeInscri_insc_Group_api("true");
// setnb_stagiaire_Inscrit(data['message'].length);
//console.log(" ### setnb_stagiaire_Inscrit = ", data['message'].length);
} else if (String(data['status']) === String("Err_Connexion")) {
alert('Erreur: ' + data['message']);
history.push("/Connexion");
}
else {
setGetListeInscri_insc_Group_api("false");
}
}).catch((error) => {
setLoading(false);
console.error('Error:', error);
setGetListeInscri_insc_Group_api("false");
});
}
const myRef_head = useRef(null);
@ -185,6 +319,10 @@ const Module_Selection_Apprenants = (props) => {
if (String(p_filtre1_value) === "user") {
GetListeInscrit();
}
else if (String(p_filtre1_value) === "user_group") {
GetListeInscri_insc_Group(p_filtre3_value);
// zzz
}
}
const [gridline_id, setgridline_id] = useState("");
@ -349,7 +487,7 @@ const Module_Selection_Apprenants = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"label": local_code + " - " + String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,
@ -619,6 +757,7 @@ const Module_Selection_Apprenants = (props) => {
Get_List_UE_From_Class_Id(props.class_id);
Getall_Class_List_Evalution(props.class_id);
Getall_Groupe_Apprenant_Type();
}, [])
const icon = <CheckBoxOutlineBlankIcon fontSize="small" />;
@ -641,6 +780,109 @@ const Module_Selection_Apprenants = (props) => {
setdisplay_alert_mysy("");
}
const [New_Getall_Partner_Groupe_Inscrit_result, setNew_Getall_Partner_Groupe_Inscrit_result] = useState([{
"_id": "",
"id": "",
"label": "",
"code": "",
"nom": "",
"type_groupe_code": "",
"class_id": "",
"session_id": "",
}]);
const [Getall_Partner_Groupe_Inscrit_api, setGetall_Partner_Groupe_Inscrit_api] = useState();
const [Getall_Partner_Groupe_Inscrit_message, setGetall_Partner_Groupe_Inscrit_message] = useState();
const [Getall_Partner_Groupe_Inscrit_result, setGetall_Partner_Groupe_Inscrit_result] = useState([]);
function Getall_Partner_Groupe_Inscrit(local_type_groupe_code, local_session_id) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("type_groupe_code", local_type_groupe_code);
form.append("session_id", local_session_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Groupe_Inscrit_With_Filter/";
axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Partner_Groupe_Inscrit res.data.status = " + res.data.status);
//console.log(" In Getall_Partner_Groupe_Inscrit res.data.message r_class = " + res.data.message);
setGetall_Partner_Groupe_Inscrit_api("true");
setGetall_Partner_Groupe_Inscrit_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_code = JSON.parse(x).code;
var local_nom = JSON.parse(x).nom;
var local_type_groupe_code = JSON.parse(x).type_groupe_code;
var local_class_id = JSON.parse(x).class_id;
var local_session_id = JSON.parse(x).session_id;
//---
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"code": local_code,
"nom": local_nom,
"type_groupe_code": local_type_groupe_code,
"class_id": local_class_id,
"session_id": local_session_id,
};
new_data2.push(node);
});
//---
var node = {
"_id": "",
"id": "",
"label": "",
"code": "",
"nom": "",
"type_groupe_code": "",
"class_id": "",
"session_id": "",
};
new_data2.push(node);
if (new_data2.length > 0)
setNew_Getall_Partner_Groupe_Inscrit_result(new_data2);
}
else {
setGetall_Partner_Groupe_Inscrit_api("false");
setGetall_Partner_Groupe_Inscrit_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_Groupe_Inscrit = ', error);
setGetall_Partner_Groupe_Inscrit_api("false");
alert(" Impossible de recuperer la liste des groupes d'inscrits");
//setmyApimyApiMessage("")
})
}
return (
<div className="moduleselectionevaluationapprenants">
@ -659,7 +901,7 @@ const Module_Selection_Apprenants = (props) => {
}
{/*** FIN Affichage des messages d'alerte*/}
<nav style={{ "border": "None", "fontSize": "20px", "paddingTop": "10px", "paddingLeft": "5px" }}> Selection des Apprenants & Groupe d'apprenants </nav>
@ -747,13 +989,77 @@ const Module_Selection_Apprenants = (props) => {
name="filtre2_value"
id="filtre2_value"
className="disabled_style"
value={New_Option_type_goupe.filter((data) => (data).value === String(p_filtre2_value))[0].label}
options={New_Option_type_goupe}
value={New_Getall_Groupe_Apprenant_Type_result.filter((data) => (data).code === String(p_filtre2_value))[0].label}
options={New_Getall_Groupe_Apprenant_Type_result}
onChange={(event, value) => {
if (value && value.value) {
setp_filtre2_value(value.value);
if (value && value.code) {
setp_filtre2_value(value.code);
Getall_Partner_Groupe_Inscrit(value.code, props.session_id);
} else {
setp_filtre2_value("");
setNew_Getall_Partner_Groupe_Inscrit_result([{
"_id": "",
"id": "",
"label": "",
"code": "",
"nom": "",
"type_groupe_code": "",
"class_id": "",
"session_id": "",
}])
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
}
</div>
</div>
}
----zzzz
{p_filtre2_value && String(p_filtre1_value) === "user_group" &&
<div className="div_row" style={{ "marginBottom": "5px" }}>
<div className="div_row_gauche texte_area_filter">
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="filtre3"
id="filtre3"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={"Liste des groupes"}
/>
</div>
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
{p_filtre2_value && String(p_filtre1_value) === "user_group" &&
New_Getall_Partner_Groupe_Inscrit_result && New_Getall_Partner_Groupe_Inscrit_result.length > 0 &&
<Autocomplete
disablePortal
name="filtre3_value"
id="filtre3_value"
className="disabled_style"
value={New_Getall_Partner_Groupe_Inscrit_result.filter((data) => (data)._id === String(p_filtre3_value))[0].label}
options={New_Getall_Partner_Groupe_Inscrit_result}
onChange={(event, value) => {
if (value && value._id) {
setp_filtre3_value(value._id);
} else {
setp_filtre3_value("");
}
}}
@ -771,7 +1077,7 @@ const Module_Selection_Apprenants = (props) => {
}
<div className="div_row" ref={myRef_head} id="myRef_head" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
@ -816,9 +1122,9 @@ const Module_Selection_Apprenants = (props) => {
},*/
"& .MuiDataGrid-columnHeaders": {
backgroundColor: "#dfe8f2",
color: "#0a2a4d",
fontSize: '14px',
fontFamily:'DM Sans',
color: "#0a2a4d",
fontSize: '14px',
fontFamily: 'DM Sans',
},
'& .line--statut--selected': {

View File

@ -3088,7 +3088,7 @@ const Module_Session_Planification = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"label": local_code+" - "+String(local_titre).substring(0, 50),
"code": local_code,
"titre": local_titre,
"credit": local_credit,

View File

@ -1,7 +1,5 @@
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";
@ -12,19 +10,16 @@ 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';
@ -38,7 +33,7 @@ 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";
@ -91,17 +86,7 @@ const Module_Tache_Pedagogique = (props) => {
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([]);
@ -146,7 +131,7 @@ const Module_Tache_Pedagogique = (props) => {
{ field: 'description', headerName: 'Description', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: 'commentaire', headerName: 'Commentaire', flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />,
field: 'commentaire', headerName: 'Commentaire', flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />,
/*renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", textAlign: 'center', width: '100%', paddingTop: '5px' }}>
@ -224,27 +209,6 @@ const Module_Tache_Pedagogique = (props) => {
]
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();
@ -351,11 +315,11 @@ const Module_Tache_Pedagogique = (props) => {
useEffect(() => {
Getall_Partner_Tache_Pedago();
window.scrollTo({
window.scrollTo({
top: 0,
behavior: "smooth",
});
}, [])
const [isLoading, setLoading] = useState();
@ -612,6 +576,10 @@ const Module_Tache_Pedagogique = (props) => {
setDialog_tache_pedago_open(false);
clear_tache_pedago_fields();
setgridline_id("");
settache_pedago_data_changed("");
setp_detail_tache_pedago_commentaire("");
setp_detail_tache_pedago_description("");
setp_detail_tache_pedago_code("");
};
@ -691,12 +659,16 @@ const Module_Tache_Pedagogique = (props) => {
</div>
<div className="session_caract_Dialog" >Description
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
name="code"
id="code"
fullWidth
<TextareaAutosize
name="description"
id="description"
aria-label="minimum height"
maxRows={10}
//placeholder="Minimum 3 rows"
style={{
border: "1px solid gainsboro", width: '99%', padding: '2px',
maxHeight: '5rem', height: '5rem', minHeight: '5rem',
}}
value={p_detail_tache_pedago_description}
onChange={(e) => {
setp_detail_tache_pedago_description(e.target.value);
@ -705,7 +677,6 @@ const Module_Tache_Pedagogique = (props) => {
}
/>
</div>
@ -719,7 +690,7 @@ const Module_Tache_Pedagogique = (props) => {
//placeholder="Minimum 3 rows"
style={{
border: "1px solid gainsboro", width: '99%', padding: '2px',
maxHeight: '5rem', height: '5rem', minHeight: '5rem', marginBottom: '3rem'
maxHeight: '5rem', height: '5rem', minHeight: '5rem',
}}
value={p_detail_tache_pedago_commentaire}
onChange={(e) => {
@ -747,8 +718,8 @@ const Module_Tache_Pedagogique = (props) => {
<div className="div_row">
{(String(tache_pedago_data_changed) === "1" || String(add_one_tache_pedago) === "1") && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center", "width": "100%" }}>
<div className="div_row">
{(String(tache_pedago_data_changed) === "1" ) && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center", "width": "100%" }}>
/!\ Pensez à enregistrer les modifications
</div>}
@ -794,7 +765,7 @@ const Module_Tache_Pedagogique = (props) => {
<div className="div_row" style={{ paddingRight: '10px' }}>
<div className="session_data">
<div style={{ "border": "None" }}>
<h3 style={{ fontFamily: 'DM Sans' }}> Tâches Pédagogiques </h3>
<h3 style={{ fontFamily: 'DM Sans', fontSize:'20px', textAlign:'center', marginTop:'1rem' }}> Tâches Pédagogiques </h3>
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
&nbsp;
@ -899,7 +870,7 @@ const Module_Tache_Pedagogique = (props) => {
setmouse_x(e.clientX);
setmouse_y(e.clientY);
setselected_id(newSelectionModel.row._id);
setgridline_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);
@ -1004,6 +975,7 @@ const Module_Tache_Pedagogique = (props) => {
setmouse_y("15rem");
setDialog_tache_pedago_open(true);
setadd_one_tache_pedago("1");
settache_pedago_data_changed("");
}}
className="detail_class_submenu bton_add_session"
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Tâche &nbsp;

File diff suppressed because it is too large Load Diff

View File

@ -374,6 +374,7 @@
margin-bottom: 10px;
padding-top: 10px;
padding-bottom: 10px;
background: #f9fbff;
}
.training_caract {
@ -1330,6 +1331,7 @@
margin-bottom: 10px;
padding-top: 10px;
padding-bottom: 10px;
background: #f9fbff;
}
.training_caract {
@ -1855,6 +1857,7 @@
margin-bottom: 10px;
padding-top: 10px;
padding-bottom: 10px;
background: #f9fbff;
}
.training_caract {

View File

@ -268,6 +268,7 @@
margin-bottom: 10px;
padding-top: 10px;
padding-bottom: 10px;
background: #f9fbff;
}
.training_caract {
@ -452,6 +453,7 @@
margin-bottom: 10px;
padding-top: 10px;
padding-bottom: 10px;
background: #f9fbff;
}
.training_caract {
@ -636,6 +638,7 @@
margin-bottom: 10px;
padding-top: 10px;
padding-bottom: 10px;
background: #f9fbff;
}
.training_caract {

View File

@ -1719,7 +1719,7 @@
text-align: center;
margin-bottom: 0.8rem;
color: white;
cursor: pointer;
cursor :default;
font-style: italic;
background-color: gray;
font-weight: normal;
@ -2310,7 +2310,7 @@
text-align: center;
margin-bottom: 0.8rem;
color: white;
cursor: pointer;
cursor :default;
font-style: italic;
background-color: gray;
font-weight: normal;

File diff suppressed because it is too large Load Diff

View File

@ -218,6 +218,7 @@
@import "./components/module_referentiel_pedagogique";
@import "./components/config_competence_pedagogique_ftion_initiale";
@import "./components/module_competence_pedagogique";
@import "./components/module_bloc_competence_pedagogique";
// New Design 2025