10/04/2026 - 18h
parent
048971b250
commit
1135985bc2
|
|
@ -911,7 +911,7 @@ const Article_Help = (props) => {
|
|||
></input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="div_row_dialog">
|
||||
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||
|
|
|
|||
|
|
@ -403,6 +403,14 @@ const Module_Admission_Candidat_Synthese = (props) => {
|
|||
var local_session_etape_code = JSON.parse(x).session_etape_code;
|
||||
var local_rang = JSON.parse(x).rang;
|
||||
|
||||
var local_inscrit_session_id = ""
|
||||
if (JSON.parse(x).inscrit_session_id)
|
||||
local_inscrit_session_id = JSON.parse(x).inscrit_session_id
|
||||
|
||||
var local_inscrit_session_code = ""
|
||||
if (JSON.parse(x).inscrit_session_code)
|
||||
local_inscrit_session_code = JSON.parse(x).inscrit_session_code
|
||||
|
||||
|
||||
var local_tab_entete_exam_jury = JSON.parse(x).tab_entete_exam_jury;
|
||||
|
||||
|
|
@ -422,6 +430,8 @@ const Module_Admission_Candidat_Synthese = (props) => {
|
|||
"age": local_age,
|
||||
"session_etape_code": local_session_etape_code,
|
||||
"rang": local_rang,
|
||||
"inscrit_session_code": local_inscrit_session_id,
|
||||
"inscrit_session_code": local_inscrit_session_code,
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -439,6 +449,8 @@ const Module_Admission_Candidat_Synthese = (props) => {
|
|||
"status": local_status,
|
||||
"age": local_age,
|
||||
"session_etape_code": local_session_etape_code,
|
||||
"inscrit_session_code": local_inscrit_session_id,
|
||||
"inscrit_session_code": local_inscrit_session_code,
|
||||
};
|
||||
|
||||
const new_data_tmp_z = JSON.parse(x).tab_entete_exam_jury.map((z) => {
|
||||
|
|
@ -828,14 +840,14 @@ const Module_Admission_Candidat_Synthese = (props) => {
|
|||
|
||||
const [Dialog_add_inscription_message, setDialog_add_inscription_message] = React.useState(false);
|
||||
const [Dialog_add_inscription_open, setDialog_add_inscription_open] = React.useState(false);
|
||||
function Dialog_add_inscription_handle_change_participant_session(message) {
|
||||
setDialog_add_inscription_message(message);
|
||||
setDialog_add_inscription_open(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
const Dialog_add_inscription_handleClose_buton = () => {
|
||||
setDialog_add_inscription_open(false);
|
||||
setselected_candidat_id("");
|
||||
setselected_candidat_nom("");
|
||||
setselected_candidat_prenom("");
|
||||
};
|
||||
|
||||
const [New_Getall_TrainingSession_result, setNew_Getall_TrainingSession_result] = useState();
|
||||
|
|
@ -953,6 +965,67 @@ const Module_Admission_Candidat_Synthese = (props) => {
|
|||
const [p_dialog_financement, setp_dialog_financement] = useState("");
|
||||
const [p_dialog_client_rattachement_id, setp_dialog_client_rattachement_id] = useState("");
|
||||
|
||||
const [selected_candidat_id, setselected_candidat_id] = useState("");
|
||||
const [selected_candidat_nom, setselected_candidat_nom] = useState("");
|
||||
const [selected_candidat_prenom, setselected_candidat_prenom] = useState("");
|
||||
|
||||
const [Inscrire_Candidat_To_Promo_api, setInscrire_Candidat_To_Promo_api] = useState();
|
||||
const [Inscrire_Candidat_To_Promo_message, setInscrire_Candidat_To_Promo_message] = useState();
|
||||
const [Inscrire_Candidat_To_Promo_result, setInscrire_Candidat_To_Promo_result] = useState();
|
||||
function Inscrire_Candidat_To_Promo(local_admiss_session_id, new_status) {
|
||||
var form = new FormData();
|
||||
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("list_candidat_id", selected_candidat_id);
|
||||
form.append("admission_session_id", props.selected_session_admiss_id);
|
||||
form.append("session_id", p_dialog_session_id);
|
||||
form.append("type_apprenant", p_dialog_type_apprenant);
|
||||
form.append("modefinancement", p_dialog_financement);
|
||||
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Candidat_Inscrire_To_Session/";
|
||||
|
||||
//setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
console.log(" In Inscrire_Candidat_To_Promo res.data.status = " + res.data.status);
|
||||
console.log(" In Inscrire_Candidat_To_Promo res.data.message r_class = " + res.data.message);
|
||||
|
||||
//setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setInscrire_Candidat_To_Promo_api("true");
|
||||
setInscrire_Candidat_To_Promo_result(res.data.message);
|
||||
GetListeInscrit_With_Synthese();
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("success");
|
||||
Dialog_add_inscription_handleClose_buton();
|
||||
}
|
||||
else {
|
||||
setInscrire_Candidat_To_Promo_api("false");
|
||||
setInscrire_Candidat_To_Promo_message(res.data.message);
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
//setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Inscrire_Candidat_To_Promo = ' + error);
|
||||
setInscrire_Candidat_To_Promo_api("false");
|
||||
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'inscrire le candidat");
|
||||
setalert_type("error");
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
return (
|
||||
<div className="module_admission_candidat_document" style={{ margin: '10px' }}>
|
||||
|
||||
|
|
@ -998,7 +1071,7 @@ const Module_Admission_Candidat_Synthese = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title" > Inscrire </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title" > Inscrire {selected_candidat_prenom} {selected_candidat_nom} </DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
{New_Getall_TrainingSession_result && New_Getall_TrainingSession_result.length > 0 && <div className="session_caract_Dialog"> <b>Promotion</b>
|
||||
|
|
@ -1094,7 +1167,9 @@ const Module_Admission_Candidat_Synthese = (props) => {
|
|||
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button className="bton_enreg_dialog"> Inscrire</Button>
|
||||
<Button className="bton_enreg_dialog" onClick={(date) => {
|
||||
Inscrire_Candidat_To_Promo();
|
||||
}}> Inscrire</Button>
|
||||
</div>
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
<Button onClick={Dialog_add_inscription_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>
|
||||
|
|
@ -1228,10 +1303,10 @@ const Module_Admission_Candidat_Synthese = (props) => {
|
|||
type="number"
|
||||
InputProps={{ inputProps: { min: 1, max: 9999999 } }}
|
||||
fullWidth
|
||||
// value={JSON.parse(item).rang}
|
||||
// value={JSON.parse(item).rang}
|
||||
onChange={(e) => {
|
||||
|
||||
// console.log("RRRR");
|
||||
|
||||
// console.log("RRRR");
|
||||
var local_node = {}
|
||||
local_node["_id"] = String(JSON.parse(item)._id)
|
||||
local_node["rang"] = e.target.value
|
||||
|
|
@ -1281,11 +1356,17 @@ const Module_Admission_Candidat_Synthese = (props) => {
|
|||
|
||||
))}
|
||||
|
||||
<td style={{ textAlign: 'center', cursor: 'pointer' }} onClick={(e) => {
|
||||
{JSON.parse(item).inscrit_session_id.length <= 5 && <td style={{ textAlign: 'center', cursor: 'pointer' }} onClick={(e) => {
|
||||
setselected_candidat_nom(JSON.parse(item).nom);
|
||||
setselected_candidat_prenom(JSON.parse(item).prenom)
|
||||
setselected_candidat_id(JSON.parse(item)._id);
|
||||
Getall_TrainingSession();
|
||||
setDialog_add_inscription_open(true);
|
||||
|
||||
}}> <Users size={14} /></td>
|
||||
|
||||
}}> <Users size={14} /></td>}
|
||||
|
||||
{JSON.parse(item).inscrit_session_id.length > 5 && <td style={{ textAlign: 'center', background:'#e9eff2' }}>
|
||||
{JSON.parse(item).inscrit_session_code} </td>}
|
||||
|
||||
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { useCookies } from "react-cookie";
|
|||
import Articles from "./Article";
|
||||
|
||||
import New_Article_2025 from "./New_C_Article_2025";
|
||||
|
||||
import ReactPlayer from 'react-player'
|
||||
import 'react-discussion-board/dist/index.css'
|
||||
import { useForm } from 'react-hook-form';
|
||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
|
|
@ -25,401 +25,400 @@ import { FcUndo } from "react-icons/fc";
|
|||
import IMG_Default_Article from "../mysy_img/img_default_article_detail.jpg";
|
||||
|
||||
function PaperComponent(props) {
|
||||
return (
|
||||
<Draggable
|
||||
handle="#draggable-dialog-title"
|
||||
cancel={'[class*="MuiDialogContent-root"]'}
|
||||
>
|
||||
<Paper {...props} />
|
||||
</Draggable>
|
||||
);
|
||||
return (
|
||||
<Draggable
|
||||
handle="#draggable-dialog-title"
|
||||
cancel={'[class*="MuiDialogContent-root"]'}
|
||||
>
|
||||
<Paper {...props} />
|
||||
</Draggable>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
const useStyles = makeStyles((theme) => ({
|
||||
|
||||
dialog: {
|
||||
position: 'absolute',
|
||||
// left: 10,
|
||||
top: 400
|
||||
},
|
||||
dialog: {
|
||||
position: 'absolute',
|
||||
// left: 10,
|
||||
top: 400
|
||||
},
|
||||
|
||||
paper: {
|
||||
overflowY: 'unset',
|
||||
},
|
||||
customizedButton: {
|
||||
position: 'absolute',
|
||||
left: '98%',
|
||||
top: '-3%',
|
||||
backgroundColor: 'lightgray',
|
||||
color: 'gray',
|
||||
},
|
||||
paper: {
|
||||
overflowY: 'unset',
|
||||
},
|
||||
customizedButton: {
|
||||
position: 'absolute',
|
||||
left: '98%',
|
||||
top: '-3%',
|
||||
backgroundColor: 'lightgray',
|
||||
color: 'gray',
|
||||
},
|
||||
}));
|
||||
|
||||
|
||||
function New_C_Article_Help_2025() {
|
||||
|
||||
const classes = useStyles();
|
||||
const classes = useStyles();
|
||||
|
||||
const [img_displayed, setimg_displayed] = useState("");
|
||||
const [img_displayed, setimg_displayed] = useState("");
|
||||
|
||||
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']);
|
||||
const { articleId } = useParams();
|
||||
const [result, setResult] = useState("");
|
||||
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']);
|
||||
const { articleId } = useParams();
|
||||
const [result, setResult] = useState("");
|
||||
|
||||
const [myApiResponse, setmyApiResponse] = useState("false");
|
||||
const [DetailArticleAvis, setDetailArticleAvis] = useState([]);
|
||||
const [country_code, setcountry_code] = useState("");
|
||||
const [country_name, setcountry_name] = useState("");
|
||||
const [city, setcity] = useState("");
|
||||
const [postal, setpostal] = useState("");
|
||||
const [latitude, setlatitude] = useState("");
|
||||
const [longitude, setlongitude] = useState("");
|
||||
const [IPv4, setIPv4] = useState("");
|
||||
const [state, setstate] = useState("");
|
||||
const [userIp, setuserIp] = useState("");
|
||||
const [action, setaction] = useState("");
|
||||
const [userconnected, setuserconnected] = useState("");
|
||||
const stored_user = cookie.tokenmysych;
|
||||
const [myApiResponse, setmyApiResponse] = useState("false");
|
||||
const [DetailArticleAvis, setDetailArticleAvis] = useState([]);
|
||||
const [country_code, setcountry_code] = useState("");
|
||||
const [country_name, setcountry_name] = useState("");
|
||||
const [city, setcity] = useState("");
|
||||
const [postal, setpostal] = useState("");
|
||||
const [latitude, setlatitude] = useState("");
|
||||
const [longitude, setlongitude] = useState("");
|
||||
const [IPv4, setIPv4] = useState("");
|
||||
const [state, setstate] = useState("");
|
||||
const [userIp, setuserIp] = useState("");
|
||||
const [action, setaction] = useState("");
|
||||
const [userconnected, setuserconnected] = useState("");
|
||||
const stored_user = cookie.tokenmysych;
|
||||
|
||||
|
||||
const [display_header_img, setdisplay_header_img] = useState("");
|
||||
const [display_header_img, setdisplay_header_img] = useState("");
|
||||
|
||||
const {
|
||||
register,
|
||||
handleSubmit,
|
||||
reset,
|
||||
formState: { errors }
|
||||
} = useForm();
|
||||
const {
|
||||
register,
|
||||
handleSubmit,
|
||||
reset,
|
||||
formState: { errors }
|
||||
} = useForm();
|
||||
|
||||
|
||||
const [pagecanoniktitle, setpagecanoniktitle] = useState("");
|
||||
const [pagecanonikurl, setpagecanonikurl] = useState(window.location.host);
|
||||
const [article_img, setarticle_img] = useState("")
|
||||
const [page_meta_description, setpage_meta_description] = useState("");
|
||||
const [pagecanoniktitle, setpagecanoniktitle] = useState("");
|
||||
const [pagecanonikurl, setpagecanonikurl] = useState(window.location.host);
|
||||
const [article_img, setarticle_img] = useState("")
|
||||
const [page_meta_description, setpage_meta_description] = useState("");
|
||||
|
||||
const [article_video, setarticle_video] = useState("")
|
||||
const [article_tex_a_retenir, setarticle_tex_a_retenir] = useState("")
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
useEffect(() => {
|
||||
|
||||
setpagecanonikurl(window.location.host);
|
||||
setpagecanonikurl(window.location.host);
|
||||
|
||||
|
||||
|
||||
async function fetchData() {
|
||||
const result = await axios('https://geolocation-db.com/json/',);
|
||||
setuserIp(result.data.IPv4);
|
||||
setcountry_code(result.data.country_code);
|
||||
setcountry_name(result.data.country_name);
|
||||
setcity(result.data.city);
|
||||
setpostal(result.data.postal);
|
||||
setlatitude(result.data.latitude);
|
||||
setlongitude(result.data.longitude);
|
||||
setIPv4(result.data.IPv4);
|
||||
setstate(result.data.state);
|
||||
setuserIp(result.data.IPv4);
|
||||
async function fetchData() {
|
||||
const result = await axios('https://geolocation-db.com/json/',);
|
||||
setuserIp(result.data.IPv4);
|
||||
setcountry_code(result.data.country_code);
|
||||
setcountry_name(result.data.country_name);
|
||||
setcity(result.data.city);
|
||||
setpostal(result.data.postal);
|
||||
setlatitude(result.data.latitude);
|
||||
setlongitude(result.data.longitude);
|
||||
setIPv4(result.data.IPv4);
|
||||
setstate(result.data.state);
|
||||
setuserIp(result.data.IPv4);
|
||||
|
||||
}
|
||||
fetchData();
|
||||
Display();
|
||||
// Display_article_comment();
|
||||
Get_3_Articles();
|
||||
|
||||
//alert("stored_user = "+stored_user);
|
||||
if (typeof (articleId) === "undefined") {
|
||||
setaction("creation");
|
||||
} else {
|
||||
setaction("affichage");
|
||||
|
||||
}
|
||||
|
||||
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
|
||||
setuserconnected("0");
|
||||
} else {
|
||||
setuserconnected("1");
|
||||
}
|
||||
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
// setwindowWidth(window.innerWidth);
|
||||
// setwindowheight(window.innerHeight);
|
||||
|
||||
|
||||
//console.log(" articleId = " + articleId);
|
||||
}, []);
|
||||
|
||||
|
||||
|
||||
|
||||
function Display(e) {
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_help_article/";
|
||||
var form = new FormData();
|
||||
form.append("internal_url", articleId);
|
||||
form.append("token", "");
|
||||
// Ajout des info IP user
|
||||
form.append("user_ip", IPv4);
|
||||
form.append("user_country_code", country_code);
|
||||
form.append("user_country_name", country_name);
|
||||
form.append("user_city", city);
|
||||
form.append("user_postal", postal);
|
||||
form.append("user_latitude", latitude);
|
||||
form.append("user_longitude", longitude);
|
||||
form.append("user_state", state);
|
||||
|
||||
|
||||
//alert("myurl = "+myurl);
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
// console.log(" In test res.data.status = " + res.data.status);
|
||||
//console.log(" In Display iiii res.data.message = " + res.data.message);
|
||||
if (String(res.data.status) === "true") {
|
||||
setmyApiResponse("True");
|
||||
|
||||
setResult(res.data.message);
|
||||
setDetailArticleAvis(JSON.parse(res.data.message));
|
||||
|
||||
var my_avis = JSON.parse(res.data.message)
|
||||
|
||||
if (my_avis && my_avis.display_header_img && String(my_avis.display_header_img) === "0") {
|
||||
setdisplay_header_img("0")
|
||||
}
|
||||
fetchData();
|
||||
Display();
|
||||
// Display_article_comment();
|
||||
Get_3_Articles();
|
||||
|
||||
//alert("stored_user = "+stored_user);
|
||||
if (typeof (articleId) === "undefined") {
|
||||
setaction("creation");
|
||||
if (my_avis && my_avis.title_formation) {
|
||||
setpagecanoniktitle(my_avis.title_formation);
|
||||
}
|
||||
|
||||
if (my_avis && my_avis.meta_description) {
|
||||
setpage_meta_description(my_avis.meta_description);
|
||||
} else {
|
||||
setaction("affichage");
|
||||
|
||||
setpage_meta_description(my_avis.title_formation);
|
||||
}
|
||||
|
||||
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
|
||||
setuserconnected("0");
|
||||
|
||||
if (my_avis && my_avis.internal_url) {
|
||||
setpagecanonikurl(my_avis.internal_url);
|
||||
|
||||
console.log(process.env.REACT_APP_BASE_URL + "/" + my_avis.internal_url);
|
||||
}
|
||||
|
||||
|
||||
if (my_avis && my_avis.img_path && String(my_avis.img_path).length > 10) {
|
||||
setarticle_img(my_avis.img_path);
|
||||
} else {
|
||||
setuserconnected("1");
|
||||
setarticle_img(img_met_digital);
|
||||
}
|
||||
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
// setwindowWidth(window.innerWidth);
|
||||
// setwindowheight(window.innerHeight);
|
||||
|
||||
if (my_avis && my_avis.video_path && String(my_avis.video_path).length > 5) {
|
||||
setarticle_video(my_avis.video_path);
|
||||
} else {
|
||||
setarticle_video("");
|
||||
}
|
||||
|
||||
if (my_avis && my_avis.a_retenir && String(my_avis.a_retenir).length > 10) {
|
||||
setarticle_tex_a_retenir(my_avis.a_retenir);
|
||||
} else {
|
||||
setarticle_tex_a_retenir("");
|
||||
}
|
||||
|
||||
// console.log(" ### my_avis.display_header_img = ", my_avis.display_header_img);
|
||||
}
|
||||
else {
|
||||
//console.log(" In Erreur res.data.status = " + res.data.status);
|
||||
//console.log(" In Erreur res.data.message = " + res.data.message);
|
||||
setmyApiResponse("False");
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( mysearchtext = ');
|
||||
setmyApiResponse("False");
|
||||
})
|
||||
}
|
||||
|
||||
const [Get_3_Articles_api, setGet_3_Articles_api] = useState();
|
||||
const [Get_3_Articles_result, setGet_3_Articles_result] = useState([]);
|
||||
function Get_3_Articles(e) {
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_last_3_help_article/";
|
||||
var form = new FormData();
|
||||
form.append("internal_url", articleId);
|
||||
form.append("token", "");
|
||||
// Ajout des info IP user
|
||||
form.append("user_ip", IPv4);
|
||||
form.append("user_country_code", country_code);
|
||||
form.append("user_country_name", country_name);
|
||||
form.append("user_city", city);
|
||||
form.append("user_postal", postal);
|
||||
form.append("user_latitude", latitude);
|
||||
form.append("user_longitude", longitude);
|
||||
form.append("user_state", state);
|
||||
|
||||
|
||||
//console.log(" articleId = " + articleId);
|
||||
}, []);
|
||||
// console.log("#### form = ", form);
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Get_3_Articles res.data.status = " + res.data.status);
|
||||
//console.log(" In Get_3_Articles res.data.message = " + res.data.message);
|
||||
|
||||
if (String(res.data.status) === "true") {
|
||||
|
||||
setGet_3_Articles_result(res.data.message);
|
||||
|
||||
}
|
||||
else {
|
||||
//console.log(" In Erreur res.data.status = " + res.data.status);
|
||||
//console.log(" In Erreur res.data.message = " + res.data.message);
|
||||
setGet_3_Articles_result([]);
|
||||
setGet_3_Articles_api("False");
|
||||
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( mysearchtext = ');
|
||||
setGet_3_Articles_api("False");
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const [display_alert_mysy, setdisplay_alert_mysy] = useState("");
|
||||
const [alert_message, setalert_message] = useState("");
|
||||
const [alert_type, setalert_type] = useState("");
|
||||
|
||||
function clear_alert_message() {
|
||||
setalert_message("");
|
||||
}
|
||||
function clear_alert_type() {
|
||||
setalert_type("");
|
||||
}
|
||||
|
||||
function clear_display_alert_mysy() {
|
||||
setdisplay_alert_mysy("");
|
||||
}
|
||||
|
||||
const relatedArticles = [
|
||||
{
|
||||
id: 1,
|
||||
title: "Optimiser le suivi qualité de vos actions de formation",
|
||||
excerpt:
|
||||
"Centralisez vos justificatifs, structurez vos preuves et gagnez en sérénité sur le suivi opérationnel.",
|
||||
image:
|
||||
"https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?auto=format&fit=crop&w=1400&q=80",
|
||||
category: "Qualité",
|
||||
date: "23 nov. 2024",
|
||||
readTime: "6 min",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Dossier apprenant : les bonnes pratiques pour éviter les oublis",
|
||||
excerpt:
|
||||
"Les réflexes à mettre en place pour fiabiliser vos pièces, évaluations, attestations et documents clés.",
|
||||
image:
|
||||
"https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1400&q=80",
|
||||
category: "Conformité",
|
||||
date: "20 nov. 2024",
|
||||
readTime: "4 min",
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Automatiser les relances sans dégrader l’expérience utilisateur",
|
||||
excerpt:
|
||||
"Des relances mieux pensées, mieux ciblées, et beaucoup moins bricolées entre trois outils et deux cafés.",
|
||||
image:
|
||||
"https://images.unsplash.com/photo-1521791136064-7986c2920216?auto=format&fit=crop&w=1400&q=80",
|
||||
category: "Automatisation",
|
||||
date: "18 nov. 2024",
|
||||
readTime: "4 min",
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="new_s_article_detail_2025">
|
||||
|
||||
{/*** Affichage des messages d'alerte*/}
|
||||
{display_alert_mysy && String(display_alert_mysy) === "1" &&
|
||||
<Module_Alert_Confirmation alert_message={alert_message}
|
||||
alert_type={alert_type}
|
||||
clear_alert_message={clear_alert_message}
|
||||
clear_alert_type={clear_alert_type}
|
||||
clear_display_alert_mysy={clear_display_alert_mysy}
|
||||
/>
|
||||
}
|
||||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
<Helmet>
|
||||
<title>{`${pagecanoniktitle}`}</title>
|
||||
<meta name="title" content={`${pagecanoniktitle}`} />
|
||||
<meta name="description" content={`${page_meta_description}`} />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link rel="canonical" href={window.location.href} />
|
||||
|
||||
</Helmet>
|
||||
|
||||
{(!display_header_img || String(display_header_img) === "0") && <div className="head_background_without_img_displayed">
|
||||
|
||||
</div>}
|
||||
|
||||
{display_header_img && String(display_header_img) !== "0" && <div className="head_background_with_img_displayed">
|
||||
|
||||
</div>}
|
||||
|
||||
<main>
|
||||
<section className="article-hero">
|
||||
<div className="elyos-container article-hero__inner">
|
||||
<a href="/elyos-support" className="back-link">
|
||||
← Retour au support
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<h1> {DetailArticleAvis.title_formation}</h1>
|
||||
|
||||
function Display(e) {
|
||||
<div className="article-meta">
|
||||
<span>Publié {(String(DetailArticleAvis.date_avis)).substring(0, 16)}</span>
|
||||
<span>•</span>
|
||||
<span>Administratif</span>
|
||||
</div>
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_articles_avis/";
|
||||
var form = new FormData();
|
||||
form.append("internal_url", articleId);
|
||||
form.append("token", "");
|
||||
// Ajout des info IP user
|
||||
form.append("user_ip", IPv4);
|
||||
form.append("user_country_code", country_code);
|
||||
form.append("user_country_name", country_name);
|
||||
form.append("user_city", city);
|
||||
form.append("user_postal", postal);
|
||||
form.append("user_latitude", latitude);
|
||||
form.append("user_longitude", longitude);
|
||||
form.append("user_state", state);
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="article-main-section">
|
||||
<div className="elyos-container article-center-layout">
|
||||
<article className="article-content-card">
|
||||
<section className="article-section" style={{ textAlign: 'left' }}>
|
||||
|
||||
{DetailArticleAvis && DetailArticleAvis.avis && <> {parse(DetailArticleAvis.avis)} </>}
|
||||
|
||||
{article_tex_a_retenir && article_tex_a_retenir.length > 10 &&
|
||||
<div className="article-callout article-callout--info">
|
||||
<strong>À retenir :</strong> {article_tex_a_retenir}
|
||||
</div>}
|
||||
</section>
|
||||
|
||||
{article_video && article_video.length > 5 && <section className="article-section">
|
||||
<div className="article-video-inline">
|
||||
|
||||
|
||||
//alert("myurl = "+myurl);
|
||||
<div className="video-placeholder">
|
||||
<video width="750" height="500" controls >
|
||||
<source src={article_video} type="video/mp4" />
|
||||
</video>
|
||||
</div>
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
// console.log(" In test res.data.status = " + res.data.status);
|
||||
//console.log(" In Display iiii res.data.message = " + res.data.message);
|
||||
if (String(res.data.status) === "true") {
|
||||
setmyApiResponse("True");
|
||||
|
||||
setResult(res.data.message);
|
||||
setDetailArticleAvis(JSON.parse(res.data.message));
|
||||
|
||||
var my_avis = JSON.parse(res.data.message)
|
||||
|
||||
if (my_avis && my_avis.display_header_img && String(my_avis.display_header_img) === "0") {
|
||||
setdisplay_header_img("0")
|
||||
}
|
||||
|
||||
if (my_avis && my_avis.title_formation) {
|
||||
setpagecanoniktitle(my_avis.title_formation);
|
||||
}
|
||||
|
||||
if (my_avis && my_avis.meta_description) {
|
||||
setpage_meta_description(my_avis.meta_description);
|
||||
} else {
|
||||
setpage_meta_description(my_avis.title_formation);
|
||||
}
|
||||
<div className="video-card__footer">
|
||||
<small>Elyos By MTT</small>
|
||||
</div>
|
||||
</div>
|
||||
</section>}
|
||||
|
||||
|
||||
if (my_avis && my_avis.internal_url) {
|
||||
setpagecanonikurl(my_avis.internal_url);
|
||||
</article>
|
||||
|
||||
console.log(process.env.REACT_APP_BASE_URL + "/" + my_avis.internal_url);
|
||||
}
|
||||
|
||||
|
||||
if (my_avis && my_avis.img_path && String(my_avis.img_path).length > 10) {
|
||||
setarticle_img(my_avis.img_path);
|
||||
} else {
|
||||
setarticle_img(img_met_digital);
|
||||
}
|
||||
|
||||
// console.log(" ### my_avis.display_header_img = ", my_avis.display_header_img);
|
||||
}
|
||||
else {
|
||||
//console.log(" In Erreur res.data.status = " + res.data.status);
|
||||
//console.log(" In Erreur res.data.message = " + res.data.message);
|
||||
setmyApiResponse("False");
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( mysearchtext = ');
|
||||
setmyApiResponse("False");
|
||||
})
|
||||
}
|
||||
|
||||
const [Get_3_Articles_api, setGet_3_Articles_api] = useState();
|
||||
const [Get_3_Articles_result, setGet_3_Articles_result] = useState([]);
|
||||
function Get_3_Articles(e) {
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_last_3_articles/";
|
||||
var form = new FormData();
|
||||
form.append("internal_url", articleId);
|
||||
form.append("token", "");
|
||||
// Ajout des info IP user
|
||||
form.append("user_ip", IPv4);
|
||||
form.append("user_country_code", country_code);
|
||||
form.append("user_country_name", country_name);
|
||||
form.append("user_city", city);
|
||||
form.append("user_postal", postal);
|
||||
form.append("user_latitude", latitude);
|
||||
form.append("user_longitude", longitude);
|
||||
form.append("user_state", state);
|
||||
|
||||
|
||||
// console.log("#### form = ", form);
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Get_3_Articles res.data.status = " + res.data.status);
|
||||
//console.log(" In Get_3_Articles res.data.message = " + res.data.message);
|
||||
|
||||
if (String(res.data.status) === "true") {
|
||||
|
||||
setGet_3_Articles_result(res.data.message);
|
||||
|
||||
}
|
||||
else {
|
||||
//console.log(" In Erreur res.data.status = " + res.data.status);
|
||||
//console.log(" In Erreur res.data.message = " + res.data.message);
|
||||
setGet_3_Articles_result([]);
|
||||
setGet_3_Articles_api("False");
|
||||
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( mysearchtext = ');
|
||||
setGet_3_Articles_api("False");
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const [display_alert_mysy, setdisplay_alert_mysy] = useState("");
|
||||
const [alert_message, setalert_message] = useState("");
|
||||
const [alert_type, setalert_type] = useState("");
|
||||
|
||||
function clear_alert_message() {
|
||||
setalert_message("");
|
||||
}
|
||||
function clear_alert_type() {
|
||||
setalert_type("");
|
||||
}
|
||||
|
||||
function clear_display_alert_mysy() {
|
||||
setdisplay_alert_mysy("");
|
||||
}
|
||||
|
||||
const relatedArticles = [
|
||||
{
|
||||
id: 1,
|
||||
title: "Optimiser le suivi qualité de vos actions de formation",
|
||||
excerpt:
|
||||
"Centralisez vos justificatifs, structurez vos preuves et gagnez en sérénité sur le suivi opérationnel.",
|
||||
image:
|
||||
"https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?auto=format&fit=crop&w=1400&q=80",
|
||||
category: "Qualité",
|
||||
date: "23 nov. 2024",
|
||||
readTime: "6 min",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Dossier apprenant : les bonnes pratiques pour éviter les oublis",
|
||||
excerpt:
|
||||
"Les réflexes à mettre en place pour fiabiliser vos pièces, évaluations, attestations et documents clés.",
|
||||
image:
|
||||
"https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1400&q=80",
|
||||
category: "Conformité",
|
||||
date: "20 nov. 2024",
|
||||
readTime: "4 min",
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Automatiser les relances sans dégrader l’expérience utilisateur",
|
||||
excerpt:
|
||||
"Des relances mieux pensées, mieux ciblées, et beaucoup moins bricolées entre trois outils et deux cafés.",
|
||||
image:
|
||||
"https://images.unsplash.com/photo-1521791136064-7986c2920216?auto=format&fit=crop&w=1400&q=80",
|
||||
category: "Automatisation",
|
||||
date: "18 nov. 2024",
|
||||
readTime: "4 min",
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="new_s_article_detail_2025">
|
||||
|
||||
{/*** Affichage des messages d'alerte*/}
|
||||
{display_alert_mysy && String(display_alert_mysy) === "1" &&
|
||||
<Module_Alert_Confirmation alert_message={alert_message}
|
||||
alert_type={alert_type}
|
||||
clear_alert_message={clear_alert_message}
|
||||
clear_alert_type={clear_alert_type}
|
||||
clear_display_alert_mysy={clear_display_alert_mysy}
|
||||
/>
|
||||
}
|
||||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
<Helmet>
|
||||
<title>{`${pagecanoniktitle}`}</title>
|
||||
<meta name="title" content={`${pagecanoniktitle}`} />
|
||||
<meta name="description" content={`${page_meta_description}`} />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link rel="canonical" href={window.location.href} />
|
||||
|
||||
</Helmet>
|
||||
|
||||
{(!display_header_img || String(display_header_img) === "0") && <div className="head_background_without_img_displayed">
|
||||
|
||||
</div>}
|
||||
|
||||
{display_header_img && String(display_header_img) !== "0" && <div className="head_background_with_img_displayed">
|
||||
|
||||
</div>}
|
||||
|
||||
<main>
|
||||
<section className="article-hero">
|
||||
<div className="elyos-container article-hero__inner">
|
||||
<a href="/" className="back-link">
|
||||
← Retour au support
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<h1> {DetailArticleAvis.title_formation}</h1>
|
||||
|
||||
<div className="article-meta">
|
||||
<span>Publié {(String(DetailArticleAvis.date_avis)).substring(0, 16)}</span>
|
||||
<span>•</span>
|
||||
<span>Lecture 6 min</span>
|
||||
<span>•</span>
|
||||
<span>Administratif</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="article-main-section">
|
||||
<div className="elyos-container article-center-layout">
|
||||
<article className="article-content-card">
|
||||
<section className="article-section" style={{textAlign:'left'}}>
|
||||
|
||||
{DetailArticleAvis && DetailArticleAvis.avis &&<> {parse(DetailArticleAvis.avis)} </>}
|
||||
|
||||
<div className="article-callout article-callout--info">
|
||||
<strong>À retenir :</strong> la signature électronique ne sert
|
||||
pas seulement à signer plus vite. Elle sert surtout à signer
|
||||
plus proprement, avec plus de sécurité et moins de friction
|
||||
dans les parcours administratifs.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="article-section">
|
||||
<div className="article-video-inline">
|
||||
|
||||
|
||||
<div className="video-placeholder">
|
||||
{false ? (
|
||||
<iframe
|
||||
src={article_img}
|
||||
title="Vidéo explicative"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
/>
|
||||
) : (
|
||||
<>
|
||||
<div className="video-placeholder__play">▶</div>
|
||||
<div className="video-placeholder__text">
|
||||
Zone vidéo
|
||||
<span>Iframe YouTube, Vimeo ou lecteur interne</span>
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="video-card__footer">
|
||||
<small>Format recommandé : 16:9</small>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
{/*<div className="support-section-title">
|
||||
{/*<div className="support-section-title">
|
||||
<div>
|
||||
<span className="support-section-title__eyebrow">
|
||||
Ressources complémentaires
|
||||
|
|
@ -431,7 +430,7 @@ function New_C_Article_Help_2025() {
|
|||
</a>
|
||||
</div>*/}
|
||||
|
||||
{/*<div className="article-grid-premium">
|
||||
{/*<div className="article-grid-premium">
|
||||
{relatedArticles.map((article) => (
|
||||
<article className="article-card-premium" key={article.id}>
|
||||
<div className="article-card-premium__image-wrap">
|
||||
|
|
@ -458,13 +457,13 @@ function New_C_Article_Help_2025() {
|
|||
</article>
|
||||
))}
|
||||
</div>*/}
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
|
||||
|
||||
{/*<>
|
||||
{/*<>
|
||||
<div style={{ width: '100%', float: 'left' }}>
|
||||
|
||||
|
||||
|
|
@ -615,9 +614,9 @@ function New_C_Article_Help_2025() {
|
|||
</div>
|
||||
</>*/}
|
||||
|
||||
<style>{local_css}</style>
|
||||
</div>
|
||||
);
|
||||
<style>{local_css}</style>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default New_C_Article_Help_2025;
|
||||
|
|
|
|||
|
|
@ -164,7 +164,10 @@ import {
|
|||
HelpCircle,
|
||||
Settings,
|
||||
LogOut,
|
||||
chevronsRight
|
||||
chevronsRight,
|
||||
ShoppingBasket,
|
||||
HandCoins,
|
||||
WalletCards
|
||||
} from "lucide-react";
|
||||
|
||||
import { Presentation, CalendarDays } from "lucide-react";
|
||||
|
|
@ -289,14 +292,15 @@ const menuData_Full = [
|
|||
label: "Factures", name: "Factures", icon: CreditCard, items_color: "#dbff75",
|
||||
hasChildren: true,
|
||||
children: [
|
||||
{ label: "Devis", name: "Devis", icon: BookOpen, items_color: "#dbff75", },
|
||||
{ label: "Factures & Avoirs", name: "Factures & Avoirs", icon: GraduationCap, items_color: "#dbff75" },
|
||||
{ label: "Devis", name: "Devis", icon: WalletCards , items_color: "#dbff75", },
|
||||
{ label: "Factures & Avoirs", name: "Factures & Avoirs", icon: HandCoins , items_color: "#dbff75" },
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
{ label: "Prix Achat", name: "Prix Achat", icon: Tag, items_color: "#dbff75" },
|
||||
{ label: "Produits & serv.", name: "Produits & serv.", icon: Package, items_color: "#dbff75" },
|
||||
{ label: "Opportunités", name: "Opportunités", icon: ShoppingBasket , items_color: "#dbff75" },
|
||||
],
|
||||
},
|
||||
|
||||
|
|
@ -442,14 +446,15 @@ const menuData_Ftion_Initiale = [
|
|||
label: "Factures", name: "Factures", icon: CreditCard, items_color: "#dbff75",
|
||||
hasChildren: true,
|
||||
children: [
|
||||
{ label: "Devis", name: "Devis", icon: BookOpen, items_color: "#dbff75", },
|
||||
{ label: "Factures & Avoirs", name: "Factures & Avoirs", icon: GraduationCap, items_color: "#dbff75" },
|
||||
{ label: "Devis", name: "Devis", icon: WalletCards , items_color: "#dbff75", },
|
||||
{ label: "Factures & Avoirs", name: "Factures & Avoirs", icon: HandCoins , items_color: "#dbff75" },
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
{ label: "Prix Achat", name: "Prix Achat", icon: Tag, items_color: "#dbff75" },
|
||||
{ label: "Produits & serv.", name: "Produits & serv.", icon: Package, items_color: "#dbff75" },
|
||||
{ label: "Opportunités", name: "Opportunités", icon: ShoppingBasket , items_color: "#dbff75" },
|
||||
],
|
||||
},
|
||||
|
||||
|
|
@ -583,14 +588,15 @@ const menuData_Ftion_Continue = [
|
|||
label: "Factures", name: "Factures", icon: CreditCard, items_color: "#dbff75",
|
||||
hasChildren: true,
|
||||
children: [
|
||||
{ label: "Devis", name: "Devis", icon: BookOpen, items_color: "#dbff75", },
|
||||
{ label: "Factures & Avoirs", name: "Factures & Avoirs", icon: GraduationCap, items_color: "#dbff75" },
|
||||
{ label: "Devis", name: "Devis", icon: WalletCards , items_color: "#dbff75", },
|
||||
{ label: "Factures & Avoirs", name: "Factures & Avoirs", icon: HandCoins , items_color: "#dbff75" },
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
{ label: "Prix Achat", name: "Prix Achat", icon: Tag, items_color: "#dbff75" },
|
||||
{ label: "Produits & serv.", name: "Produits & serv.", icon: Package, items_color: "#dbff75" },
|
||||
{ label: "Opportunités", name: "Opportunités", icon: ShoppingBasket , items_color: "#dbff75" },
|
||||
],
|
||||
},
|
||||
|
||||
|
|
@ -695,7 +701,9 @@ const Partner = (props) => {
|
|||
// Update_Connexion_Context("mysy_last_menu_visited", String(local_menu));
|
||||
} else if (local_menu.toLocaleLowerCase() === "Produits & serv.".toLocaleLowerCase()) {
|
||||
DiplayPartner_Produits_Services();
|
||||
} else if (local_menu.toLocaleLowerCase() === "Sessions".toLocaleLowerCase()) {
|
||||
} else if (local_menu.toLocaleLowerCase() === "Opportunités".toLocaleLowerCase()) {
|
||||
Display_mes_opportunites_func();
|
||||
}else if (local_menu.toLocaleLowerCase() === "Sessions".toLocaleLowerCase()) {
|
||||
DiplaySessionList();
|
||||
// Update_Connexion_Context("mysy_last_menu_visited", String(local_menu));
|
||||
} else if (local_menu.toLocaleLowerCase() === "Promotions".toLocaleLowerCase()) {
|
||||
|
|
@ -4598,7 +4606,7 @@ const Partner = (props) => {
|
|||
<div>
|
||||
<hr className="my_hr" />
|
||||
<Tooltip className="tooltip_css" id="tooltip_id_16aa" />
|
||||
<a data-tooltip-id="tooltip_id_16aa" data-tooltip-html="EQUIPEz">
|
||||
<a data-tooltip-id="tooltip_id_16aa" data-tooltip-html="EQUIPE">
|
||||
|
||||
{String(menu) !== "equipe_team" && <Menu className="sousmenu" onClick={equipe_team_func} > <Diversity3Icon className="icone_menu" style={{ color: '#dbff75' }} /> </Menu>}
|
||||
{String(menu) === "equipe_team" && <Menu className="sousmenu_selected" onClick={equipe_team_func} > <Diversity3Icon className="icone_menu" style={{ color: '#dbff75' }} /> </Menu>}
|
||||
|
|
|
|||
|
|
@ -195,7 +195,7 @@ const RechercheArticles_new_v2 = (props) => {
|
|||
document.getElementById("SearchText").disabled = true;
|
||||
else
|
||||
document.getElementById("SearchText").disabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const [get_all_articles_avis_api, setget_all_articles_avis_api] = useState();
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ import { FcInfo } from "react-icons/fc";
|
|||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
import Checkbox from '@mui/material/Checkbox';
|
||||
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
|
||||
import { FcPlus } from "react-icons/fc";
|
||||
import Autocomplete from '@mui/material/Autocomplete';
|
||||
|
|
@ -52,6 +52,7 @@ import { IconButton } from '@material-ui/core';
|
|||
import { makeStyles } from "@material-ui/core/styles";
|
||||
import Paper from '@material-ui/core/Paper';
|
||||
import Draggable from 'react-draggable';
|
||||
import { ResetTvRounded } from "@mui/icons-material";
|
||||
|
||||
|
||||
|
||||
|
|
@ -259,6 +260,94 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [Recherche_Article_Help_api, setRecherche_Article_Help_api] = useState();
|
||||
const [Recherche_Article_Help_message, setRecherche_Article_Help_message] = useState();
|
||||
const [Recherche_Article_Help_result, setRecherche_Article_Help_result] = useState([]);
|
||||
function Recherche_Article_Help(e) {
|
||||
|
||||
var search_text = ""
|
||||
if (document.getElementById("SearchText")) {
|
||||
search_text = document.getElementById("SearchText").value;
|
||||
}
|
||||
|
||||
|
||||
|
||||
var token = "";
|
||||
if (typeof (stored_user) != "undefined") {
|
||||
token = stored_user
|
||||
}
|
||||
|
||||
|
||||
var form = new FormData();
|
||||
form.append("search_text", search_text);
|
||||
form.append("token", token);
|
||||
// Ajout des info IP user
|
||||
form.append("user_ip", IPv4);
|
||||
form.append("user_country_code", country_code);
|
||||
form.append("user_country_name", country_name);
|
||||
form.append("user_city", city);
|
||||
form.append("user_postal", postal);
|
||||
form.append("user_latitude", latitude);
|
||||
form.append("user_longitude", longitude);
|
||||
form.append("user_state", state);
|
||||
|
||||
|
||||
var myurl = ""
|
||||
|
||||
myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_help_article/";
|
||||
|
||||
if (search_text.length <= 5) {
|
||||
myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_published_help_article/";
|
||||
}
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
if (String(res.data.status) != String("false")) {
|
||||
//console.log(" In Recherche_Article_Help res.data.status = " + res.data.status);
|
||||
//console.log(" In Recherche_Article_Help res.data.message = " + res.data.message);
|
||||
setRecherche_Article_Help_api(res.data.status);
|
||||
setRecherche_Article_Help_result(res.data.message);
|
||||
setmyApiResponse("True");
|
||||
setResult(res.data.message);
|
||||
|
||||
var new_data2 = [];
|
||||
const new_data = res.data.message.map((x) => {
|
||||
|
||||
//---
|
||||
var video_path = JSON.parse(x).video_path;
|
||||
var img_path = JSON.parse(x).img_path;
|
||||
if ((video_path && video_path.length > 10) ||
|
||||
(img_path && img_path.length > 10)
|
||||
) {
|
||||
new_data2.push(x)
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (new_data2.length > 0)
|
||||
setNew_get_all_published_articles_avis_result_With_Image_Or_Video(new_data2);
|
||||
else
|
||||
setNew_get_all_published_articles_avis_result_With_Image_Or_Video([]);
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
//console.log(" In test res.data.status = " + res.data.status);
|
||||
//console.log(" In test res.data.message = " + res.data.message);
|
||||
setmyApiResponse("False");
|
||||
setRecherche_Article_Help_api(res.data.status);
|
||||
setRecherche_Article_Help_message(res.data.message);
|
||||
//setmyApimyApiMessage("")
|
||||
}
|
||||
|
||||
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( mysearchtext = ');
|
||||
setmyApiResponse("False");
|
||||
setRecherche_Article_Help_api("False");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
||||
const [New_get_all_published_articles_avis_result_With_Image_Or_Video, setNew_get_all_published_articles_avis_result_With_Image_Or_Video] = useState([]);
|
||||
|
||||
const [get_all_published_articles_avis_api, setget_all_published_articles_avis_api] = useState();
|
||||
|
|
@ -767,6 +856,7 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
setfield_texte_avis("");
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
function clear_article_avis_fields() {
|
||||
|
|
@ -780,6 +870,9 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
setarticle_avis_display_header_img(false);
|
||||
setarticle_avis_meta_description("");
|
||||
setfield_texte_avis("");
|
||||
setarticle_avis_a_retenir("");
|
||||
setarticle_avis_video_path("");
|
||||
|
||||
}
|
||||
|
||||
const [article_avis_date_publication, setarticle_avis_date_publication] = useState(new Date().toLocaleDateString('fr-FR'));
|
||||
|
|
@ -795,6 +888,8 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
const [article_avis_meta_description, setarticle_avis_meta_description] = React.useState("");
|
||||
const [article_avis_video_path, setarticle_avis_video_path] = React.useState("");
|
||||
|
||||
const [article_avis_a_retenir, setarticle_avis_a_retenir] = React.useState("");
|
||||
|
||||
function Add_Update_Article_Avis(e) {
|
||||
|
||||
clear_message();
|
||||
|
|
@ -848,6 +943,10 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
form.append("user_longitude", longitude);
|
||||
form.append("user_state", state);
|
||||
|
||||
|
||||
form.append("video_path", article_avis_video_path);
|
||||
form.append("img_path", article_avis_img_path);
|
||||
|
||||
// Si une balise meta description n'est pas fourni, alors on lui donne le titre
|
||||
var local_meta_description = "";
|
||||
if (article_avis_meta_description) {
|
||||
|
|
@ -858,19 +957,38 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
form.append("meta_description", local_meta_description);
|
||||
|
||||
|
||||
var local_a_retenir = "";
|
||||
if (article_avis_a_retenir) {
|
||||
local_a_retenir = String(article_avis_a_retenir).trim().toLocaleLowerCase().substring(0, 1000);
|
||||
} else {
|
||||
local_a_retenir = String(article_avis_a_retenir).trim().toLocaleLowerCase().substring(0, 1000);
|
||||
}
|
||||
form.append("a_retenir", local_a_retenir);
|
||||
|
||||
|
||||
// console.log(" ## form = ", form);
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/add_help_article/";
|
||||
var myurl = "";
|
||||
if (selected_article_id && selected_article_id.length > 5) {
|
||||
form.append("_id", selected_article_id);
|
||||
|
||||
myurl = process.env.REACT_APP_API_URL + "myclass/api/update_help_article/";
|
||||
} else {
|
||||
myurl = process.env.REACT_APP_API_URL + "myclass/api/add_help_article/";
|
||||
}
|
||||
|
||||
setLoading(true);
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("false")) {
|
||||
alert(res.data.message);
|
||||
//alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
else if (String(res.data.status) === String("true")) {
|
||||
alert(res.data.message);
|
||||
// alert(res.data.message);
|
||||
Dialog_article_avis_handleClose_buton();
|
||||
window.location.reload();
|
||||
|
||||
|
|
@ -881,6 +999,9 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.warn('contact-nous Not good man :( mysearchtext = ');
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Impossible de créer ou mettre à jour l'article");
|
||||
setalert_type("error");
|
||||
})
|
||||
|
||||
|
||||
|
|
@ -1362,6 +1483,12 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
setarticle_avis_meta_description("");
|
||||
}
|
||||
|
||||
if (mylocal_document.a_retenir) {
|
||||
setarticle_avis_a_retenir(mylocal_document.a_retenir);
|
||||
} else {
|
||||
setarticle_avis_a_retenir("");
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
alert(" Aucun article recuperé");
|
||||
|
|
@ -1431,10 +1558,35 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [selected_article_id, setselected_article_id] = useState("");
|
||||
|
||||
const [display_alert_mysy, setdisplay_alert_mysy] = useState("");
|
||||
const [alert_message, setalert_message] = useState("");
|
||||
const [alert_type, setalert_type] = useState("");
|
||||
|
||||
function clear_alert_message() {
|
||||
setalert_message("");
|
||||
}
|
||||
function clear_alert_type() {
|
||||
setalert_type("");
|
||||
}
|
||||
|
||||
function clear_display_alert_mysy() {
|
||||
setdisplay_alert_mysy("");
|
||||
}
|
||||
|
||||
return (
|
||||
<div style={{ width: "100%", float: "left" }}>
|
||||
|
||||
{/*** Affichage des messages d'alerte*/}
|
||||
{display_alert_mysy && String(display_alert_mysy) === "1" &&
|
||||
<Module_Alert_Confirmation alert_message={alert_message}
|
||||
alert_type={alert_type}
|
||||
clear_alert_message={clear_alert_message}
|
||||
clear_alert_type={clear_alert_type}
|
||||
clear_display_alert_mysy={clear_display_alert_mysy}
|
||||
/>
|
||||
}
|
||||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
{/*** GESTION article */}
|
||||
<Dialog
|
||||
|
|
@ -1453,6 +1605,8 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
position: 'absolute',
|
||||
top: '5rem',
|
||||
margin: "2px",
|
||||
width: '60rem',
|
||||
maxWidth: 'unset',
|
||||
},
|
||||
}}
|
||||
hideBackdrop={true}
|
||||
|
|
@ -1466,7 +1620,7 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title">Votre article </DialogTitle>
|
||||
<DialogContent className="DialogContent_width DialogContent_width_session_800px" >
|
||||
<DialogContent>
|
||||
|
||||
|
||||
{String(is_data_changed) === String("1") && <div className="div_row_dialog">
|
||||
|
|
@ -1516,14 +1670,11 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
<div className="div_row" style={{ "width": "100%", }}>
|
||||
<div className="div_row_dialog" style={{ "textAlign": "left", "width": "50%", "height": "5rem", "float": "left" }}>
|
||||
|
||||
<div className="div_row_dialog">
|
||||
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '15px' }}>
|
||||
<b> Date publication </b>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="div_row_droite_dialog_session" style={{ "textAlign": 'right' }}>
|
||||
<DatePicker
|
||||
name="date_publication"
|
||||
id="date_publication"
|
||||
|
|
@ -1537,14 +1688,12 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
dateFormat="dd/MM/yyyy"
|
||||
className="disabled_style session_caract_Dialog_DatePicker"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="div_row_dialog">
|
||||
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '15px' }}>
|
||||
<b> Affiche image </b>
|
||||
</div>
|
||||
<div className="div_row_droite_dialog_session" style={{ "textAlign": 'right' }}>
|
||||
|
||||
<div className="div_row_dialog" style={{ "textAlign": "left", "width": "50%", "height": "5rem", "float": "left" }}>
|
||||
|
||||
<b> Affiche image </b>
|
||||
<Checkbox
|
||||
name="document_join_pdf"
|
||||
className="disabled_style session_caract_Dialog_DatePicker"
|
||||
|
|
@ -1556,32 +1705,47 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
|
||||
/>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className="div_row_dialog">
|
||||
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||
<b> Image Url </b>
|
||||
</div>
|
||||
<div className="div_row_dialog" >
|
||||
|
||||
<div className="div_row_dialog" >
|
||||
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||
<input
|
||||
type='text'
|
||||
name='img_url'
|
||||
id='img_url'
|
||||
disabled
|
||||
<div className="div_row" style={{ "width": "100%", }}>
|
||||
<div className="div_row_dialog" style={{ "textAlign": "left", "width": "50%", "height": "5rem", "float": "left" }}>
|
||||
Url Video
|
||||
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||
<input
|
||||
type='text'
|
||||
name='url_video'
|
||||
value={article_avis_video_path}
|
||||
onChange={(e) => {
|
||||
setarticle_avis_video_path(e.target.value);
|
||||
setis_data_changed("1");
|
||||
}}
|
||||
className='disabled_style_width_100_percent'
|
||||
|
||||
className='disabled_style_width_100_percent'
|
||||
|
||||
></input>
|
||||
</div>
|
||||
></input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="div_row_dialog" style={{ "textAlign": "left", "width": "50%", "height": "5rem", "float": "left" }}>
|
||||
Url Image
|
||||
<input
|
||||
type='text'
|
||||
name='url_image'
|
||||
value={article_avis_img_path}
|
||||
onChange={(e) => {
|
||||
setarticle_avis_img_path(e.target.value);
|
||||
setis_data_changed("1");
|
||||
}}
|
||||
className='disabled_style_width_100_percent'
|
||||
|
||||
></input>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="div_row_dialog">
|
||||
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||
<b> Image </b>
|
||||
|
|
@ -1671,6 +1835,38 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="div_row_dialog">
|
||||
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||
<b> A retenir </b>
|
||||
<div className="div_row_dialog" >
|
||||
|
||||
<TextField
|
||||
maxRows={4}
|
||||
minRows={3}
|
||||
inputProps={{ maxLength: 200 }}
|
||||
multiline
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="meta_description"
|
||||
id="meta_description"
|
||||
|
||||
fullWidth
|
||||
|
||||
value={article_avis_a_retenir}
|
||||
onChange={(e) => {
|
||||
setarticle_avis_a_retenir(e.target.value);
|
||||
setis_data_changed("1");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row_dialog">
|
||||
<div className="div_row_dialog" style={{ with: '100%', float: 'left' }}>
|
||||
<div style={{ "textAlign": 'left', with: '65%', float: 'left' }}>
|
||||
|
|
@ -1796,9 +1992,11 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
<div className="support-search-premium__icon">⌕</div>
|
||||
<input
|
||||
type="text"
|
||||
name="SearchText"
|
||||
id="SearchText"
|
||||
placeholder="Rechercher un article, une fonctionnalité, une thématique..."
|
||||
/>
|
||||
<button>Rechercher</button>
|
||||
<button onClick={Recherche_Article_Help}>Rechercher</button>
|
||||
</div>
|
||||
|
||||
<div className="support-tags">
|
||||
|
|
@ -1819,7 +2017,7 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
|
||||
|
||||
<div className="support-content-area">
|
||||
<div className="support-section-title">
|
||||
{/*<div className="support-section-title">
|
||||
<div>
|
||||
<span className="support-section-title__eyebrow">
|
||||
À la une
|
||||
|
|
@ -1875,7 +2073,7 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
// setarticle_avis_avis(props.article.avis);
|
||||
// setfield_texte_avis_initial_value(props.article.avis);
|
||||
setarticle_avis_date_publication(moment((String(article.date_avis)).substring(0, 10)).format('YYYY-MM-DD'))
|
||||
|
||||
setselected_article_id(JSON.parse(article)._id);
|
||||
Get_Partner_Article_Avis_Data(article._id);
|
||||
setedit_article("1");
|
||||
setis_data_changed("");
|
||||
|
|
@ -1946,129 +2144,32 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
|
||||
</article>
|
||||
))}
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
<div className="support-section-title support-section-title--spaced">
|
||||
<div>
|
||||
<span className="support-section-title__eyebrow">
|
||||
Ressources
|
||||
Ressources
|
||||
{connected_user_article_avis_droit_modif === "1" && <div className="div_row">
|
||||
<Button onClick={(e) => {
|
||||
var al = moment((new Date()));
|
||||
setarticle_avis_date_publication(moment(al).format('YYYY-MM-DD'));
|
||||
|
||||
|
||||
clear_article_avis_fields();
|
||||
setis_data_changed("");
|
||||
setDialog_article_avis_open(true);
|
||||
|
||||
}}
|
||||
className="bton_enreg_dialog"> Ajouter 1 article
|
||||
<FcPlus style={{ fontSize: "20px" }} />
|
||||
</Button>
|
||||
</div>}
|
||||
</span>
|
||||
<h2>Articles récents</h2>
|
||||
<h2>Tutos récents</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="article-grid-premium">
|
||||
{articles.map((article) => (
|
||||
<article className="article-card-premium" key={article.id}>
|
||||
<div className="article-card-premium__image-wrap">
|
||||
<img src={article.image} alt={article.title} />
|
||||
<span className="article-card-premium__category">
|
||||
{article.category}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className="article-card-premium__body">
|
||||
<div className="article-card-premium__meta">
|
||||
<span>{article.date}</span>
|
||||
<span>•</span>
|
||||
<span>{article.readTime}</span>
|
||||
</div>
|
||||
|
||||
<h3>{article.title}</h3>
|
||||
<p>{article.excerpt}</p>
|
||||
|
||||
<a href="/" className="article-card-premium__link">
|
||||
En savoir plus <span>→</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{connected_user_article_avis_droit_modif === "1" && <div style={{ "width": "100%", "float": "left" }} onClick={(e) => {
|
||||
e.preventDefault();
|
||||
|
||||
}}>
|
||||
<nav style={{
|
||||
"width": "40%", "float": "left", "textAlign": "left", "paddingLeft": "2px", "paddingRight": "2px",
|
||||
}}
|
||||
>
|
||||
|
||||
|
||||
<Box sx={{ '& > :not(style)': { m: 1 }, }} onClick={(e) => {
|
||||
setarticle_avis_title_formation(article.title_formation);
|
||||
// setarticle_avis_avis(props.article.avis);
|
||||
// setfield_texte_avis_initial_value(props.article.avis);
|
||||
setarticle_avis_date_publication(moment((String(article.date_avis)).substring(0, 10)).format('YYYY-MM-DD'))
|
||||
|
||||
Get_Partner_Article_Avis_Data(article._id);
|
||||
setedit_article("1");
|
||||
setis_data_changed("");
|
||||
setDialog_article_avis_open(true);
|
||||
|
||||
}}>
|
||||
<Fab size="small" color="primary" aria-label="edit" variant="extended">
|
||||
<EditIcon sx={{ pr: 1 }} />
|
||||
</Fab>
|
||||
</Box> </nav>
|
||||
|
||||
|
||||
<nav style={{ "width": "40%", "float": "right", "textAlign": "right", "paddingLeft": "2px", "paddingRight": "2px" }} >
|
||||
<Popup
|
||||
trigger={
|
||||
<Box sx={{ '& > :not(style)': { m: 1 }, }} onClick={(e) => {
|
||||
|
||||
|
||||
}}>
|
||||
<Fab size="small" color="warning" aria-label="edit" variant="extended">
|
||||
<MdDeleteForever sx={{ pr: 1 }} />
|
||||
</Fab>
|
||||
</Box>
|
||||
}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, le document 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_Article_Avis_Data(article._id);
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</nav>
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
</article>
|
||||
))}
|
||||
</div>
|
||||
|
||||
|
||||
<div className="article-grid-premium">
|
||||
|
|
@ -2085,8 +2186,7 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
<div className="article-card-premium__body">
|
||||
<div className="article-card-premium__meta">
|
||||
<span>{String(JSON.parse(article).date_avis).substring(0, 10)}</span>
|
||||
<span>•</span>
|
||||
<span>5 min</span>
|
||||
|
||||
</div>
|
||||
|
||||
<h3>{String(JSON.parse(article).title_formation).substring(0, 50)}</h3>
|
||||
|
|
@ -2116,6 +2216,7 @@ const Recherche_Help_new_v2 = (props) => {
|
|||
// setfield_texte_avis_initial_value(props.article.avis);
|
||||
setarticle_avis_date_publication(moment((String(JSON.parse(article).date_avis)).substring(0, 10)).format('YYYY-MM-DD'))
|
||||
|
||||
setselected_article_id(JSON.parse(article)._id);
|
||||
Get_Partner_Article_Avis_Data(JSON.parse(article)._id);
|
||||
setedit_article("1");
|
||||
setis_data_changed("");
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import axios from "axios";
|
|||
import { getCookie, setCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
import MoreVertIcon from '@mui/icons-material/MoreVert';
|
||||
import { AiOutlineMail } from "react-icons/ai";
|
||||
import { DataGrid, frFR } from '@mui/x-data-grid';
|
||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
|
|
@ -387,7 +388,15 @@ const Session_Admission_FI = (props) => {
|
|||
},
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
field: 'notification', headerName: 'Notif.', hide: false, Width: 100, renderCell: (params) => {
|
||||
return (
|
||||
<nav style={{width:'100%', textAlign:'center'}}>
|
||||
<AiOutlineMail />
|
||||
</nav>
|
||||
);
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "delete", headerName: 'Supprimer', disableExport: true,
|
||||
|
||||
|
|
@ -2387,7 +2396,7 @@ const Session_Admission_FI = (props) => {
|
|||
|
||||
const New_Option = [
|
||||
{ "id": "1", "label": "Notification", "value": "notification" },
|
||||
{ "id": "2", "label": "Désistement", "value": "desistement" },
|
||||
{ "id": "2", "label": "Désistement", "value": "desistement" },
|
||||
{ "id": "3", "label": "Supprimer", "value": "supprimer" },
|
||||
]
|
||||
|
||||
|
|
@ -4101,7 +4110,7 @@ const Session_Admission_FI = (props) => {
|
|||
}
|
||||
{/*** FIN Affichage des messages d'alerte*/}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Les sessions d'admission </h3>
|
||||
|
|
@ -4795,8 +4804,7 @@ const Session_Admission_FI = (props) => {
|
|||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style enable_style
|
||||
"
|
||||
className="disabled_style enable_style"
|
||||
|
||||
value={New_Getall_Admiss_Process_result.filter((data) => (data)._id === String(p_detail_process_inscription))[0].label}
|
||||
|
||||
|
|
@ -8130,13 +8138,13 @@ const Session_Admission_FI = (props) => {
|
|||
|
||||
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
<Button variant="contained" className="bton_enreg" onClick={Add_Update_Inscrit_To_Session_Admiss}> Enregistrer 2
|
||||
<Button variant="contained" className="bton_enreg" onClick={Add_Update_Inscrit_To_Session_Admiss}> Enregistrer
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
<Button variant="contained" className="bton_annule" onClick={Annuler_modif_inscrit}>Annuler 2
|
||||
<Button variant="contained" className="bton_annule" onClick={Annuler_modif_inscrit}>Annuler
|
||||
</Button>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue