07/12/25 - 14h

branche_01062025
Cherif 2025-12-07 14:02:28 +01:00
parent e27c525cb4
commit a80092918a
28 changed files with 2666 additions and 472 deletions

View File

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

View File

@ -3581,7 +3581,7 @@ const Apprenant = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,
@ -10144,7 +10144,7 @@ const Apprenant = (props) => {
</div>
<div className="session_caract"> <b> Matière </b> <br />
<div className="session_caract"> <b> Matière / UE </b> <br />
{New_Get_List_UE_From_Class_Id_result &&
<Autocomplete
@ -10355,7 +10355,7 @@ const Apprenant = (props) => {
</div>
<div className="session_caract"> <b>Matière </b> <br />
<div className="session_caract"> <b>Matière / UE</b> <br />
{New_Getall_Partner_List_UE_result && New_Getall_Partner_List_UE_result.length > 0 && <TextField
name="suivi_pedago_detail_ue"
id="suivi_pedago_detail_ue"
@ -10592,7 +10592,7 @@ const Apprenant = (props) => {
</div>
<div className="session_caract"> <b>Matière </b> <br />
<div className="session_caract"> <b>Matière / UE </b> <br />
{New_Get_List_UE_From_Class_Id_result &&
<Autocomplete

View File

@ -1542,7 +1542,7 @@ const Conseil_Classe = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,
@ -5702,7 +5702,7 @@ const Conseil_Classe = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,

View File

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

View File

@ -24,7 +24,6 @@ import { FaComment } from "react-icons/fa6";
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";
@ -12600,9 +12599,9 @@ const DisplayPartnerSession = (props) => {
setGet_Class_Default_Document_id_api("false");
setGet_Class_Default_Document_id_message(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
// setdisplay_alert_mysy("1");
//setalert_message(res.data.message);
//setalert_type("error");
}

View File

@ -69,7 +69,7 @@ import {
GridPreferencePanelsValue,
} from '@mui/x-data-grid';
import { gridClasses } from '@mui/x-data-grid';
import * as XLSX from 'xlsx';
import Modules_Mes_Documents from "./Modules_Mes_Documents";
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
@ -602,6 +602,69 @@ const DisplayPartnerStagiaires = (props) => {
]
const columns_list_evaluation_inscrit = [
{ field: 'id', headerName: 'id', hide: true },
{ field: '_id', headerName: '_id', hide: true },
{ field: 'form_code', headerName: 'Form. Code', hide: true, flex: 1, hideable: true, resizable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'class_title', headerName: 'Ftion', hide: true, flex: 1, hideable: true, resizable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'session_code', headerName: 'Ftion', hide: true, flex: 1, hideable: true, resizable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: 'form_type', headerName: 'Type', width: 100, editable: false, flex: true,
valueFormatter: (params) => {
if (String(params.value) === "pos")
return "Position";
else if (String(params.value) === "hot_eval")
return "Chaud";
else if (String(params.value) === "cold_eval")
return "Froid";
else if (String(params.value) === "autre_eval")
return "Spécifique";
else
return " ";
},
},
{ field: 'email', headerName: 'email', minwidth: 300, flex: 1, hideable: true, resizable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'nom', headerName: 'nom', minwidth: 300, flex: 1, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'prenom', headerName: 'prenom', minwidth: 300, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: 'status', headerName: 'Statut', width: 100, editable: false, flex: true,
valueFormatter: (params) => {
if (String(params.value) === "0")
return "Init.";
else if (String(params.value) === "1")
return "Env.";
else if (String(params.value) === "2")
return "Rép.";
else
return " ?";
},
},
{
field: 'date_envoie', headerName: 'Date Envoi', width: 150, editable: false,
valueFormatter: (params) => {
if (params.value)
return String(params.value).substring(0, 16)
else
return ""
},
},
{
field: 'date_reponse', headerName: 'Date Réponse', width: 150, editable: false,
valueFormatter: (params) => {
if (params.value)
return String(params.value).substring(0, 16)
else
return ""
},
},
]
function ExpandableCell_50({ value }) {
const [expanded, setExpanded] = React.useState(false);
@ -2647,14 +2710,13 @@ const DisplayPartnerStagiaires = (props) => {
}
async function submenu_piece_jointe() {
function submenu_piece_jointe() {
setsubmenu("piece_jointe");
await sleep(5);
setdisplay_detail_stagiaire("");
setaddOneParticipant();
Getall_Survey_Inscrit_evaluation_By_Session();
if (document.getElementById("piece_jointe")) {
document.getElementById("piece_jointe").style.backgroundColor = "#107758";
@ -3039,7 +3101,7 @@ const DisplayPartnerStagiaires = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code + " - " + String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,
@ -7461,6 +7523,120 @@ const DisplayPartnerStagiaires = (props) => {
const [is_recherche, setis_recherche] = useState("0");
const [selectionModel_evaluation_Inscrit, setselectionModel_evaluation_Inscrit] = React.useState([]);
const [rowss_evaluation_Inscrit, setRows_evaluation_formateur] = useState([]);
const [Getall_Survey_Inscrit_evaluation_By_Session_api, setGetall_Survey_Inscrit_evaluation_By_Session_api] = useState();
const [Getall_Survey_Inscrit_evaluation_By_Session_message, setGetall_Survey_Inscrit_evaluation_By_Session_message] = useState();
const [Getall_Survey_Inscrit_evaluation_By_Session_result, setGetall_Survey_Inscrit_evaluation_By_Session_result] = useState([]);
function Getall_Survey_Inscrit_evaluation_By_Session(event) {
setselectionModel_evaluation_Inscrit([])
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("related_collection", "inscription");
form.append("related_collection_id", selected_id);
form.append("session_id", selected_session_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Survey_with_filter/";
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
if (String(res.data.status) === String("true")) {
// console.log(" In Getall_Survey_Inscrit_evaluation_By_Session res.data.status = " + res.data.status);
//console.log(" In Getall_Survey_Inscrit_evaluation_By_Session res.data.message r_class = " + res.data.message);
setGetall_Survey_Inscrit_evaluation_By_Session_api("true");
setGetall_Survey_Inscrit_evaluation_By_Session_result(res.data.message);
setRows_evaluation_formateur(res.data.message);
}
else {
setGetall_Survey_Inscrit_evaluation_By_Session_api("false");
setGetall_Survey_Inscrit_evaluation_By_Session_message(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( Getall_Survey_Inscrit_evaluation_By_Session = ', error);
setGetall_Survey_Inscrit_evaluation_By_Session_api("false");
//setmyApimyApiMessage("")
})
}
const New_Option_Evaluation_Masse = [
{ "id": "export_evaluation", "label": "Export Evaluation (PDF) ", "value": "export_evaluation" },
]
const [actionmass_eval_val, setactionmass_eval_val] = useState();
async function actionmass_Evaluation_Traitemet() {
var tab_ids_inscription = [];
for (var i = 0; i < selectionModel_evaluation_Inscrit.length; i++) {
var myid = parseInt(String(selectionModel_evaluation_Inscrit[i]));
var line_id = JSON.parse(rowss_evaluation_Inscrit[myid])._id;
tab_ids_inscription.push(line_id);
}
if (String(actionmass_eval_val) === "export_evaluation")
Export_Selected_Survey_PDF(tab_ids_inscription, "Evaluation formateur", "chaud");
}
function Export_Selected_Survey_PDF(tab_ids_survey, type_export, used_datagrid) {
const stored_cookie = getCookie('tokenmysypart');
if (tab_ids_survey.length <= 0) {
// alert(" Aucune ligne selectionnée ");
setdisplay_alert_mysy("1");
setalert_message("Aucune ligne selectionnée ");
setalert_type("error");
return;
}
var nom_fichier_cmd = "export_evaluation.zip";
var url = process.env.REACT_APP_API_URL + "myclass/api/Export_To_Excel_Survey_with_filter_Tab_Survey_Id/" + stored_cookie + "/" + tab_ids_survey.toString() + "/" + String(type_export);
setLoading(true);
axios.get(url, { responseType: 'blob', },)
.then((res) => {
setLoading(false);
//console.log(" In Export_Dashbord_to_CSV res.data = " + res.data);
if (String(res.data) === String("false")) {
alert("Impossible d'exporter les réponses (2) ");
} else {
fileDownload(res.data, nom_fichier_cmd);
if (used_datagrid === "chaud") {
setselectionModel_evaluation_Inscrit([]);
setactionmass_eval_val("");
}
}
}).catch((error) => {
setLoading(false);
console.error('Error:', error);
alert(" Impossible d'exporter les réponses ")
});
setLoading(false);
}
return (
<div className="displaypartnerstagiaire">
{isLoading && <div className="loader-container">
@ -9899,7 +10075,7 @@ const DisplayPartnerStagiaires = (props) => {
<div className="div_row" ref={myRef_details} id="myRef_details"> &nbsp;</div>
{selected_id && String(selected_id).length > 0 && <div className="div_row">
<nav style={{ textAlign: 'center', padding: '10px', fontFamily: 'DM Sans' }}> <b>{p_detail_prenom} </b> &nbsp;
<b>{String(p_detail_nom)}</b> &nbsp;&nbsp;&nbsp; Email <b>{String(p_detail_mail)} </b> &nbsp;&nbsp;&nbsp; Session <b> {String(p_detail_session_class)}</b>
<b>{String(p_detail_nom)}</b>- Email <b>{String(p_detail_mail)} </b>- Session <b> {String(p_detail_session_class)} </b>- Ftion <b> {String(selected_class_title)} </b>
</nav>
</div>}
@ -9916,7 +10092,7 @@ const DisplayPartnerStagiaires = (props) => {
{String(props.formation_initiale) === "1" && String(addOneParticipant) !== "1" && <Button variant="outlined" onClick={submenu_notes} className="detail_class_submenu" id='notes' name='ue'>Notes </Button>}
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='piece_jointe'>Pièces Jointes </Button>
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='piece_jointe'>Doc & Eval</Button>
{String(addOneParticipant) !== "1" && String(history_securite_read) === "1" && <Button variant="outlined" onClick={submenu_historique} className="detail_class_submenu" id='historique' name='historique'>Historique </Button>}
@ -12281,12 +12457,234 @@ const DisplayPartnerStagiaires = (props) => {
my_title={"Gestion Documentaire"}
object_owner_collection={"inscription"}
object_owner_id={selected_id}
authorize_deletion={"1"}
authorize_deletion={"1"}
/>
</div>
<div className="div_row" style={{ "border": "None" }}>
<div className="session_data" style={{ "minHeight": '15rem', "paddingLeft": "10px", "paddingRight": "10px" }}>
<div className="titre1"> Liste des évaluations</div>
Evaluation <br />
<div style={{ height: "650px", width: '100%', padding: "10px" }} className="session_data">
<Box
sx={{
height: 500,
width: '100%',
paddingRight: '1px',
"& .MuiDataGrid-columnHeaders": {
backgroundColor: "#c8cfd5",
color: "black",
fontSize: 14
},
'& .line--statut--pair': {
backgroundColor: 'rgba(235, 235, 235, .7)',
color: 'black',
},
[`& .${gridClasses.cell}`]: {
py: 1,
},
'& .line--positionnement_envoye': {
backgroundColor: '#F9E79F',
color: 'black',
},
'& .line--positionnement_repondu': {
backgroundColor: '#ABEBC6',
color: 'black',
fontWeight: '600',
},
}}
>
<DataGrid
checkboxSelection
onSelectionModelChange={(newSelectionModel_evaluation) => {
setselectionModel_evaluation_Inscrit(newSelectionModel_evaluation);
// console.log("ch selected--" + newSelectionModel_evaluation);
}}
selectionModel={selectionModel_evaluation_Inscrit}
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
rows={rowss_evaluation_Inscrit.map((item, index) => (
{
id: index,
_id: JSON.parse(item)._id,
email: JSON.parse(item).email,
nom: JSON.parse(item).nom,
prenom: JSON.parse(item).prenom,
status: JSON.parse(item).statut,
form_code: JSON.parse(item).formulaire.code,
date_envoie: JSON.parse(item).date_envoi,
date_reponse: JSON.parse(item).date_reponse,
form_type: JSON.parse(item).formulaire.type,
class_title: JSON.parse(item).class_title,
session_code: JSON.parse(item).session_code,
session_title: JSON.parse(item).session_title,
}
))}
columns={columns_list_evaluation_inscrit}
pageSize={10}
className="datagridclass"
rowsPerPageOptions={[10]}
disableSelectionOnClick
components={{
Toolbar: GridToolbar,
}}
getRowClassName={(params) => {
if (String(params.row.status) === "1") {
return 'line--positionnement_envoye';
}
if (String(params.row.status) === "2") {
return 'line--positionnement_repondu';
}
// Pour la gestion de la couleur de zone double cliquée
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,
},
[`& .${gridClasses.cell}`]: {
py: 1,
},
}}
/>
</Box>
{selectionModel_evaluation_Inscrit && selectionModel_evaluation_Inscrit.length > 0 &&
<div className="block_en_mass">
<nav >Traitement en masse / Evaluation</nav>
&nbsp;
<Autocomplete
disablePortal
id="combo-box-demo"
className="block_en_mass_select"
fullWidth
options={New_Option_Evaluation_Masse}
onChange={(event, value) => {
if (value && value.value) {
if (String(value.value) === "export_evaluation") {
setactionmass_eval_val(value.value);
}
else {
setactionmass_eval_val("");
}
}
else {
setactionmass_eval_val("");
}
}}
renderInput={(params) => <TextField {...params} placeholder="Choisir une option" />
}
/>
{actionmass_eval_val && String(actionmass_eval_val) !== "" &&
selectionModel_evaluation_Inscrit.length > 0 &&
<Popup
trigger={<Button className="bton_enreg" >
<FcAcceptDatabase /> Traiter
</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">
{' '}
{actionmass_eval_val && String(actionmass_eval_val) === "export_evaluation" && <nav>
Confirmer l'export PDF des évaluations pour {selectionModel_evaluation_Inscrit.length} ligne(s).
</nav>}
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
actionmass_Evaluation_Traitemet();
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>
}
<br />
</div>
}
<br />
</div>
</div>
</div>
</div>
</div>}

View File

@ -188,11 +188,14 @@ const Document_Affichage_Grid = (props) => {
className: classes.paper, // Apply the paper style
style: {
overflowY: 'unset',
overflowY: 'unset',
position: 'absolute',
top: '7rem',
margin: "2px",
width: '40rem'
width: '50rem',
maxWidth:'unset',
background:'#efefef',
borderRadius:'20px!important'
},
}}
hideBackdrop={true}
@ -205,16 +208,16 @@ const Document_Affichage_Grid = (props) => {
aria-labelledby="draggable-dialog-title"
>
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title" >{selected_doc_name}</DialogTitle>
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans", paddingBottom:'5px' }} id="draggable-dialog-title" >{selected_doc_name}</DialogTitle>
<DialogContent>
<DialogContentText>
{Dialog_Preview_Doc_message}
</DialogContentText>
<div style={{ width: '100%', height: '35rem' }}> <br />
<div style={{ width: '100%', height: '45rem' }}> <br />
{selected_doc_img &&
<iframe src={selected_doc_img} style={{ height: '30rem', width: '90%' }}></iframe>}
<iframe src={selected_doc_img} style={{ height: '43rem', width: '96%' }}></iframe>}
</div>
@ -247,8 +250,8 @@ const Document_Affichage_Grid = (props) => {
<div className="file-card">
<div className="file-icon"><GoFile style={{ fontSize: '30px', color: '#81bc3a' }} /> </div>
<div className="file-name">{JSON.parse(document).file_business_object}</div>
<div className="file-date">Créé le {String(JSON.parse(document).creation_date).substring(0, 10)}</div>
<div className="file-name" style={{minHeight:'3rem'}}>{JSON.parse(document).file_business_object}</div>
<div className="file-date">Créé le {String(JSON.parse(document).creation_date).substring(0, 16)}</div>
<div className="file-date" style={{ width: '40%', float: 'left', cursor: 'pointer' }} onClick={(e) => {
preview_document_pdf(JSON.parse(document)._id, JSON.parse(document).file_extention, JSON.parse(document).file_business_object);
setselected_doc_name(JSON.parse(document).file_business_object);

View File

@ -2419,8 +2419,6 @@ const Groupe_Apprenant = (props) => {
]
async function actionmass_ftion_Traitemet() {
var liste_grp_apprenant = GetSelectedRowsApprenantGrp();
if (String(actionmass_ftion_val) === String("supprimer")) {
@ -3768,7 +3766,7 @@ const Groupe_Apprenant = (props) => {
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information - {actionmass_ftion_val} </div>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
{String(actionmass_ftion_val) === "supprimer" &&
@ -4197,7 +4195,7 @@ const Groupe_Apprenant = (props) => {
{String(grp_apprenant_data_edit_mode) === "1" && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_enreg" onClick={Add_Update_Grp_Apprenant_Data}>Enregistrer les modifications
<Button variant="contained" className="bton_enreg" onClick={Add_Update_Grp_Apprenant_Data}>Enregistrer
</Button>
</div>}

View File

@ -2626,7 +2626,7 @@ registerLocale('fr', fr);
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,

View File

@ -1349,7 +1349,7 @@ const Jury = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,
@ -6709,7 +6709,7 @@ const Jury = (props) => {
{selected_jury_cible && New_Option_Cible_Jury &&
New_Get_List_UE_From_Session_Id_result && New_Get_List_UE_From_Session_Id_result.length > 0 &&
<div className="session_caract"> <b> Matière </b> <br />
<div className="session_caract"> <b> / UE</b> <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
@ -7480,7 +7480,7 @@ const Jury = (props) => {
{selected_jury_cible && String(selected_jury_cible) === "soutenance" && New_Option_Cible_Jury &&
New_Get_List_UE_From_Session_Id_result && New_Get_List_UE_From_Session_Id_result.length > 0 &&
<div className="session_caract"> <b> Matière </b> <br />
<div className="session_caract"> <b> Matière / UE </b> <br />
<Autocomplete
disablePortal
id="detail_jury_matiere"

View File

@ -698,9 +698,9 @@ const Module_Attestation_Formation = (props) => {
setGet_Class_Default_Document_id_api("false");
setGet_Class_Default_Document_id_message(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
//setdisplay_alert_mysy("1");
//setalert_message(res.data.message);
//setalert_type("error");
}

View File

@ -1611,9 +1611,9 @@ const Module_Editique = (props) => {
setGet_Class_Default_Document_id_api("false");
setGet_Class_Default_Document_id_message(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
// setdisplay_alert_mysy("1");
//setalert_message(res.data.message);
//setalert_type("error");
}

View File

@ -1848,168 +1848,6 @@ const Module_Ent_Mes_Formations = (props) => {
{/*<div>
<div className="titre1"> Utilisez les filtres !</div>
<div className="div_row" style={{ "marginBottom": "5px" }}>
<div className="div_row_gauche texte_area_filter" >
<TextField
name="filtre1"
label="Choisir un champ"
select
sx={{ m: 1, width: '100%' }}
value={p_filtre1}
onChange={(e) => {
setp_filtre1(e.target.value)
}}
>
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Email &nbsp;&nbsp;</MenuItem>
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom &nbsp;</MenuItem>
<MenuItem value="prenom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Prénom &nbsp;</MenuItem>
</TextField>
</div>
<div className="div_row_droite texte_area_filter_value" >
{p_filtre1 &&
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="filtre1_value"
id="filtre1_value"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_filtre1_value}
onChange={(e) => { setp_filtre1_value(e.target.value); }}
InputProps={{
endAdornment: (
<InputAdornment position="end">
<AiFillCloseCircle
style={{ 'cursor': "pointer", "color": "orangered" }}
onClick={(e) => {
setp_filtre1_value("");
}} />
</InputAdornment>
),
}}
/>
}
</div>
{p_filtre1 && <div className='filter_bton_add'>
<Tooltip className="tooltip_css" id="my-tooltip01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip01" data-tooltip-html="Ajouter une nouvelle ligne de filtre">
&nbsp; <MdAddCircleOutline onClick={(e) => {
setp_filtre2("1");
}} />
</a>
</div>}
{p_filtre1 && <div className='filter_bton_add'>
<Tooltip className="tooltip_css" id="my-tooltip02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip02" data-tooltip-html="Supprimer cette ligne de filtre">
&nbsp; <MdRemoveCircleOutline onClick={(e) => {
setp_filtre1();
setp_filtre1_value();
}}
/>
</a>
</div>}
</div>
{p_filtre2 &&
<div className="div_row" style={{ "marginBottom": "5px" }}>
<div className="div_row_gauche texte_area_filter">
<TextField
name="filtre2"
label="Choisir un champ"
select
sx={{ m: 1, width: '100%' }}
options={filters}
value={p_filtre2}
onChange={(e) => {
setp_filtre2(e.target.value)
}}
>
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Email &nbsp;&nbsp;</MenuItem>
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom &nbsp;</MenuItem>
<MenuItem value="prenom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Prénom &nbsp;</MenuItem>
</TextField>
</div>
<div className="div_row_droite texte_area_filter" >
{String(p_filtre2).length > 3 &&
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="filtre2_value"
id="filtre2_value"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_filtre2_value}
onChange={(e) => setp_filtre2_value(e.target.value)}
InputProps={{
endAdornment: (
<InputAdornment position="end">
<AiFillCloseCircle
style={{ 'cursor': "pointer", "color": "orangered" }}
onClick={(e) => {
setp_filtre2_value("");
}} />
</InputAdornment>
),
}}
/>}
</div>
{String(p_filtre2).length > 3 && <div className='filter_bton_add'>
<Tooltip className="tooltip_css" id="my-tooltip04" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip04" data-tooltip-html="Supprimer cette ligne de filtre">
&nbsp; <MdRemoveCircleOutline
onClick={(e) => {
setp_filtre2();
setp_filtre2_value();
}}
/>
</a>
</div>}
</div>
}
{<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_enreg" onClick={"Get_All_Apprenant"}>Rechercher
</Button>
</div>
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
<Button variant="contained" className="bton_annule" onClick={"clean_all_filters"}>Annuler
</Button>
</div>
</div>}
</div>
<br />*/}
<div className="div_row">
<nav style={{ width: '80%', float: 'right', textAlign: "right", marginTop: "10px", paddingRight: '10px' }}>
<nav className="mode_affichage" onClick={(event) => {

File diff suppressed because it is too large Load Diff

View File

@ -900,9 +900,9 @@ const Module_Evaluation_Positionnement = (props) => {
setGet_Class_Default_Document_id_api("false");
setGet_Class_Default_Document_id_message(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
// setdisplay_alert_mysy("1");
// setalert_message(res.data.message);
//setalert_type("error");
}

View File

@ -341,7 +341,7 @@ registerLocale('fr', fr);
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,

View File

@ -349,7 +349,7 @@ const Module_Selection_Apprenants = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,

View File

@ -541,7 +541,7 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,

View File

@ -2365,9 +2365,9 @@ const Module_Session_Evaluation = (props) => {
setGet_Class_Default_Document_id_api("false");
setGet_Class_Default_Document_id_message(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
// setdisplay_alert_mysy("1");
// setalert_message(res.data.message);
// setalert_type("error");
}
@ -2649,7 +2649,7 @@ const Module_Session_Evaluation = (props) => {
if (value && value._id) {
setselected_formulaire_id(value._id);
setselected_formulaire_cold_eval_id(value._id);
setselected_formulaire_cold_eval_id(value._id);
} else {
setselected_formulaire_id("");
@ -2752,11 +2752,11 @@ const Module_Session_Evaluation = (props) => {
if (value && value._id) {
setselected_formulaire_id(value._id);
setselected_formulaire_formateur_eval_id(value._id);
setselected_formulaire_formateur_eval_id(value._id);
} else {
setselected_formulaire_id("");
setselected_formulaire_formateur_eval_id(value._id);
setselected_formulaire_formateur_eval_id(value._id);
}
}}

View File

@ -1300,7 +1300,7 @@ const Module_Session_Notes_Classement = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"credit": local_credit,
@ -1395,12 +1395,12 @@ const Module_Session_Notes_Classement = (props) => {
var local_seuil_validation = JSON.parse(x).seuil_validation;
//---
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"credit": local_credit,
@ -2364,7 +2364,7 @@ const Module_Session_Notes_Classement = (props) => {
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title" > Inscrire </DialogTitle>
<DialogContent className="DialogContent_width">
{New_Getall_TrainingSession_result && <div className="session_caract_Dialog"> <b> Formation</b>
{New_Getall_TrainingSession_result && <div className="session_caract_Dialog"> <b> Promotion / Session</b>
<Autocomplete
disablePortal
@ -2395,7 +2395,7 @@ const Module_Session_Notes_Classement = (props) => {
<div className="session_caract_Dialog">
<Tooltip className="tooltip_css" id="test01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="test01" data-tooltip-html="Par defaut, toutes les matières liées à la formation sont selectionnées">
<b> Matière <FcInfo /></b>
<b> Matière / UE <FcInfo /></b>
</a>
{New_GetListeInscrit_result.length > 0 &&
@ -2494,7 +2494,7 @@ const Module_Session_Notes_Classement = (props) => {
<div className="div_row">
<div className="div_row_gauche">
{selectionModel_note_Session_classement.length >= 1 && <Button onClick={Add_Inscription_List_Apprenant} className="bton_enreg_dialog"> Inscrire {selectionModel_note_Session_classement.length} apprenat(s) </Button>}
{selectionModel_note_Session_classement.length >= 1 && <Button onClick={Add_Inscription_List_Apprenant} className="bton_enreg_dialog"> Inscrire {selectionModel_note_Session_classement.length} apprenant(s) </Button>}
</div>
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
<Button onClick={Dialog_add_inscription_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>

View File

@ -3088,7 +3088,7 @@ const Module_Session_Planification = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"credit": local_credit,
@ -4403,7 +4403,7 @@ const Module_Session_Planification = (props) => {
</div>
<div className="session_caract_Dialog" > UE / Matière 2
<div className="session_caract_Dialog" > UE / Matière
{New_Getall_Class_List_UE_result && New_Getall_Class_List_UE_result.length > 0 && <Autocomplete
@ -6067,7 +6067,7 @@ const Module_Session_Planification = (props) => {
</div>
<div className="session_caract_Dialog" > UE / Matière 1
<div className="session_caract_Dialog" > UE / Matière
{New_Getall_Class_List_UE_result && New_Getall_Class_List_UE_result.length > 0 &&

View File

@ -193,7 +193,7 @@ const Modules_Mes_Documents = (props) => {
return (
<nav style={{ width: '100%', 'textAlign': 'left' }}>
{String(cellValues.row.creation_date).substring(0, 10)}
{String(cellValues.row.creation_date).substring(0, 16)}
</nav>)
},
@ -664,7 +664,7 @@ const Modules_Mes_Documents = (props) => {
};
var New_Option_Filter = [
{ "id": "filter_file_business_object", "label": "Nom Document", "value": "filter_file_business_object" },
@ -1299,7 +1299,10 @@ const Modules_Mes_Documents = (props) => {
position: 'absolute',
top: '7rem',
margin: "2px",
width: '40rem'
width: '50rem',
maxWidth:'unset',
background:'#efefef',
borderRadius:'20px!important'
},
}}
hideBackdrop={true}
@ -1312,16 +1315,16 @@ const Modules_Mes_Documents = (props) => {
aria-labelledby="draggable-dialog-title"
>
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title" >{selected_doc_name}</DialogTitle>
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans", paddingBottom:'5px' }} id="draggable-dialog-title" >{selected_doc_name}</DialogTitle>
<DialogContent>
<DialogContentText>
{Dialog_Preview_Doc_message}
</DialogContentText>
<div style={{ width: '100%', height: '35rem' }}> <br />
<div style={{ width: '100%', height: '45rem' }}> <br />
{selected_doc_img &&
<iframe src={selected_doc_img} style={{ height: '30rem', width: '90%' }}></iframe>}
<iframe src={selected_doc_img} style={{ height: '43rem', width: '96%' }}></iframe>}
</div>

View File

@ -1599,7 +1599,7 @@ const Notes_Evaluation = (props) => {
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"label": local_code+" - "+String(local_titre).substring(0, 20),
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,

File diff suppressed because it is too large Load Diff

View File

@ -525,7 +525,7 @@ function Student_Account_Ent() {
<Stack sx={{ width: '100%', }} spacing={2}>
{message.priorite === "1" &&
<Alert variant="outlined" sx={{ border: 0, marginBottom: '20px' }} severity="warning">
<AlertTitle sx={{ fontFamily: 'DM Sans', fontSize: '20px', textAlign: 'left', float: 'left' }}>Important</AlertTitle>
<AlertTitle sx={{ fontFamily: 'DM Sans', fontSize: '20px', textAlign: 'left', float: 'left' }}>Important </AlertTitle>
<font style={{ fontFamily: 'DM Sans', fontSize: '16px', textAlign: 'left', float: 'left' }}> {message.message}&nbsp; </font>
</Alert>}
@ -543,9 +543,6 @@ function Student_Account_Ent() {
</Stack>
))}
</div>
<div style={{ width: '69%', float: 'right' }}>

View File

@ -3,6 +3,7 @@ import { useForm } from "react-hook-form";
import { getCookie, setCookie } from 'react-use-cookie';
import InputAdornment from '@mui/material/InputAdornment';
import { FcSpeaker } from "react-icons/fc";
import TextField from '@mui/material/TextField';
import AccountCircle from '@mui/icons-material/AccountCircle';
@ -75,9 +76,10 @@ const useStyles = makeStyles((theme) => ({
customizedButton: {
position: 'absolute',
left: '95%',
top: '-9%',
top: '-2%',
backgroundColor: 'lightgray',
color: 'gray',
marginLeft:"20px ! important"
},
}));
@ -3554,7 +3556,7 @@ function UpdateParnterInfo(props) {
aria-labelledby="draggable-dialog-title"
>
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> Message ENT </DialogTitle>
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> Messages sur ENT </DialogTitle>
<DialogContent className="DialogContent_width" style={{width:'auto'}}>
<DialogContentText>
@ -3566,22 +3568,7 @@ function UpdateParnterInfo(props) {
<DialogActions>
<div className="div_row">
<div className="div_row_gauche">
<Button onClick={"Add_Member_To_Jury"} className="bton_enreg_dialog" style={{ border: 'none' }}>Ajouter</Button>
</div>
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
<Button onClick={Dialog_Message_Ent_handleClose_buton} className="bton_annule_dialog" style={{
textAlign: 'center',
border: 'none'
}} >Fermer</Button>
</div>
</div>
<IconButton
autoFocus
onClick={Dialog_Message_Ent_handleClose_buton}
@ -3728,9 +3715,9 @@ function UpdateParnterInfo(props) {
setDialog_Message_Ent_open(true);
}}
style={{ marginTop: '10px' }}
style={{ marginTop: '10px', fontFamily:'DM Sans', backgroundColor:'#107758', fontSize:'14px' }}
>
Messages ENT
Information ENT <FcSpeaker style={{background:'white', fontSize:'20px'}}/>
</Button>

View File

@ -2544,7 +2544,7 @@
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
}
.autocomplete_float_right {
float: right !important;

View File

@ -6,7 +6,7 @@
}
.Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font-size: small !important;
padding: 0px !important;
padding-left: 5px !important;
@ -151,7 +151,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -197,7 +197,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 100%;
padding: 5px;
float: left;
@ -298,7 +298,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -497,7 +497,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -557,7 +557,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -733,7 +733,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -779,7 +779,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 50%;
padding: 5px;
float: left;
@ -886,7 +886,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -1089,7 +1089,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -1142,7 +1142,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -1345,7 +1345,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -1394,7 +1394,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 33%;
padding: 5px;
float: left;
@ -1502,7 +1502,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -1671,7 +1671,7 @@
text-align: center;
margin-bottom: 0.8rem;
color: white;
cursor: pointer;
cursor: default;
font-style: italic;
background-color: gray;
font-weight: normal;
@ -1842,7 +1842,7 @@
}
.session_caract_Dialog {
font-family: 'DM Sans';
font-family: 'DM Sans';
width: 100%;
padding: 5px;
float: left;
@ -1869,7 +1869,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -1917,7 +1917,7 @@
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 33%;
padding: 5px;
float: left;
@ -2107,7 +2107,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -2277,7 +2277,7 @@
text-align: center;
margin-bottom: 0.8rem;
color: white;
cursor: pointer;
cursor: default;
font-style: italic;
background-color: gray;
font-weight: normal;
@ -2335,7 +2335,17 @@
// end media
.datagridclass {
.autocomplete_float_right {
float: right !important;
border: none;
}
.datepicker_complement {
margin: 0px !important;
}
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
@ -2371,7 +2381,7 @@
}
.session_caract_Dialog {
font-family: 'DM Sans';
font-family: 'DM Sans';
width: 100%;
padding: 5px;
float: left;
@ -2476,7 +2486,7 @@
}
.css-9ddj71-MuiInputBase-root-MuiOutlinedInput-root {
font-family: DM Sans !important;
font-family: DM Sans !important;
height: 3.5rem !important;
font-size: small !important;
}
@ -2487,8 +2497,8 @@ font-family: DM Sans !important;
width: 110%;
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input {
font-size: small !important;
font-family: "DM Sans" !important;
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input {
font-size: small !important;
font-family: "DM Sans" !important;
padding-left: 5px !important;
}