branche_01062025
parent
7f58f2b35e
commit
d1310c2e9a
|
|
@ -29344,6 +29344,8 @@ const DisplayPartnerSession = (props) => {
|
|||
id='menu_import_participant' name='menu_import_participant'>Importer des participants excel
|
||||
<img src={excel_icone} alt="ajout csv" className="icon_excel" />
|
||||
</Button>
|
||||
|
||||
|
||||
<Button variant="outlined"
|
||||
|
||||
onClick={(event) => {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import MenuItem from '@mui/material/MenuItem';
|
|||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||
import Button from '@mui/material/Button';
|
||||
import axios from "axios";
|
||||
import excel_icone from "../mysy_img/excel_icone.png";
|
||||
import { getCookie, setCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
import MoreVertIcon from '@mui/icons-material/MoreVert';
|
||||
|
|
@ -2403,7 +2404,7 @@ const Session_Admission_FI = (props) => {
|
|||
]
|
||||
|
||||
const New_Option_Piece_Identite = [
|
||||
{ "id": "cni", "label": "CNI", "value": "cni" },
|
||||
{ "id": "cni", "label": "CNI", "value": "cni" },
|
||||
{ "id": "permis", "label": "Permis Conduire", "value": "permis" },
|
||||
{ "id": "passport", "label": "Passport", "value": "passport" },
|
||||
{ "id": "titre_sejour", "label": "Titre Séjour", "value": "titre_sejour" },
|
||||
|
|
@ -2868,7 +2869,7 @@ const Session_Admission_FI = (props) => {
|
|||
}
|
||||
|
||||
const [p_detail_inscrit_nom, setp_detail_inscrit_nom] = useState("");
|
||||
const [p_detail_inscrit_nom_fille, setp_detail_inscrit_nom_fille] = useState("");
|
||||
const [p_detail_inscrit_nom_fille, setp_detail_inscrit_nom_fille] = useState("");
|
||||
const [p_detail_inscrit_prenom, setp_detail_inscrit_prenom] = useState("");
|
||||
const [p_detail_inscrit_email, setp_detail_inscrit_email] = useState("");
|
||||
const [p_detail_inscrit_telephone, setp_detail_inscrit_telephone] = useState("");
|
||||
|
|
@ -2949,7 +2950,7 @@ const Session_Admission_FI = (props) => {
|
|||
}
|
||||
|
||||
|
||||
if (tmp.nom_fille) {
|
||||
if (tmp.nom_fille) {
|
||||
setp_detail_inscrit_nom_fille(tmp.nom_fille);
|
||||
} else {
|
||||
setp_detail_inscrit_nom_fille("");
|
||||
|
|
@ -3481,6 +3482,109 @@ const Session_Admission_FI = (props) => {
|
|||
|
||||
}
|
||||
|
||||
const hiddenFileInput_session = React.useRef(null);
|
||||
|
||||
const [session_file_name, setsession_file_name] = useState();
|
||||
function submenu_import_session() {
|
||||
setsession_file_name();
|
||||
setAdd_Admission_Inscrit_Mass_api();
|
||||
hiddenFileInput_session.current.click();
|
||||
}
|
||||
|
||||
const [participant_file_name, setparticipant_file_name] = useState();
|
||||
function submenu_import_participant() {
|
||||
setparticipant_file_name();
|
||||
setAdd_Admission_Inscrit_Mass_api();
|
||||
hiddenFileInput.current.click();
|
||||
}
|
||||
|
||||
const hiddenFileInput = React.useRef(null);
|
||||
|
||||
|
||||
const [Add_Admission_Inscrit_Mass_api, setAdd_Admission_Inscrit_Mass_api] = useState();
|
||||
const [Add_Admission_Inscrit_Mass_result, setAdd_Admission_Inscrit_Mass_result] = useState();
|
||||
const [Add_Admission_Inscrit_Mass_message, setAdd_Admission_Inscrit_Mass_message] = useState();
|
||||
const Add_Admission_Inscrit_Mass = event => {
|
||||
const fileUploaded = event.target.files[0];
|
||||
let file_size = event.target.files[0].size;
|
||||
let file_type = event.target.files[0].type;
|
||||
|
||||
//console.log("file_size = ",file_size," file_type = ",file_type);
|
||||
if (file_size > 10000000) {
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le fichier ne doit pas dépasser un 1 Méga octets");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
setparticipant_file_name(event.target.files[0].name);
|
||||
|
||||
const formData = new FormData();
|
||||
formData.append('File', fileUploaded);
|
||||
//formData.append('token', 'K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA');
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
|
||||
formData.append("token", stored_cookie);
|
||||
formData.append("admission_session_id", selected_id);
|
||||
//formData.append("session_id", selected_session_id);
|
||||
//formData.append("class_internal_url", selected_internal_url);
|
||||
//console.log("token = " + stored_cookie);
|
||||
|
||||
setLoading(true);
|
||||
|
||||
fetch(
|
||||
process.env.REACT_APP_API_URL + "myclass/api/Add_Admission_Candidat_mass_for_One_Session/",
|
||||
{
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
}
|
||||
)
|
||||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
if (String(result['status']) === String("true")) {
|
||||
setLoading(false);
|
||||
//console.log('Success:', result['message']);
|
||||
setAdd_Admission_Inscrit_Mass_result(result['message']);
|
||||
setAdd_Admission_Inscrit_Mass_api("true");
|
||||
|
||||
Getall_Partner_Session_Inscrit();
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("success");
|
||||
|
||||
|
||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||
setLoading(false);
|
||||
// alert('Erreur: ' + result['message']);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("error");
|
||||
history.push("/Connexion");
|
||||
}
|
||||
|
||||
else {
|
||||
setLoading(false);
|
||||
setAdd_Admission_Inscrit_Mass_message(result['message']);
|
||||
setAdd_Admission_Inscrit_Mass_api("false");
|
||||
// alert(result['message']);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
setAdd_Admission_Inscrit_Mass_api("false");
|
||||
alert(" Impossible d'importer la liste des candidats");
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
const [Add_Update_Inscrit_To_Session_Admiss_api, setAdd_Update_Inscrit_To_Session_Admiss_api] = useState();
|
||||
const [Add_Update_Inscrit_To_Session_Admiss_message, setAdd_Update_Inscrit_To_Session_Admiss_message] = useState();
|
||||
|
|
@ -3557,7 +3661,7 @@ const Session_Admission_FI = (props) => {
|
|||
form.append("date_naissance", format(p_detail_inscrit_date_naissance, 'dd/MM/yyyy'));
|
||||
|
||||
form.append("nom", p_detail_inscrit_nom);
|
||||
form.append("nom_fille", p_detail_inscrit_nom_fille);
|
||||
form.append("nom_fille", p_detail_inscrit_nom_fille);
|
||||
form.append("prenom", p_detail_inscrit_prenom);
|
||||
form.append("email", p_detail_inscrit_email);
|
||||
form.append("telephone", p_detail_inscrit_telephone);
|
||||
|
|
@ -6989,7 +7093,7 @@ const Session_Admission_FI = (props) => {
|
|||
componentsProps={{ toolbar: { data_colums: columns_inscrit } }}
|
||||
|
||||
onSelectionModelChange={(newSelectionModel) => {
|
||||
setselectionModel_grp_apprenant(newSelectionModel);
|
||||
setselectionModel_inscrit(newSelectionModel);
|
||||
/*if (newSelectionModel.length === 1)
|
||||
handleClick_edit_employee_From_Line(newSelectionModel);*/
|
||||
if (newSelectionModel.length !== 1) {
|
||||
|
|
@ -7006,7 +7110,7 @@ const Session_Admission_FI = (props) => {
|
|||
id: index,
|
||||
_id: JSON.parse(item)._id,
|
||||
nom: JSON.parse(item).nom,
|
||||
nom_fille: JSON.parse(item).nom_fille,
|
||||
nom_fille: JSON.parse(item).nom_fille,
|
||||
prenom: JSON.parse(item).prenom,
|
||||
email: JSON.parse(item).email,
|
||||
date_naissance: JSON.parse(item).date_naissance,
|
||||
|
|
@ -7239,6 +7343,37 @@ const Session_Admission_FI = (props) => {
|
|||
</Button>}
|
||||
|
||||
|
||||
<Button variant="outlined"
|
||||
|
||||
onClick={(event) => {
|
||||
submenu_import_participant()
|
||||
}}
|
||||
|
||||
|
||||
className="detail_class_submenu bton_import_excel" style={{
|
||||
"background": "#c8cfd5",
|
||||
"color": "black", "width": "auto", maxWidth: '20rem'
|
||||
}}
|
||||
id='menu_import_participant' name='menu_import_participant'>Importer des candidats excel
|
||||
<img src={excel_icone} alt="ajout csv" className="icon_excel" />
|
||||
</Button>
|
||||
|
||||
<br />
|
||||
{session_file_name && <nav><i>{session_file_name}</i></nav>}
|
||||
{String(Add_Admission_Inscrit_Mass_api) === String("true") && <nav className="okUpdateData"> Les sessions ont été correctement importées</nav>}
|
||||
{String(Add_Admission_Inscrit_Mass_api) === String("false") && <nav className="koUpdateData"> {Add_Admission_Inscrit_Mass_message} </nav>}
|
||||
|
||||
<input type="file"
|
||||
accept=".csv"
|
||||
ref={hiddenFileInput}
|
||||
style={{ display: 'none' }}
|
||||
name="liste_sessions_file"
|
||||
onChange={Add_Admission_Inscrit_Mass}
|
||||
/>
|
||||
|
||||
<a href='/sample/template_import_session_formation.csv' download>Télécharger un fichier modèle </a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -7482,7 +7617,7 @@ const Session_Admission_FI = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
{p_detail_inscrit_civilite !== "m" && <div className="session_caract"> Nom jeune fille <br />
|
||||
{p_detail_inscrit_civilite !== "m" && <div className="session_caract"> Nom jeune fille <br />
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
|
|
@ -8090,7 +8225,7 @@ const Session_Admission_FI = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
{p_detail_inscrit_civilite !== "m" && <div className="session_caract"> Nom jeune fille <br />
|
||||
{p_detail_inscrit_civilite !== "m" && <div className="session_caract"> Nom jeune fille <br />
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
|
|
|
|||
Loading…
Reference in New Issue