18/10/23 - 12h30

recette2
cherif 2023-10-18 12:48:18 +02:00
parent e56dc69c76
commit 6296939079
6 changed files with 104 additions and 19 deletions

View File

@ -900,7 +900,7 @@ const DisplayDetailClass_new_v2 = (props) => {
axios.post(myurl, form).then(res => { axios.post(myurl, form).then(res => {
//console.log(" In GetCurrentClass_trainingsession res.data.status = " + res.data.status); //console.log(" In GetCurrentClass_trainingsession res.data.status = " + res.data.status);
//console.log(" In GetCurrentClass_trainingsession res.data.message r_class = " + res.data.message); console.log(" In GetCurrentClass_trainingsession res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true") ) { if (String(res.data.status) === String("true") ) {
//console.log(" In GetCurrentClass_trainingsession res.data.status = " + res.data.status); //console.log(" In GetCurrentClass_trainingsession res.data.status = " + res.data.status);
@ -1448,7 +1448,7 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="mob_info_page_title_desc"> <div className="mob_info_page_title_desc">
<div className="mob_info_page_title_desc_title"> <div className="mob_info_page_title_desc_title">
Les Sessions Les sessions
</div> </div>
<div className="mob_info_page_title_desc_desc session_block"> <div className="mob_info_page_title_desc_desc session_block">
@ -1923,12 +1923,13 @@ const DisplayDetailClass_new_v2 = (props) => {
{GetCurrentClass_result && GetCurrentClass_result.length > 0 && {GetCurrentClass_result && GetCurrentClass_result.length > 0 &&
<div className="block_info_page_pave_title_desc"> <div className="block_info_page_pave_title_desc">
<div className="block_info_page_pave_title_desc_title"> <div className="block_info_page_pave_title_desc_title">
Les Sessions Les sessions
</div> </div>
<div className="block_info_page_pave_title_desc_desc session_block"> <div className="block_info_page_pave_title_desc_desc session_block">
<ul style={{ "width": "100%" }}> <ul style={{ "width": "100%" }}>
{GetCurrentClass_result && GetCurrentClass_result.slice(0, 5).map((formation) => ( {GetCurrentClass_result && GetCurrentClass_result.slice(0, 5).map((formation) => (

View File

@ -2507,10 +2507,12 @@ const DisplayPartnerSession = (props) => {
nb_participant = document.getElementById("one_nb_participant").value; nb_participant = document.getElementById("one_nb_participant").value;
} }
if (nb_participant.trim() == "") { if (nb_participant.trim() == "") {
const response = window.confirm("Le nombre de participants est vide. Continuer ?"); const response = window.confirm("Le nombre de participants est vide. Par défaut, 1. Continuer ?");
if (!response) { if (!response) {
return; return;
} }
nb_participant = "1"
} }
var prix_session = p_one_prix_session var prix_session = p_one_prix_session
@ -4932,6 +4934,7 @@ const DisplayPartnerSession = (props) => {
> >
<MenuItem value="code_session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Code Session &nbsp;&nbsp;</MenuItem> <MenuItem value="code_session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Code Session &nbsp;&nbsp;</MenuItem>
<MenuItem value="class_external_code" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Code Formation (code externe) &nbsp;</MenuItem>
<MenuItem value="class_title" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Titre Formation &nbsp;</MenuItem> <MenuItem value="class_title" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Titre Formation &nbsp;</MenuItem>
</TextField> </TextField>
@ -5008,7 +5011,8 @@ const DisplayPartnerSession = (props) => {
> >
<MenuItem value="code_session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Code Session &nbsp;&nbsp;</MenuItem> <MenuItem value="code_session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Code Session &nbsp;&nbsp;</MenuItem>
<MenuItem value="class_title" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Titre Formation &nbsp;</MenuItem> <MenuItem value="class_external_code" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Code Formation (code externe) &nbsp;</MenuItem>
<MenuItem value="class_title" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Titre Formation &nbsp;</MenuItem>
</TextField> </TextField>
</div> </div>
@ -5061,7 +5065,7 @@ const DisplayPartnerSession = (props) => {
{<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}> {<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}> <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_enreg" onClick={Getall_TrainingSession}>Rechercher <Button variant="contained" className="bton_enreg" onClick={Getall_TrainingSession}>Rechercher
</Button> </Button>
</div> </div>

View File

@ -29,6 +29,7 @@ import axios from "axios";
//import { Rating } from 'react-simple-star-rating' //import { Rating } from 'react-simple-star-rating'
import Rating from '@mui/material/Rating'; import Rating from '@mui/material/Rating';
import parse from 'html-react-parser' import parse from 'html-react-parser'
import { CiLocationOn } from "react-icons/ci";
const Formation = (props) => { const Formation = (props) => {
const [userconnected, setuserconnected] = useState("0"); const [userconnected, setuserconnected] = useState("0");
@ -260,12 +261,12 @@ const Formation = (props) => {
{String(ismetiermanaged) === "0" && <div className="forma_img_gauche"> {String(ismetiermanaged) === "0" && <div className="forma_img_gauche">
<img src={img_met_autre} alt="autre" className="training_img" /> <img src={img_met_autre} alt="autre" className="training_img" />
{props.formation.institut_formation && <div style={{ width: '100%', "textAlign":"center" }}> Dispensé par :<br/> {String(props.formation.institut_formation)} </div>} {props.formation.institut_formation && <div style={{ width: '100%', "textAlign": "center" }}> Dispensé par :<br /> {String(props.formation.institut_formation)} </div>}
</div>} </div>}
{String(ismetiermanaged) === "1" && <div className="forma_img_gauche"> {String(ismetiermanaged) === "1" && <div className="forma_img_gauche">
<img src={props.formation.img_url} alt="autre" className="training_img" /> <img src={props.formation.img_url} alt="autre" className="training_img" />
{props.formation.institut_formation && <div style={{ width: '100%', "textAlign":"center" }}> Dispensé par : <br/> {String(props.formation.institut_formation)} </div>} {props.formation.institut_formation && <div style={{ width: '100%', "textAlign": "center" }}> Dispensé par : <br /> {String(props.formation.institut_formation)} </div>}
</div>} </div>}
@ -369,6 +370,36 @@ const Formation = (props) => {
{parse(String(props.formation.description).replace(/(<([^>]+)>)/ig, ''))} {parse(String(props.formation.description).replace(/(<([^>]+)>)/ig, ''))}
</div> </div>
{GetCurrentClass_result && GetCurrentClass_result.length > 0 &&
<nav style={{"width":"100%", "float":"left", "textAlign":"left", "color": "#619E31"}}>
<nav style={{"width":"auto", "float":"left"}}> <CiLocationOn className="icone_location" />&nbsp; </nav>
{GetCurrentClass_result && GetCurrentClass_result.slice(0, 5).map((formation) => (
<nav style={{"width":"auto", "float":"left"}}>
{(JSON.parse(formation).distantiel) === "1" &&
<b> A Distance &nbsp;&nbsp;</b>
}
{(JSON.parse(formation).distantiel) !== "1" && (JSON.parse(formation).ville) &&
<b> - {(JSON.parse(formation).ville).substring(0, 20)} &nbsp;&nbsp; </b>
}
</nav>
))}
</nav>
}
{!GetCurrentClass_result || GetCurrentClass_result.length <= 0 &&
<nav style={{"width":"100%", "float":"left", "textAlign":"left", "fontWeight":"700"}}><CiLocationOn className="icone_location" />&nbsp; A venir </nav>
}
</div> </div>
</div> </div>

View File

@ -973,7 +973,7 @@ function GestionAdministrative(props) {
form.append("client_rattachement_id", p_detail_client_rattachement_id); form.append("client_rattachement_id", p_detail_client_rattachement_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/UpdateStagiairetoClass/"; var myurl = process.env.REACT_APP_API_URL + "myclass/api/UpdateStagiairetoClass/";
setLoading(true); setLoading(true);
axios.post(myurl, form).then(res => { axios.post(myurl, form).then(res => {
//console.log(" In UpdateStagiaireData res.data.status = " + res.data.status); //console.log(" In UpdateStagiaireData res.data.status = " + res.data.status);
//console.log(" In UpdateStagiaireData res.data.message r_class = " + res.data.message); //console.log(" In UpdateStagiaireData res.data.message r_class = " + res.data.message);
@ -1968,6 +1968,13 @@ setLoading(true);
const [p_session_etape, setp_session_etape] = useState(); const [p_session_etape, setp_session_etape] = useState();
const [p_session_etape_label, setp_session_etape_label] = useState(); const [p_session_etape_label, setp_session_etape_label] = useState();
const [p_session_status, setp_session_status] = useState();
const [p_session_status_label, setp_session_status_label] = useState();
const [p_session_code_session, setp_session_code_session] = useState();
const [p_detail_one_presentiel, setp_detail_one_presentiel] = useState(); const [p_detail_one_presentiel, setp_detail_one_presentiel] = useState();
const [p_detail_presentiel, setp_detail_presentiel] = useState(); const [p_detail_presentiel, setp_detail_presentiel] = useState();
const [p_detail_presentiel_label, setp_detail_presentiel_label] = useState(); const [p_detail_presentiel_label, setp_detail_presentiel_label] = useState();
@ -2003,10 +2010,11 @@ setLoading(true);
nb_participant = document.getElementById("one_nb_participant").value; nb_participant = document.getElementById("one_nb_participant").value;
} }
if (nb_participant.trim() == "") { if (nb_participant.trim() == "") {
const response = window.confirm("Le nombre de participants est vide. Continuer ?"); const response = window.confirm("Le nombre de participants est vide. Par defaut, 1. Continuer ?");
if (!response) { if (!response) {
return; return;
} }
nb_participant = "1"
} }
prix_session = "" prix_session = ""
@ -2020,6 +2028,11 @@ setLoading(true);
one_session_ondemande = p_detail_one_session_ondemande; one_session_ondemande = p_detail_one_session_ondemande;
} }
var one_session_status = "0"
if (p_session_status) {
one_session_status = p_session_status;
}
var presentiel = "0" var presentiel = "0"
presentiel = "" presentiel = ""
@ -2097,6 +2110,7 @@ setLoading(true);
const stored_cookie = getCookie('tokenmysypart'); const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie); form.append("token", stored_cookie);
form.append("class_internal_url", internal_url); form.append("class_internal_url", internal_url);
form.append("session_status", one_session_status);
form.append("code_session", code_session); form.append("code_session", code_session);
form.append("date_debut", format(one_SessionstartDate, 'dd/MM/yyyy kk:mm:ss')); form.append("date_debut", format(one_SessionstartDate, 'dd/MM/yyyy kk:mm:ss'));
form.append("date_fin", format(one_SessionendDate, 'dd/MM/yyyy kk:mm:ss')); form.append("date_fin", format(one_SessionendDate, 'dd/MM/yyyy kk:mm:ss'));
@ -2350,7 +2364,7 @@ setLoading(true);
document.getElementsByName("formateur")[0].value = mylocaltraining.formateur; document.getElementsByName("formateur")[0].value = mylocaltraining.formateur;
} }
if (mylocaltraining.lms_class_code) { if (mylocaltraining.lms_class_code) {
setis_lms_class_code(mylocaltraining.lms_class_code); setis_lms_class_code(mylocaltraining.lms_class_code);
} }
@ -2365,8 +2379,6 @@ setLoading(true);
else if (String(mylocaltraining.session_status) === "0") else if (String(mylocaltraining.session_status) === "0")
setsessionStatus(false); setsessionStatus(false);
} else {
alert(" Aucune information recuperée");
} }
} else if (String(res.data.status) === String("Err_Connexion")) { } else if (String(res.data.status) === String("Err_Connexion")) {
@ -2707,12 +2719,17 @@ setLoading(true);
if (document.getElementsByName("one_sessiondatefininscription")[0]) if (document.getElementsByName("one_sessiondatefininscription")[0])
document.getElementsByName("one_sessiondatefininscription")[0].value = ""; document.getElementsByName("one_sessiondatefininscription")[0].value = "";
if (document.getElementsByName("one_session_status")[0])
document.getElementsByName("one_session_status")[0].value = "";
setone_SessionstartDateInscription(); setone_SessionstartDateInscription();
setone_SessionendDateInscription(); setone_SessionendDateInscription();
setone_SessionendDate(); setone_SessionendDate();
setone_SessionstartDate(); setone_SessionstartDate();
setone_urlpreview_certif(); setone_urlpreview_certif();
setone_field_contenu_ftion(); setone_field_contenu_ftion();
setp_session_status();
setp_session_code_session();
} }
const [one_SessionstartDateInscription, setone_SessionstartDateInscription] = useState(); const [one_SessionstartDateInscription, setone_SessionstartDateInscription] = useState();
@ -3311,7 +3328,7 @@ setLoading(true);
top: divh, top: divh,
behavior: "smooth", behavior: "smooth",
}); });
// myelement.scrollIntoView({ behavior: 'smooth' }); // myelement.scrollIntoView({ behavior: 'smooth' });
} }
} }
@ -3773,7 +3790,7 @@ setLoading(true);
behavior: "smooth", behavior: "smooth",
}); });
// myelement.scrollIntoView({ behavior: 'smooth' }); // myelement.scrollIntoView({ behavior: 'smooth' });
} }
} }
@ -5112,9 +5129,37 @@ setLoading(true);
disabled={false} disabled={false}
className="disabled_style enable_style" className="disabled_style enable_style"
value={p_session_code_session}
onChange={(e) => {
setp_session_code_session(e.target.value);
}
}
/> />
</div> </div>
<div className="session_caract">Statut* <br />
<TextField
name="one_session_status"
id="one_session_status"
select
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", max: "1", step: "1" }}
disabled={false}
className="disabled_style enable_style"
value={p_session_status}
onChange={(e) => {
setp_session_status(e.target.value);
}
}
>
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left", "background": "orange" }}>Inactif &nbsp;&nbsp;</MenuItem>
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left", "background": "green" }}>Actif &nbsp;</MenuItem>
</TextField>
</div>
<div className="session_caract">Session à la demande* <br /> <div className="session_caract">Session à la demande* <br />
<TextField <TextField
name="one_session_ondemande" name="one_session_ondemande"
@ -5324,7 +5369,7 @@ setLoading(true);
/> />
</div> </div>
<div className="session_caract"> Nombre participants *<br /> <div className="session_caract"> Nombre participants *<br />
@ -5881,7 +5926,7 @@ setLoading(true);
/> />
</div> </div>
<div className="session_caract"> Nombre participants *<br /> <div className="session_caract"> Nombre participants *<br />

View File

@ -935,7 +935,7 @@ const PartnerClientActivite = (props) => {
</div>} </div>}
{String(formedit_mode_activite) === "1" && <div className="training_caract" > Assigné d à (employé) <br /> {String(formedit_mode_activite) === "1" && <div className="training_caract" > Assigné à (employé) <br />
<TextField <TextField

View File

@ -65,6 +65,10 @@
margin-top: 0 !important; margin-top: 0 !important;
} }
.icone_location{
font-size: large;
}
/* less than 600 px */ /* less than 600 px */
@media screen and (max-width: 600px) { @media screen and (max-width: 600px) {
.p_class { .p_class {