30/01/2026 - 18h

branche_01062025
Cherif 2026-01-30 18:11:55 +01:00
parent 9fe162a0c0
commit 01cbd39080
18 changed files with 4452 additions and 2095 deletions

View File

@ -19,7 +19,7 @@ import { Tooltip } from 'react-tooltip'
import { CiEdit, CiTrash } from "react-icons/ci";
import Modules_Mes_Documents from "./Modules_Mes_Documents";
import { AiOutlineUserAdd } from "react-icons/ai";
import PartnerClientActivite from "./PartnerClient_Activite";
import PartnerClient_Activite_For_Client from "./PartnerClient_Activite_For_Client";
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import ToggleSwitch from "./ToggleSwitch";
@ -4124,7 +4124,7 @@ const AddParnerClient = (props) => {
</Button>
{/*<Button variant="outlined" onClick={submenu_activite} className="detail_submenu client_menu" id='submenu_activite' name='submenu_activite'>Activité</Button>*/}
{<Button variant="outlined" onClick={submenu_activite} className="detail_submenu client_menu" id='submenu_activite' name='submenu_activite'>Activité</Button>}
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_submenu client_menu" id='submenu_piece_jointe' name='submenu_piece_jointe'>Pièces Jointes</Button>
<Button variant="outlined" className="detail_submenu client_menu" id='submenu_factures' name='submenu_factures'
@ -5389,8 +5389,9 @@ const AddParnerClient = (props) => {
{String(submenu).trim() === "submenu_activite" && <div className="training_data">
<PartnerClientActivite email={p_client_email} conntected_employee_id={props.conntected_employee_id}
related_collection={"partner_client"} />
<PartnerClient_Activite_For_Client email={p_client_email} conntected_employee_id={props.conntected_employee_id}
related_collection={"partner_client"}
related_collection_recid={props.client_id} />
</div>}
{String(submenu).trim() === "submenu_piece_jointe" && <div className="training_data">

View File

@ -8555,6 +8555,10 @@ const Conseil_Classe = (props) => {
className="datagridclass"
onRowDoubleClick={(newSelectionModel) => {
setselectionModel_columns_jury([]);
setactionmass_ftion_val("");
setsoutenance_data_edit_mode("");
setsoutenance_display("");
setsoutenance_data_changed("");

View File

@ -132,7 +132,7 @@ const Employes = (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 : value.slice(0, 50)}&nbsp;
{value.length > 50 && (
@ -148,7 +148,7 @@ const Employes = (props) => {
)}
</div>}
{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' }}>
&nbsp;
</div>
}
@ -3803,9 +3803,9 @@ const Employes = (props) => {
}
async function submenu_tutorat() {
async function submenu_tutorat() {
setsubmenu("tutorat");
submenu_color_management("tutorat");
submenu_color_management("tutorat");
}
async function submenu_historique() {
@ -7444,7 +7444,7 @@ const Employes = (props) => {
</div>}
<div>
<div className="session_caract_Dialog" > <b>Choisir un modèle de contrat 02</b> <br />
<div className="session_caract_Dialog" > <b>Choisir un modèle de Contrat / Convention</b> <br />
{New_Get_Partner_List_EMPLOYEE_CONTRACT_Document_result && New_Get_Partner_List_EMPLOYEE_CONTRACT_Document_result.length > 0 &&
<Autocomplete
@ -7544,7 +7544,7 @@ const Employes = (props) => {
</>}
{selected_contrat_type && String(selected_contrat_type) === "pdf" && <>
<div className="session_caract_Dialog" > Choisir un modèle de contrat 01<br />
<div className="session_caract_Dialog" > Choisir un modèle de Contrat / Convention<br />
<Autocomplete
disablePortal
@ -7878,7 +7878,7 @@ const Employes = (props) => {
</DialogContentText>
<div className="session_caract_Dialog" > Choisir un modèle de contrat 01<br />
<div className="session_caract_Dialog" > Choisir un modèle de Contrat / Convention<br />
<Autocomplete
disablePortal
@ -9397,7 +9397,7 @@ const Employes = (props) => {
setadd_one_suivi_ped("");
setselectionModel_suivi_pedagogique([]);
setsuivi_pedago_gridline_id("");
setdialog_contrat_data_changed("");
setDialog_employe_open(true);
@ -9593,7 +9593,7 @@ const Employes = (props) => {
</div>
</div>
</div>
</div>
<div className="session_data" >
@ -12087,6 +12087,7 @@ const Employes = (props) => {
onRowDoubleClick={(newSelectionModel) => {
setdialog_contrat_data_changed("");
setselected_contrat_id(newSelectionModel.row._id)
handleClick_edit_employee_contrat_From_Line(newSelectionModel.row.id);

View File

@ -3836,7 +3836,7 @@ const Groupe_Apprenant = (props) => {
<div className="div_row" ref={myRef} id="myRef"> &nbsp; </div>
{selected_id && String(selected_id).length > 5 && <div className="div_row">
<Button variant="outlined" onClick={submenu_detail} className="detail_class_submenu" id='detail_groupe' name='detail_groupe'>Détail Evaluation</Button>
<Button variant="outlined" onClick={submenu_detail} className="detail_class_submenu" id='detail_groupe' name='detail_groupe'>Détail Groupe</Button>
<Button variant="outlined" onClick={submenu_apprenant} className="detail_class_submenu" id='apprenant' name='apprenant'>Membres </Button>
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Button variant="outlined" onClick={submenu_selection} className="detail_class_submenu" id='selection' name='selection'>Sélection </Button>}
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='piece_jointe'>Pièces Jointes </Button>

View File

@ -165,7 +165,7 @@ const Jury = (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 : value.slice(0, 50)}&nbsp;
{value.length > 50 && (
@ -181,7 +181,7 @@ const Jury = (props) => {
)}
</div>}
{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' }}>
&nbsp;
</div>
}
@ -1349,7 +1349,7 @@ const Jury = (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,
@ -5496,15 +5496,15 @@ const Jury = (props) => {
'& .line--statut--selected': {
backgroundColor: '#e9f7f1',
color: '#0a2a4d',
color: '#0a2a4d',
},
'& .line--statut--pair': {
backgroundColor: 'rgba(235, 235, 235, .7)',
color: '#0a2a4d',
color: '#0a2a4d',
},
'& .line--statut--impair': {
backgroundColor: '#FFFFFF',
color: '#0a2a4d',
color: '#0a2a4d',
},
[`& .${gridClasses.cell}`]: {
py: 1,
@ -5702,9 +5702,9 @@ const Jury = (props) => {
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
}
@ -6047,7 +6047,7 @@ const Jury = (props) => {
</DialogActions>}
</Dialog>
</Dialog>
{/*** FIn Dialog detail eventement */}
@ -6343,12 +6343,12 @@ const Jury = (props) => {
// Gestion des cellule a distance ou presentiel
'& .cell--distantiel': {
backgroundColor: '#AFE1AF',
color: '#0a2a4d',
color: '#0a2a4d',
},
'& .cell--presentiel': {
backgroundColor: '#AFE1AF',
color: '#0a2a4d',
color: '#0a2a4d',
},
"& .MuiDataGrid-columnHeaders": {
@ -6358,7 +6358,7 @@ const Jury = (props) => {
},
'& .line--statut--selected': {
backgroundColor: '#e9f7f1',
backgroundColor: '#e9f7f1',
color: '#0a2a4d',
},
'& .line--statut--pair': {
@ -6421,6 +6421,11 @@ const Jury = (props) => {
className="datagridclass"
onRowDoubleClick={(newSelectionModel) => {
setselectionModel_columns_jury([]);
setactionmass_ftion_val("");
setsoutenance_data_edit_mode("");
setsoutenance_display("");
setsoutenance_data_changed("");
@ -7850,15 +7855,15 @@ const Jury = (props) => {
'& .line--statut--selected': {
backgroundColor: '#e9f7f1',
color: '#0a2a4d',
color: '#0a2a4d',
},
'& .line--statut--pair': {
backgroundColor: 'rgba(235, 235, 235, .7)',
color: '#0a2a4d',
color: '#0a2a4d',
},
'& .line--statut--impair': {
backgroundColor: '#FFFFFF',
color: '#0a2a4d',
color: '#0a2a4d',
},
'& .line--statut--noted_changed': {

View File

@ -1451,9 +1451,10 @@ const Jurys_Admission = (props) => {
const myRef_head = useRef(null);
const myRef = useRef(null)
const myRef_note_classemment = useRef(null)
const myRef = useRef(null);
const myRef_note_classemment = useRef(null);
const myRef_exam_jury = useRef(null);
const myRef_exam_jury_detail = useRef(null);
const sleep = (milliseconds) => {
@ -1506,7 +1507,13 @@ const Jurys_Admission = (props) => {
setequipe_data_edit_mode("");
submenu_detail();
//Getall_Evaluation_Participant_List();
if (document.getElementById('myRef_exam_jury_detail')) {
var divh = document.getElementById('myRef_exam_jury_detail').offsetTop;
window.scrollTo({
top: divh,
behavior: "smooth",
});
}
}
@ -1648,14 +1655,6 @@ const Jurys_Admission = (props) => {
});
if (document.getElementById('myRef')) {
var divh = document.getElementById('myRef').offsetTop;
window.scrollTo({
top: divh,
behavior: "smooth",
});
}
Disable_Jury_DetailFields();
} else {
alert(" Aucune donnée recuperée");
@ -1770,14 +1769,7 @@ const Jurys_Admission = (props) => {
setequipe_data_edit_mode("");
setdisplay_jury('1');
if (document.getElementById('myRef')) {
// myRef.current.scrollIntoView({ behavior: "smooth" });
var divh = document.getElementById('myRef').offsetTop;
window.scrollTo({
top: divh,
behavior: "smooth",
});
}
} else {
Disable_Jury_DetailFields();
@ -3913,7 +3905,7 @@ const Jurys_Admission = (props) => {
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("ref_interne", "JURY_CONVOCATION_APPRENANT");
form.append("ref_interne", "ADMISSION_JURY_CONVOCATION_CANDIDAT");
form.append("type_doc", type_doc);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Partner_Document_with_filter_No_HTML_Fields/";
@ -4151,7 +4143,7 @@ const Jurys_Admission = (props) => {
//console.log(" ### tab_soutenance_id = ", tab_soutenance_id)
var url = process.env.REACT_APP_API_URL + "myclass/api/Send_Jury_Apprenant_Soutenance_Convocation_By_PDF/" + stored_cookie + "/" + selected_id + "/" + tab_soutenance_id + "/" + selected_jury_convocation_apprenant_id;
var url = process.env.REACT_APP_API_URL + "myclass/api/Send_Jury_Apprenant_Soutenance_Admission_Convocation_By_PDF/" + stored_cookie + "/" + selected_id + "/" + tab_soutenance_id + "/" + selected_jury_convocation_apprenant_id;
//console.log(" ### url = ", url);
@ -4286,6 +4278,8 @@ const Jurys_Admission = (props) => {
form.append("email_test", selected_jury_convocation_apprenant_email_test);
form.append("email_production", selected_jury_convocation_apprenant_email_destinataire_prod);
form.append("cible", "admission");
// pièce jointe
form.append("file_business_object", "");
@ -4949,7 +4943,7 @@ const Jurys_Admission = (props) => {
</div>
{(String(selected_jury_convocation_apprenant_type) === "email" || String(selected_jury_convocation_apprenant_type) === "pdf") &&
<div className="session_caract_Dialog" > <b> Choisir une convocation </b>
<div className="session_caract_Dialog" > <b> Choisir une convocation 01</b>
<Autocomplete
disablePortal
name="event_dialog_version_convention"
@ -6025,7 +6019,7 @@ const Jurys_Admission = (props) => {
<h3 style={{ fontFamily: 'DM Sans' }}> Les jurys </h3>
<h3 style={{ fontFamily: 'DM Sans', fontSize: '18px', textAlign: 'center', marginTop: '1rem' }}> Examens et Jurys </h3>
<div className="div_row">
<div className="titre1"> Utilisez les filtres !</div>
@ -6397,6 +6391,11 @@ const Jurys_Admission = (props) => {
className="datagridclass"
onRowDoubleClick={(newSelectionModel) => {
setselectionModel_columns_jury([]);
setactionmass_ftion_val("");
setsoutenance_data_edit_mode("");
setsoutenance_display("");
setsoutenance_data_changed("");
@ -6406,7 +6405,7 @@ const Jurys_Admission = (props) => {
setselectionModel_columns_jury_membre([]);
setactionmass_jury_membre_val("");
Get_List_UE_From_Session_Id(newSelectionModel.row.session_id);
// Get_List_UE_From_Session_Id(newSelectionModel.row.session_id);
setselected_id(newSelectionModel.row._id);
setgridline_id(newSelectionModel.row.id);
@ -6587,7 +6586,7 @@ const Jurys_Admission = (props) => {
</div>
<div className="div_row" ref={myRef} id="myRef"> &nbsp; </div>
<div className="div_row" ref={myRef_exam_jury_detail} id="myRef_exam_jury_detail"> &nbsp; </div>
{
selected_id && String(selected_id).length > 5 && <div className="div_row">
@ -8077,8 +8076,8 @@ const Jurys_Admission = (props) => {
&nbsp;
<div className="session_data">
<div style={{ "border": "None" }}>
<nav style={{ "border": "None", "fontSize": "20px", "paddingTop": "5px", "paddingLeft": "5px" }}> Planning de soutenances </nav>
<nav style={{ "border": "None", "fontSize": "18px", padding: '10px', fontFamily: "DM Sans", textAlign: 'center' }}> Planning de soutenances </nav>
<FullCalendar
locales={allLocales}
locale={'fr'}
@ -8116,7 +8115,7 @@ const Jurys_Admission = (props) => {
<div className="div_row">
<div className="session_data">
<div style={{ "border": "None" }}>
<nav style={{ "border": "None", "fontSize": "20px", padding:'10px' }}> Soutenances </nav>
<nav style={{ "border": "None", "fontSize": "18px", padding: '10px', fontFamily: "DM Sans", textAlign: 'center' }}> Soutenances </nav>
<div style={{ height: 550, width: '100%', paddingRight: '1px' }}>
&nbsp;
<Box
@ -8195,6 +8194,11 @@ const Jurys_Admission = (props) => {
onRowDoubleClick={(newSelectionModel) => {
if (String(props.check_user_acces_right("jury", "write")) === "1") {
setselectionModel_columns_jury_seance([]);
setactionmass_jury_seance("");
setselected_agenda_id(newSelectionModel.row._id);
setselected_jury_soutenance_id(newSelectionModel.row.jury_soutenance_id);
setp_detail_linked_collection_recid(newSelectionModel.row.jury_session_id);
@ -8435,7 +8439,7 @@ const Jurys_Admission = (props) => {
&& GetCurrentSession_result.length > 0 &&
<div style={{ "border": "None" }}>
<Module_Jury_Admission_Detail_Examen
conntected_employee_id={props.conntected_employee_id}
related_collection={"session_formation"}

View File

@ -208,7 +208,7 @@ registerLocale('fr', fr);
form.append("token", stored_cookie);
form.append("related_collection", related_collection);
form.append("related_collection_owner_email", props.email);
form.append("related_collection_owner_email", props.email);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Entity_Activite/";

View File

@ -9,7 +9,7 @@ import Checkbox from '@mui/material/Checkbox';
import { ResponsivePie } from '@nivo/pie'
import { ResponsiveBar } from "@nivo/bar";
import { FcSynchronize } 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';
@ -172,7 +172,7 @@ const Module_Admission_Candidat_Document = (props) => {
if (String(res.data.status) === String("true")) {
//console.log(" In Get_Inscrit_Document_Pourcentage res.data.status = " + res.data.status);
// console.log(" In Get_Inscrit_Document_Pourcentage res.data.message r_class = " + res.data.message);
// console.log(" In Get_Inscrit_Document_Pourcentage res.data.message r_class = " + res.data.message);
setGet_Inscrit_Document_Pourcentage_api("true");
setGet_Inscrit_Document_Pourcentage_result(res.data.message);
@ -186,7 +186,7 @@ const Module_Admission_Candidat_Document = (props) => {
setNew_Get_Inscrit_Document_Pourcentage_result(new_data2);
console.log(" ## setNew_Get_Inscrit_Document_Pourcentage_result = ", new_data2)
//console.log(" ## setNew_Get_Inscrit_Document_Pourcentage_result = ", new_data2)
}
else {
@ -1085,7 +1085,7 @@ const Module_Admission_Candidat_Document = (props) => {
{/***** Dialog Preview Image */}
<Dialog
@ -1150,8 +1150,6 @@ const Module_Admission_Candidat_Document = (props) => {
{/***** FIN Dialog Preview Image */}
<h3 style={{ fontFamily: 'DM Sans', fontSize: '18px', textAlign: 'center' }}> Checklist des pièces </h3>
<div className="Grid_2_col" >
@ -1161,194 +1159,204 @@ const Module_Admission_Candidat_Document = (props) => {
<div className="Grid_2_col_sub_colone_header">
Détail Inscrit
</div>
{New_Get_Inscrit_All_Documents_result && New_Get_Inscrit_All_Documents_result.length > 0 && <div className="ck-card">
<table className="ck-table">
<thead>
<tr>
<th style={{ minWidth: '10rem' }}>Validation</th>
<th>Pièce demandée</th>
<th>Type</th>
<th style={{ textAlign: 'center' }}>Statut</th>
<th style={{ textAlign: 'center' }}>
Ajouter/Remplacer
</th>
<th style={{ textAlign: 'center' }}>Supprimer</th>
<th style={{ textAlign: 'center' }}>Visualiser</th>
<th style={{ textAlign: 'center' }}>Telecharger</th>
</tr>
</thead>
<tbody>
{New_Get_Inscrit_All_Documents_result.map((item) => (
<tr key={item.id}>
<td style={{ minWidth: '10rem' }}> {(item.collection_download_files).length > 0 ?
<Autocomplete
disablePortal
name="dossier_status"
id="dossier_status"
options={New_Option_Document_Acceptance_Status}
value={New_Option_Document_Acceptance_Status.filter((data) => (data).value === String(item.collection_download_files[0].acceptance_status))[0].label}
onChange={(event, value) => {
if (value && value.value) {
Update_Document_Acceptance_Status(item.collection_download_files[0]._id, value.value);
} else {
Update_Document_Acceptance_Status(item.collection_download_files[0]._id, "");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
: ""}
</td>
<td>{item.code}</td>
<td>{item.type}</td>
<td style={{ textAlign: 'center' }}>{(item.collection_download_files).length > 0 ? "Fournie" : "Manquante"}</td>
<td>
{(item.collection_download_files).length > 0 ?
<div style={{ width: '100%', textAlign: 'center', cursor: 'pointer' }}>
<div style={{ "fontSize": "10px" }}>
<label htmlFor={item._id}>
<input
style={{ display: "none" }}
id={item._id}
code={item.code}
file_type={item.type}
type="file"
onChange={sessions_file_change_1}
/>
<Fab
style={{ minWidth: '10rem' }}
color="primary"
size="small"
component="span"
aria-label="add"
variant="extended"
>
<FcDataBackup /> <nav style={{ "fontSize": "10px" }}> Remplacer le fichier </nav>
</Fab>
</label>
</div>
</div> :
<div style={{ width: '100%', textAlign: 'center', cursor: 'pointer' }}>
<div style={{ "fontSize": "12px" }}>
<label htmlFor={item._id}>
<input
style={{ display: "none" }}
id={item._id}
code={item.code}
file_type={item.type}
type="file"
onChange={sessions_file_change_1}
/>
<Fab
style={{ minWidth: '10rem' }}
color="secondary"
size="small"
component="span"
aria-label="add"
variant="extended"
>
<IoMdAddCircle /> <nav style={{ "fontSize": "10px" }}> Ajouter un fichier </nav>
</Fab>
</label>
</div>
</div>
}
</td>
<td>
{(item.collection_download_files).length > 0 ? <div style={{ width: '100%', textAlign: 'center' }}> <Popup
trigger={<Button
>
<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, le fichier sera <i><font color="red"> définitivement supprimé</font></i>. <br />
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
Delete_List_document(item.collection_download_files[0]._id);
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> </div> : <div style={{ width: '100%', textAlign: 'center' }}> <FcCancel /> </div>}
</td>
<td>
{item.collection_download_files && item.collection_download_files.length > 0 ? <nav style={{ width: '100%', 'textAlign': 'center', cursor: 'pointer' }} onClick={(e) => {
preview_document_pdf(item.collection_download_files[0]._id, item.collection_download_files[0].file_extention, item.collection_download_files[0].file_business_object);
setselected_doc_name(item.collection_download_files[0].file_business_object);
setDialog_Preview_Doc_open(true);
}}>
<VisibilityIcon style={{ color: '#6a329f' }} />
</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) => {
print_document_pdf(item.collection_download_files[0]._id, item.collection_download_files[0].file_extention, item.collection_download_files[0].file_business_object);
setselected_doc_name(item.collection_download_files[0].file_business_object);
}}>
<ArrowCircleDownIcon style={{ color: '#107758' }} />
</nav> : <nav style={{ width: '100%', 'textAlign': 'center' }}> &nbsp; </nav>}
</td>
{New_Get_Inscrit_All_Documents_result && New_Get_Inscrit_All_Documents_result.length > 0 &&
<div className="ck-card">
<table className="ck-table">
<thead>
<tr>
<th style={{ minWidth: '10rem' }}>Validation</th>
<th>Pièce demandée</th>
<th>Type</th>
<th style={{ textAlign: 'center' }}>Statut</th>
<th style={{ textAlign: 'center' }}>
Ajouter/Remplacer
</th>
<th style={{ textAlign: 'center' }}>Supprimer</th>
<th style={{ textAlign: 'center' }}>Visualiser</th>
<th style={{ textAlign: 'center' }}>Telecharger</th>
<th style={{ textAlign: 'center' }}>Relance</th>
</tr>
))}
</tbody>
</table>
</div>}
</thead>
<tbody>
{New_Get_Inscrit_All_Documents_result.map((item) => (
<tr key={item.id}>
<td style={{ minWidth: '10rem' }}> {(item.collection_download_files).length > 0 ?
<Autocomplete
disablePortal
name="dossier_status"
id="dossier_status"
options={New_Option_Document_Acceptance_Status}
value={New_Option_Document_Acceptance_Status.filter((data) => (data).value === String(item.collection_download_files[0].acceptance_status))[0].label}
onChange={(event, value) => {
if (value && value.value) {
Update_Document_Acceptance_Status(item.collection_download_files[0]._id, value.value);
} else {
Update_Document_Acceptance_Status(item.collection_download_files[0]._id, "");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
: ""}
</td>
<td>{item.code}</td>
<td>{item.type}</td>
<td style={{ textAlign: 'center' }}>{(item.collection_download_files).length > 0 ? "Fournie" : "Manquante"}</td>
<td>
{(item.collection_download_files).length > 0 ?
<div style={{ width: '100%', textAlign: 'center', cursor: 'pointer' }}>
<div style={{ "fontSize": "10px" }}>
<label htmlFor={item._id}>
<input
style={{ display: "none" }}
id={item._id}
code={item.code}
file_type={item.type}
type="file"
onChange={sessions_file_change_1}
/>
<Fab
style={{ minWidth: '10rem' }}
color="primary"
size="small"
component="span"
aria-label="add"
variant="extended"
>
<FcDataBackup /> <nav style={{ "fontSize": "10px" }}> Remplacer le fichier </nav>
</Fab>
</label>
</div>
</div> :
<div style={{ width: '100%', textAlign: 'center', cursor: 'pointer' }}>
<div style={{ "fontSize": "12px" }}>
<label htmlFor={item._id}>
<input
style={{ display: "none" }}
id={item._id}
code={item.code}
file_type={item.type}
type="file"
onChange={sessions_file_change_1}
/>
<Fab
style={{ minWidth: '10rem' }}
color="secondary"
size="small"
component="span"
aria-label="add"
variant="extended"
>
<IoMdAddCircle /> <nav style={{ "fontSize": "10px" }}> Ajouter un fichier </nav>
</Fab>
</label>
</div>
</div>
}
</td>
<td>
{(item.collection_download_files).length > 0 ? <div style={{ width: '100%', textAlign: 'center' }}> <Popup
trigger={<Button
>
<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, le fichier sera <i><font color="red"> définitivement supprimé</font></i>. <br />
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
Delete_List_document(item.collection_download_files[0]._id);
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> </div> : <div style={{ width: '100%', textAlign: 'center' }}> <FcCancel /> </div>}
</td>
<td>
{item.collection_download_files && item.collection_download_files.length > 0 ? <nav style={{ width: '100%', 'textAlign': 'center', cursor: 'pointer' }} onClick={(e) => {
preview_document_pdf(item.collection_download_files[0]._id, item.collection_download_files[0].file_extention, item.collection_download_files[0].file_business_object);
setselected_doc_name(item.collection_download_files[0].file_business_object);
setDialog_Preview_Doc_open(true);
}}>
<VisibilityIcon style={{ color: '#6a329f' }} />
</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) => {
print_document_pdf(item.collection_download_files[0]._id, item.collection_download_files[0].file_extention, item.collection_download_files[0].file_business_object);
setselected_doc_name(item.collection_download_files[0].file_business_object);
}}>
<ArrowCircleDownIcon style={{ color: '#107758' }} />
</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>
</tr>
))}
</tbody>
</table>
</div>}
</div>
</div>
@ -1362,7 +1370,7 @@ const Module_Admission_Candidat_Document = (props) => {
<div className="Grid_2_col_sub_colone" style={{ minHeight: '10rem', padding: "10px" }}>
<h3 style={{ fontFamily: 'DM Sans', fontSize: '18px', textAlign: 'center' }}> Stat sur reception </h3>
<div style={{ width: '70%', float: 'left', textAlign: 'left', "height": "15rem" }}>
<div style={{ width: '70%', float: 'left', textAlign: 'left', "height": "15rem" }}>
<Box style={{ "color": "black", "height": "10rem" }}>
&nbsp;
<ResponsivePie /* or Pie for fixed dimensions */
@ -1422,7 +1430,7 @@ const Module_Admission_Candidat_Document = (props) => {
<div className="Grid_2_col_sub_colone" style={{ minHeight: '10rem', padding: "10px" }}>
<h3 style={{ fontFamily: 'DM Sans', fontSize: '18px', textAlign: 'center' }}> Stat sur acceptation </h3>
<div style={{ width: '70%', float: 'left', textAlign: 'left', "height": "15rem"}}>
<div style={{ width: '70%', float: 'left', textAlign: 'left', "height": "15rem" }}>
<Box style={{ "color": "black", "height": "10rem" }}>
&nbsp;
<ResponsivePie /* or Pie for fixed dimensions */
@ -1477,7 +1485,7 @@ const Module_Admission_Candidat_Document = (props) => {
&nbsp;
</div>
</div>}
</div>
@ -1514,6 +1522,7 @@ const local_css = `
width: 100%;
border-collapse: collapse;
font-family: "Dm Sans", system-ui, sans-serif;
font-size: small !important;
}
.ck-table th,
@ -1522,6 +1531,7 @@ const local_css = `
border-bottom: 1px solid #eee;
text-align: left;
font-family: "Dm Sans", system-ui, sans-serif;
font-size: small !important;
}

File diff suppressed because it is too large Load Diff

View File

@ -204,12 +204,11 @@ const Module_Jury_Admission_Detail_Examen = (props) => {
const columns_list_session_note_classement_final = [
{ field: 'id', headerName: 'id', hide: true },
{ field: '_id', headerName: '_id', hide: true },
{ field: 'inscription_id', headerName: 'inscription_id', hide: false, minwidth: 300 },
{ field: 'session_id', headerName: 'session_id', hide: true },
{ field: 'class_id', headerName: 'class_id', hide: true },
{ field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, },
{ field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, },
{ field: 'inscription_id', headerName: 'inscription_id', hide: true, Width: 0, disableExport: true, },
{ field: 'session_id', headerName: 'session_id', hide: true, Width: 0, disableExport: true, },
{ field: 'class_id', headerName: 'class_id', hide: true, Width: 0, disableExport: true, },
{ field: 'nom', headerName: 'Nom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'prenom', headerName: 'Prenom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
@ -989,7 +988,7 @@ const Module_Jury_Admission_Detail_Examen = (props) => {
.then((data) => data.json())
.then((data) => {
setLoading(false);
// console.log(' Get_Jury_List_Apprenant_Seance : Success:', data['message'], "data['status'] = ", data['status']);
// console.log(' Get_Jury_List_Apprenant_Seance : Success:', data['message'], "data['status'] = ", data['status']);
if (String(data['status']) === String("true")) {
@ -2380,13 +2379,13 @@ const Module_Jury_Admission_Detail_Examen = (props) => {
>
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> Observation zzzz</DialogTitle>
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> Observation </DialogTitle>
<DialogContent className="DialogContent_width" style={{ "minHeight": "20rem" }}>
<DialogContentText>
{Dialog_1_message}
</DialogContentText>
setsession_admission_soutenance_candidat_id = {session_admission_soutenance_candidat_id}
<div className="session_caract_Dialog" > <b> Observation </b> <br />
<TextareaAutosize
@ -2509,7 +2508,9 @@ const Module_Jury_Admission_Detail_Examen = (props) => {
&nbsp;
<div className="session_data">
<div style={{ "border": "None" }}>
<nav style={{ "border": "None", "fontSize": "20px", padding: '10px' }}> Detail Soutenance </nav>
<nav style={{ "border": "None", "fontSize": "18px", padding: '10px', fontFamily: "DM Sans", textAlign: 'center' }}> Détail Soutenance </nav>
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
&nbsp;

View File

@ -3756,6 +3756,7 @@ const Module_Session_Planification = (props) => {
position: 'absolute',
top: position_h_choix_planning,
margin: "2px",
maxWidth:'unset',
},
}}
hideBackdrop={true}
@ -3870,6 +3871,7 @@ const Module_Session_Planification = (props) => {
position: 'absolute',
top: position_h_choix_planning,
margin: "2px",
maxWidth:'unset',
},
}}
hideBackdrop={true}
@ -4044,6 +4046,7 @@ const Module_Session_Planification = (props) => {
position: 'absolute',
top: position_h_myRef_seq_calendrier_01,
margin: "2px",
maxWidth:'unset'
},
}}
hideBackdrop={true}
@ -4742,6 +4745,7 @@ const Module_Session_Planification = (props) => {
position: 'absolute',
top: '7rem',
margin: "2px",
maxWidth:'unset',
},
}}
hideBackdrop={true}
@ -4966,6 +4970,7 @@ const Module_Session_Planification = (props) => {
position: 'absolute',
top: '7rem',
margin: "2px",
maxWidth:'unset',
},
}}
hideBackdrop={true}
@ -5302,6 +5307,7 @@ const Module_Session_Planification = (props) => {
position: 'absolute',
top: '7rem',
margin: "2px",
maxWidth:'unset',
},
}}
hideBackdrop={true}
@ -5710,6 +5716,8 @@ const Module_Session_Planification = (props) => {
position: 'absolute',
top: 1500,
margin: "2px",
maxWidth:'unset',
},
}}
hideBackdrop={true}

File diff suppressed because it is too large Load Diff

View File

@ -99,7 +99,7 @@ const Partner_Client = (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 && (
@ -781,7 +781,15 @@ const Partner_Client = (props) => {
const Dialog_client_handleClose_buton = () => {
window.scrollTo({
top: 0,
left: 0,
behavior: "smooth",
});
setDialog_client_open(false);
};
const Dialog_client_handleClose = () => {
@ -1004,7 +1012,7 @@ const Partner_Client = (props) => {
<DialogContent className="DialogContent_width">
<div className="div_row_dialog">
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop:'10px' }}>
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
Type
</div>
{Get_List_Partner_Clients_result && selected_id &&
@ -1022,7 +1030,7 @@ const Partner_Client = (props) => {
</div>
<div className="div_row_dialog">
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop:'10px' }}>
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
Raison Sociale
</div>
{Get_List_Partner_Clients_result && selected_id &&
@ -1032,7 +1040,7 @@ const Partner_Client = (props) => {
</div>
<div className="div_row_dialog">
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop:'10px' }}>
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
Nom
</div>
{Get_List_Partner_Clients_result && selected_id &&
@ -1042,7 +1050,7 @@ const Partner_Client = (props) => {
</div>
<div className="div_row_dialog">
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop:'10px' }}>
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
E-mail
</div>
{Get_List_Partner_Clients_result && selected_id &&
@ -1052,7 +1060,7 @@ const Partner_Client = (props) => {
</div>
<div className="div_row_dialog">
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop:'10px' }}>
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
Compte Intranet
</div>
{Get_List_Partner_Clients_result && selected_id &&
@ -1072,7 +1080,7 @@ const Partner_Client = (props) => {
</div>
<div className="div_row_dialog">
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop:'10px' }}>
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
Téléphone
</div>
{Get_List_Partner_Clients_result && selected_id &&
@ -1082,7 +1090,7 @@ const Partner_Client = (props) => {
</div>
<div className="div_row_dialog">
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop:'10px' }}>
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
Adresse postale
</div>
{Get_List_Partner_Clients_result && selected_id &&
@ -1094,7 +1102,7 @@ const Partner_Client = (props) => {
</div>
<div className="div_row_dialog">
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop:'10px' }}>
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
Site Web
</div>
{Get_List_Partner_Clients_result && selected_id &&

File diff suppressed because it is too large Load Diff

View File

@ -78,6 +78,7 @@ import styled from 'styled-components';
import { Typography, LinearProgress } from '@mui/material';
import Jurys_Admission from "./Jurys_Admission";
import Module_Admission_Candidat_Synthese from "./Module_Admission_Candidat_Synthese";
function PaperComponent(props) {
@ -152,7 +153,14 @@ const Session_Admission_FI = (props) => {
},
}));
const New_Option_Document_Acceptance_Status = [
{ "id": "1", "label": "Accepté", "value": "1" },
{ "id": "2", "label": "Liste Att.", "value": "2" },
{ "id": "0", "label": "Réfuse", "value": "2" },
{ "id": "-1", "label": "Annulé", "value": "-1" },
{ "id": "", "label": "", "value": "" },
]
function ExpandableCell_50({ value }) {
const [expanded, setExpanded] = React.useState(false);
@ -290,7 +298,7 @@ const Session_Admission_FI = (props) => {
{ field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, },
{ field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, },
{
field: 'document_pourcentage_accepted', headerName: 'Alert', hide: false, Width: 50, flex: 1, disableExport: true,
field: 'document_pourcentage_accepted', headerName: 'Alert', hide: false, Width: 100, disableExport: true,
renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", fontFamily: 'DM Sans', }}>
@ -309,6 +317,26 @@ const Session_Admission_FI = (props) => {
},
{
field: 'status', headerName: 'Statut', minWidth: 100, flex: 1, maxWidth: 100, hide: false, editable: false, editable: false,
renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all" }}>
{New_Option_Document_Acceptance_Status && New_Option_Document_Acceptance_Status.length > 0 &&
<nav style={{fontWeight:'700'}}>
{New_Option_Document_Acceptance_Status.filter((data) => (data).id === String(cellValues.row.status))[0].label}
</nav>
}
</div>
);
},
},
{
field: 'civilite', headerName: 'Civ.', minWidth: 100, flex: 1, maxWidth: 100, hide: false, editable: false, editable: false,
@ -330,14 +358,13 @@ const Session_Admission_FI = (props) => {
},
},
{ field: 'nom', headerName: 'Nom', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'prenom', headerName: 'prenom', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'email', headerName: 'email', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'date_naissance', headerName: 'date_naissance', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'telephone', headerName: 'telephone', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'price', headerName: 'price', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'status', headerName: 'status', hide: true, Width: 0, disableExport: true, },
{ field: 'prenom', headerName: 'Prenom', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'email', headerName: 'Email', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'date_naissance', headerName: 'Date naissance', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'telephone', headerName: 'Télephone', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'price', headerName: 'Prix', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: 'taux_document_pourcentage_received', headerName: 'Doc. Reçu', align: "center", flex: 1, minWidth: 100, maxWidth: 150, flex: 1,
align: "left",
@ -1539,10 +1566,13 @@ const Session_Admission_FI = (props) => {
async function submenu_candidat_detail() {
Getall_Partner_Admission_Session();
await sleep(5);
setsubmenu_candidat("candidat_detail");
inactive_active_candidat_menu("candidat_detail");
if (document.getElementById('myRef_detail_inscrit')) {
var divh = document.getElementById('myRef_detail_inscrit').offsetTop;
window.scrollTo({
@ -1564,7 +1594,7 @@ const Session_Admission_FI = (props) => {
// Cette fontion desactive tous les menu header et reactive just le menu_header concerné
function inactive_active_menu_header(current_menu_header) {
const list_menu_header_names = ['detail_session', 'inscription', 'piece_jointe', 'examen_jury',]
const list_menu_header_names = ['detail_session', 'inscription', 'piece_jointe', 'examen_jury', 'decision']
for (let i = 0; i < list_menu_header_names.length; i++) {
if (document.getElementsByName(String(list_menu_header_names[i])) && document.getElementsByName(String(list_menu_header_names[i]))[0]) {
document.getElementsByName(String(list_menu_header_names[i]))[0].style.fontWeight = "400";
@ -2355,7 +2385,7 @@ const Session_Admission_FI = (props) => {
const New_Option = [
{ "id": "1", "label": "Dupliquer", "value": "dupliquer" },
{ "id": "1", "label": "Notification", "value": "notification" },
{ "id": "2", "label": "Supprimer", "value": "supprimer" },
]
@ -3807,7 +3837,7 @@ const Session_Admission_FI = (props) => {
form.append("new_session_etape_code", new_stape);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Stagiaire_Only_Status_Admission_Session/";
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Stagiaire_Only_Process_Step_Admission_Session/";
//setLoading(true);
axios.post(myurl, form).then(res => {
@ -3833,7 +3863,7 @@ const Session_Admission_FI = (props) => {
//setLoading(false);
console.warn('UpdateStagiaireData : Not good man :( Update_Inscrit_Only_Session_Etape = ' + error);
setUpdate_Inscrit_Only_Session_Etape_api("false");
alert(" Impossible de mettre à jour l'inscrit");
alert(" Impossible de mettre à jour le candidat");
})
}
@ -6723,7 +6753,7 @@ const Session_Admission_FI = (props) => {
components={{
Toolbar: CustomToolbar
}}
componentsProps={{ toolbar: { data_colums: columns } }}
componentsProps={{ toolbar: { data_colums: columns_inscrit } }}
onSelectionModelChange={(newSelectionModel) => {
setselectionModel_grp_apprenant(newSelectionModel);
@ -8069,7 +8099,7 @@ const Session_Admission_FI = (props) => {
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_annule" onClick={Annule_Add_One_Session_DetailFields}>Fermer 2
<Button variant="contained" className="bton_annule" onClick={Annule_Add_One_Session_DetailFields}>Fermer
</Button>
</div>
@ -8077,7 +8107,7 @@ const Session_Admission_FI = (props) => {
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
<Button variant="contained" className="bton_edit" onClick={Enable_Inscrit_DetailFields}>Editer 2
<Button variant="contained" className="bton_edit" onClick={Enable_Inscrit_DetailFields}>Editer
</Button>
</div>
@ -8879,9 +8909,11 @@ const Session_Admission_FI = (props) => {
{String(submenu) === "decision" && <div>
<div className="div_row session_data">
Decision
1 - Afficher un tableau avec action possible d'acceptation ou rejet avec motification.
2 - Envoyer les emaial (statut de notification)
<Module_Admission_Candidat_Synthese
selected_session_admiss_id={selected_id}
/>
</div>
</div>}

View File

@ -20,7 +20,7 @@
background: #81BC3A;
z-index: 9999;
}
.css-1bp1ao6 {
height: 3.5rem !important;
@ -2981,6 +2981,7 @@
margin-bottom: 5px;
border: 1px solid #ecf1fc;
border-bottom: 1px solid;
background: #ecf1fc !important;
}
@ -3070,7 +3071,16 @@
}
.session_caract_Dialog_comment_2_lines {
width: 100%;
padding: 5px;
float: left;
text-align: left;
font-size: small;
margin-bottom: 1rem !important;
background-color: #FFFFFF;
}
.session_caract_Dialog_comment_3_lines {
width: 100%;
padding: 5px;
float: left;

View File

@ -91,9 +91,9 @@
padding-left: 5px;
}
.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;
}
@ -124,7 +124,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -237,7 +237,7 @@
}
.detail_activite:hover {
// box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
// box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
}
.detail_activite {
@ -254,6 +254,9 @@
border-top-right-radius: 10px !important;
height: 10rem !important;
font-size: small;
width: 100%;
background: unset;
box-shadow: unset;
}
.scroll_mysy {
@ -366,9 +369,9 @@
padding-left: 5px;
}
.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;
}
@ -399,7 +402,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -512,7 +515,7 @@
}
.detail_activite:hover {
// box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
// box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
}
.detail_activite {
@ -531,6 +534,9 @@
font-size: small;
width: 96%;
margin-left: 2%;
width: 100%;
background: unset;
box-shadow: unset;
}
.scroll_mysy {
@ -644,9 +650,9 @@
padding-left: 5px;
}
.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;
}
@ -677,7 +683,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -803,10 +809,13 @@
font-size: small;
width: 96%;
margin-left: 2%;
width: 100%;
background: unset;
box-shadow: unset;
}
.detail_activite:hover {
// box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
// box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
}
.scroll_mysy {
@ -931,9 +940,9 @@
padding-left: 5px;
}
.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;
}
@ -975,7 +984,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -1089,22 +1098,25 @@
display: inline-block;
color: #4B5162;
border: none;
// background: white;
// background: white;
//box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
cursor: pointer;
vertical-align: middle;
padding: 5px;
text-align: left;
// width: 96%;
// width: 96%;
margin-left: 2%;
// border-radius: 10px !important;
// border-radius: 10px !important;
height: 9rem !important;
font-size: small;
padding-bottom: 10px;
width: 100%;
background: unset;
box-shadow: unset;
}
.detail_activite:hover {
// box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
// box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
}
.scroll_mysy {

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;
@ -150,7 +150,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;
@ -196,7 +196,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 100%;
padding: 5px;
float: left;
@ -302,6 +302,7 @@
background: #c8cfd5;
color: black;
width: 100% !important;
height: 2rem !important;
}
.div_row_gauche_etendu {
@ -326,16 +327,17 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
text-align: center;
height: 2rem;
width: 100%;
color: white;
margin-left: 10px;
margin-right: 10px;
height: 2rem !important;
}
.bton_edit {
@ -525,7 +527,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -585,7 +587,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;
@ -749,7 +751,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;
@ -795,7 +797,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 50%;
padding: 5px;
float: left;
@ -928,7 +930,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -1131,7 +1133,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -1184,7 +1186,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;
@ -1375,7 +1377,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;
@ -1424,7 +1426,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 33%;
padding: 5px;
float: left;
@ -1557,7 +1559,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -1885,7 +1887,7 @@
}
.session_caract_Dialog {
font-family: 'DM Sans';
font-family: 'DM Sans';
width: 100%;
padding: 5px;
float: left;
@ -1912,7 +1914,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;
@ -1960,7 +1962,7 @@
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 33%;
padding: 5px;
float: left;
@ -2174,7 +2176,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -2410,6 +2412,7 @@
padding-left: 30px;
padding-right: 30px;
height: 2rem;
}
@ -2420,7 +2423,7 @@
padding: 5px !important;
font-family: 'DM Sans';
}
.disabled_style_with_visualiser_icone {
float: left;
text-align: center;
@ -2450,7 +2453,7 @@
}
.session_caract_Dialog {
font-family: 'DM Sans';
font-family: 'DM Sans';
width: 100%;
padding: 5px;
float: left;
@ -2555,7 +2558,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;
}
@ -2566,8 +2569,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;
}