recette2
cherif 2024-05-28 21:41:08 +02:00
parent 40d3405351
commit 16827de662
6 changed files with 158 additions and 193 deletions

View File

@ -14459,38 +14459,7 @@ const DisplayPartnerSession = (props) => {
{String(addOneSession) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }} >
<h5> Ajout d'une session de formation</h5>
{/*<div className="session_caract" > Choisir une formation *<br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="one_myclass_title"
id="one_myclass_title"
select
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style enable_style"
value={p_one_myclass_title}
onChange={(e) => {
setone_selected_internal_url(e.target.value);
setp_one_myclass_title(e.target.value)
Get_Class_Data(e.target.value);
}}
>
{GetCurrentPartnerClass_result &&
GetCurrentPartnerClass_result.map((myclass) => (
<MenuItem key={JSON.parse(myclass).internal_url} value={JSON.parse(myclass).internal_url} style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>
{JSON.parse(myclass).title}
</MenuItem>
))}
</TextField>
</div>*/}
<div className="session_caract" > <b>Choisir une formation </b> <br />
@ -14581,25 +14550,6 @@ const DisplayPartnerSession = (props) => {
}
/>
{/* <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="one_emplacement_session"
id="one_emplacement_session"
select
InputLabelProps={{
shrink: true,
}}
//disabled={true}
className="disabled_style"
value={p_one_location_type}
onChange={(e) => setp_one_location_type(e.target.value)}
>
<MenuItem value="intra" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Intra &nbsp;</MenuItem>
<MenuItem value="extra" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Extra &nbsp;</MenuItem>
<MenuItem value="autre" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Autre &nbsp;</MenuItem>
</TextField>*/}
</div>
@ -14629,24 +14579,7 @@ const DisplayPartnerSession = (props) => {
}
/>
{/* <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="one_is_bpf_session"
id="one_is_bpf_session"
select
InputLabelProps={{
shrink: true,
}}
//disabled={true}
className="disabled_style"
value={p_one_is_bpf}
onChange={(e) => setp_one_is_bpf(e.target.value)}
>
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Oui &nbsp;&nbsp;</MenuItem>
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Non &nbsp;</MenuItem>
</TextField>*/}
</div>
@ -14677,26 +14610,7 @@ const DisplayPartnerSession = (props) => {
}
/>
{/*<TextField
name="one_session_ondemande"
id="one_session_ondemande"
type="number"
select
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style enable_style"
value={p_one_session_ondemande}
onChange={(e) => {
setp_one_session_ondemande(e.target.value);
}}
>
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Oui &nbsp;&nbsp;</MenuItem>
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Non &nbsp;</MenuItem>
</TextField>*/}
</div>
@ -14728,22 +14642,7 @@ const DisplayPartnerSession = (props) => {
}
/>
{/* <TextField
name="session_status"
id="session_status"
select
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", max: "1", step: "1" }}
disabled={false}
className="disabled_style enable_style"
value={p_one_session_status}
onChange={(e) => setp_one_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>
@ -14777,28 +14676,7 @@ const DisplayPartnerSession = (props) => {
/>
{/*<TextField
name="session_etape"
id="session_etape"
select
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", max: "1", step: "1" }}
disabled={false}
className="disabled_style enable_style"
value={p_one_session_etape}
onChange={(e) => setp_one_session_etape(e.target.value)}
>
{Getall_Parter_OR_Default_Session_Steps_result &&
Getall_Parter_OR_Default_Session_Steps_result.map((step) => (
<MenuItem key={JSON.parse(step)._id} value={JSON.parse(step).session_step_name}
style={{ "paddingLeft": "5px", "textAlign": "left", "height": "2rem", "width": '100%' }}>
{JSON.parse(step).session_step_name}&nbsp;
</MenuItem>
))}
</TextField>*/}
</div>
<div className="session_caract">
@ -14912,24 +14790,7 @@ const DisplayPartnerSession = (props) => {
}
/>
{/*<TextField
name="one_presentiel"
id="one_presentiel"
type="number"
select
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style enable_style"
value={p_one_session_presentiel}
onChange={(e) => setp_one_session_presentiel(e.target.value)}
>
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Oui &nbsp;&nbsp;</MenuItem>
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left" }} >Non &nbsp;</MenuItem>
</TextField> */}
</div>
<div className="session_caract">A distance <br />
@ -14939,7 +14800,7 @@ const DisplayPartnerSession = (props) => {
id="one_distantiel"
className="disabled_style enable_style"
options={distaciel_tab}
value={p_one_session_presentiel_label}
value={p_one_session_distance_label}
onChange={(event, value) => {
if (value && value.value) {
setp_one_session_distance(value.value);
@ -14953,24 +14814,7 @@ const DisplayPartnerSession = (props) => {
/>
}
/>
{/*<TextField
name="one_distantiel"
id="one_distantiel"
type="number"
select
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style enable_style"
value={p_one_session_distance}
onChange={(e) => setp_one_session_distance(e.target.value)}
>
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Oui &nbsp;&nbsp;</MenuItem>
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Non &nbsp;</MenuItem>
</TextField>*/}
</div>
<div className="session_caract"> Site de Formation<br />

View File

@ -2009,6 +2009,12 @@ const DisplayPartnerStagiaires = (props) => {
function submenu_unite_enseignement() {
setsubmenu("ue");
if (selected_id) {
Get_Inscrit_List_Evaluation_Par_UE(selected_id);
Get_Inscrit_List_UE(selected_id);
}
setdisplay_detail_stagiaire();
setdisplay_detail_absence();
setdisplay_detail_historique("");
@ -2437,7 +2443,7 @@ const DisplayPartnerStagiaires = (props) => {
if (String(res.data.status) === String("true")) {
//console.log(" In Get_Inscrit_List_UE res.data.status = " + res.data.status);
//console.log(" In Get_Inscrit_List_UE res.data.message r_class = " + res.data.message);
// console.log(" In Get_Inscrit_List_UE res.data.message r_class = " + res.data.message);
setGet_Inscrit_List_UE_api("true");
setGet_Inscrit_List_UE_result(res.data.message);
@ -2488,7 +2494,21 @@ const DisplayPartnerStagiaires = (props) => {
if (new_data2.length > 0) {
setNew_Get_Inscrit_List_UE_result(new_data2);
settab_inscrit_ue_id(tab_tmp)
settab_inscrit_ue_id(tab_tmp);
if (New_Getall_Class_List_Evalution_result && New_Getall_Class_List_Evalution_result.length > 0) {
var local_defaultValue = New_Getall_Class_List_Evalution_result.filter((data) => {
if (tab_inscrit_evaluation_ue_id.includes(String(data.type_evaluation_id))) {
return data;
}
});
setinscription_list_ue_eval(local_defaultValue);
}
}
@ -2532,7 +2552,7 @@ const DisplayPartnerStagiaires = (props) => {
if (String(res.data.status) === String("true")) {
//console.log(" In Get_Inscrit_List_Evaluation_Par_UE res.data.status = " + res.data.status);
//console.log(" In Get_Inscrit_List_Evaluation_Par_UE res.data.message r_class = " + res.data.message);
console.log(" In Get_Inscrit_List_Evaluation_Par_UE res.data.message r_class = " + res.data.message);
setGet_Inscrit_List_Evaluation_Par_UE_api("true");
setGet_Inscrit_List_Evaluation_Par_UE_result(res.data.message);
@ -2587,7 +2607,21 @@ const DisplayPartnerStagiaires = (props) => {
if (new_data2.length > 0) {
setNew_Get_Inscrit_List_Evaluation_Par_UE_result(new_data2);
settab_inscrit_evaluation_ue_id(tab_tmp)
settab_inscrit_evaluation_ue_id(tab_tmp);
if (New_Get_List_UE_From_Class_Id_result && New_Get_List_UE_From_Class_Id_result.length > 0) {
var local_defaultValue = New_Get_List_UE_From_Class_Id_result.filter((data) => {
if (tab_inscrit_ue_id.includes(String(data._id))) {
return data;
}
});
setinscription_list_ue(local_defaultValue);
}
}
@ -2690,7 +2724,7 @@ const DisplayPartnerStagiaires = (props) => {
if (new_data2.length > 0) {
setNew_Get_List_UE_From_Class_Id_result(new_data2);
console.log(new_data2);
// console.log(new_data2);
}
}
else {
@ -6053,6 +6087,71 @@ const DisplayPartnerStagiaires = (props) => {
const [ueChanged, setueChanged] = useState("");
function annule_modif_UE_and_Eval() {
setueChanged("");
Get_Inscrit_List_UE(selected_id);
Get_Inscrit_List_Evaluation_Par_UE(selected_id);
}
const [inscription_list_ue, setinscription_list_ue] = useState([]);
const [inscription_list_ue_eval, setinscription_list_ue_eval] = useState([]);
const [Update_UE_and_Evaluation_api, setUpdate_UE_and_Evaluation_api] = useState();
const [Update_UE_and_Evaluation_message, setUpdate_UE_and_Evaluation_message] = useState();
const [Update_UE_and_Evaluation_result, setUpdate_UE_and_Evaluation_result] = useState([]);
function Update_UE_and_Evaluation() {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("inscription_id", selected_id);
form.append("class_id", selected_class_id);
var list_ue_json_str = JSON.stringify(inscription_list_ue);
var list_ue_evaluation_json_str = JSON.stringify(inscription_list_ue_eval)
form.append("list_eu", list_ue_json_str);
form.append("list_eu_eval", list_ue_evaluation_json_str);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_AcceptAttendeeInscription_For_Initial_Formation/";
setLoading(true);
axios.post(myurl, form).then(res => {
//console.log(" In Update_UE_and_Evaluation res.data.status = " + res.data.status);
//console.log(" In Update_UE_and_Evaluation res.data.message r_class = " + res.data.message);
setLoading(false);
if (String(res.data.status) === String("true")) {
setUpdate_UE_and_Evaluation_api("true");
setUpdate_UE_and_Evaluation_result(res.data.message);
setueChanged("");
Get_Inscrit_List_UE(selected_id);
Get_Inscrit_List_Evaluation_Par_UE(selected_id);
alert(res.data.message);
}
else {
setUpdate_UE_and_Evaluation_api("false");
setUpdate_UE_and_Evaluation_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.warn('Update_UE_and_Evaluation : Not good man :( mysearchtext = ' + error);
setUpdate_UE_and_Evaluation_api("false");
alert(" Impossible de mettre à jour les UE et Evaluation");
})
}
return (
<div className="displaypartnerstagiaire">
{isLoading && <div className="loader-container">
@ -10147,11 +10246,8 @@ const DisplayPartnerStagiaires = (props) => {
// style={{ width: 500 }}
onChange={(event, value) => {
setinscription_list_ue(value)
setueChanged("1");
console.log(" ### value = ", value);
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une UE "
@ -10183,7 +10279,13 @@ const DisplayPartnerStagiaires = (props) => {
//options={New_Getall_Partner_List_UE_result}
options={New_Getall_Class_List_Evalution_result}
defaultValue={New_Getall_Class_List_Evalution_result.filter((data) => {
if (tab_inscrit_evaluation_ue_id.includes(String(data.type_evaluation_id))) {
if (tab_inscrit_evaluation_ue_id.includes(String(data.type_evaluation_id))
il a un bug ici, je dois rajouter une condition pour prendre en compte le class_eu_id
// important : le retour de l'API pour recuperer les données en base est bon
) {
return data;
}
@ -10203,9 +10305,9 @@ const DisplayPartnerStagiaires = (props) => {
// style={{ width: 500 }}
onChange={(event, value) => {
setueChanged("1");
console.log(" ### value = ", value);
setinscription_list_ue_eval(value)
setueChanged("1");
}}
@ -10234,13 +10336,13 @@ const DisplayPartnerStagiaires = (props) => {
{ueChanged && String(ueChanged) === "1" && <div className="div_row">
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_enreg" onClick={"CreateSessionFormation"}>Enregistrer les modifications
<Button variant="contained" className="bton_enreg" onClick={Update_UE_and_Evaluation}>Enregistrer les modifications
</Button>
</div>
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
<Button variant="contained" className="bton_annule" onClick={"annuleSessionUpdate"}>Annuler les modifications
<Button variant="contained" className="bton_annule" onClick={annule_modif_UE_and_Eval}>Annuler les modifications
</Button>
</div>

View File

@ -52,7 +52,7 @@ import { BsSend } from "react-icons/bs";
import Autocomplete from '@mui/material/Autocomplete';
import { FcOpenedFolder } from "react-icons/fc";
import { gridClasses } from '@mui/x-data-grid';
import Link from '@mui/material/Link';
import Link from '@mui/material/Link';
import { PiDotsThree } from "react-icons/pi";
import Module_Editique from "./Module_Editique";
import Module_Attestation_Formation from "./Module_Attestation_Formation";

View File

@ -597,7 +597,7 @@ const Module_Session_Planification = (props) => {
}
async function actionmass_sequence_Traitement() {
setcheck_ressource_avabilities("");
setAdd_One_Sequence_Session_mass("1");
var liste_formation = GetSelectedRows_Sequence_Ids();
@ -1479,6 +1479,7 @@ const Module_Session_Planification = (props) => {
function submenu_add_one_Ressource() {
setGet_Ressource_Avabilities_avability_check("");
setcheck_ressource_avabilities("1");
setDialog_seq_ressource_1_open(true);
}
@ -1536,6 +1537,7 @@ const Module_Session_Planification = (props) => {
const Dialog_seq_ressource_1_handleClose_buton = () => {
setGet_Ressource_Avabilities_avability_check("");
setcheck_ressource_avabilities("");
setDialog_seq_ressource_1_open(false);
};
@ -2022,6 +2024,7 @@ const Module_Session_Planification = (props) => {
}
const [check_ressource_avabilities, setcheck_ressource_avabilities] = useState("");
return (
<div className="modulesessionplanification">
@ -2235,7 +2238,7 @@ const Module_Session_Planification = (props) => {
>
<DialogTitle>Ajout ressource : <font size="3"> <i>{selected_sequence_startDate} au {selected_sequence_endDate} </i> </font> </DialogTitle>
<DialogTitle>Ajout ressource {/*: <font size="3"> <i> {selected_sequence_startDate} au {selected_sequence_endDate} </i> </font> */} </DialogTitle>
<DialogContent className="DialogContent_width">
<DialogContentText>
{Dialog_seq_ressource_1_message}
@ -2253,8 +2256,8 @@ const Module_Session_Planification = (props) => {
onChange={(event, value) => {
if (value && value.value) {
setDialog_seq_ressource_1_selected_type_ressource(value.value);
}else{
} else {
setDialog_seq_ressource_1_selected_type_ressource("");
setGet_Ressource_Avabilities_avability_check("");
setDialog_seq_ressource_1_selected_ressource_id("");
@ -2284,7 +2287,12 @@ const Module_Session_Planification = (props) => {
onChange={(event, value) => {
if (value && value._id) {
setDialog_seq_ressource_1_selected_ressource_id(value._id);
Get_Ressource_Avabilities(value._id);
console.log(" ### check_ressource_avabilities = ", check_ressource_avabilities)
if (check_ressource_avabilities === "1" ) {
// On ne fait le controle de disponibilité que si on une sequence precise. pas quand c'est en masse.
Get_Ressource_Avabilities(value._id);
}
} else {
setGet_Ressource_Avabilities_avability_check("");
setDialog_seq_ressource_1_selected_ressource_id("");
@ -2294,7 +2302,7 @@ const Module_Session_Planification = (props) => {
renderInput={(params) => <TextField {...params} placeholder="Choisir une option " />
}
/>
{Get_Ressource_Avabilities_avability_check && String(Get_Ressource_Avabilities_avability_check) === "0" &&
{check_ressource_avabilities === "1" && Get_Ressource_Avabilities_avability_check && String(Get_Ressource_Avabilities_avability_check) === "0" &&
<div className="session_caract_Dialog koUpdateData">
<Tooltip className="tooltip_css" id="ressource_indispo_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="ressource_indispo_01" data-tooltip-html="Cette ressource n'est pas disponible sur ce créneau. Verifiez son agenda">
@ -2303,7 +2311,7 @@ const Module_Session_Planification = (props) => {
</div>
}
{Get_Ressource_Avabilities_avability_check && String(Get_Ressource_Avabilities_avability_check) === "1" &&
{check_ressource_avabilities === "1" && Get_Ressource_Avabilities_avability_check && String(Get_Ressource_Avabilities_avability_check) === "1" &&
<div className="session_caract_Dialog okUpdateData" >
<Tooltip className="tooltip_css" id="ressource_indispo_02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="ressource_indispo_02" data-tooltip-html="Disponible de la ressource est ok">
@ -2329,8 +2337,11 @@ const Module_Session_Planification = (props) => {
onChange={(event, value) => {
if (value && value._id) {
setDialog_seq_ressource_1_selected_ressource_id(value._id);
Get_Ressource_Avabilities(value._id);
setDialog_seq_ressource_1_selected_ressource_id(value._id);
if (check_ressource_avabilities === "1") {
// On ne fait le controle de disponibilité que si on une sequence precise. pas quand c'est en masse.
Get_Ressource_Avabilities(value._id);
}
} else {
setGet_Ressource_Avabilities_avability_check("");
@ -2342,7 +2353,7 @@ const Module_Session_Planification = (props) => {
}
/>
{Get_Ressource_Avabilities_avability_check && String(Get_Ressource_Avabilities_avability_check) === "0" &&
{check_ressource_avabilities === "1" && Get_Ressource_Avabilities_avability_check && String(Get_Ressource_Avabilities_avability_check) === "0" &&
<div className="session_caract_Dialog koUpdateData">
<Tooltip className="tooltip_css" id="ressource_indispo_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="ressource_indispo_01" data-tooltip-html="Cette ressource n'est pas disponible sur ce créneau. Verifiez son agenda">
@ -2351,7 +2362,7 @@ const Module_Session_Planification = (props) => {
</div>
}
{Get_Ressource_Avabilities_avability_check && String(Get_Ressource_Avabilities_avability_check) === "1" &&
{check_ressource_avabilities === "1" && Get_Ressource_Avabilities_avability_check && String(Get_Ressource_Avabilities_avability_check) === "1" &&
<div className="session_caract_Dialog okUpdateData" >
<Tooltip className="tooltip_css" id="ressource_indispo_02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="ressource_indispo_02" data-tooltip-html="Disponible de la ressource est ok">

View File

@ -311,7 +311,7 @@ const Partner = (props) => {
form.append("type", "partner");
axios.post(myurl, form).then(res => {
console.log(" getImage : In test res.data.status = " + res.data.status);
//console.log(" getImage : In test res.data.status = " + res.data.status);
//console.log(" getImage: res.data.message.img = " + res.data.message);
if (String(res.data.status) === "true") {

View File

@ -104,7 +104,7 @@ function UpdateAttendeeList() {
]
const [document_checked, setdocument_checked] = useState("0");
const [Getall_Client_Communication_Contact_api, setGetall_Client_Communication_Contact_api] = useState();
const [Getall_Client_Communication_Contact_message, setGetall_Client_Communication_Contact_message] = useState();
@ -123,18 +123,22 @@ function UpdateAttendeeList() {
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Client_Communication_Contact res.data.status = " + res.data.status);
//console.log(" In Getall_Client_Communication_Contact res.data.message r_class = " + res.data.message);
setGetall_Client_Communication_Contact_api("true");
setGetall_Client_Communication_Contact_result(res.data.message);
setdocument_checked("1");
}
else {
setGetall_Client_Communication_Contact_api("false");
setGetall_Client_Communication_Contact_message(res.data.message);
alert(res.data.message);
setdocument_checked("1");
}
}).catch((error) => {
@ -142,6 +146,8 @@ function UpdateAttendeeList() {
console.warn('Not good man :( Getall_Client_Communication_Contact = ', error);
setGetall_Client_Communication_Contact_api("false");
alert(" Impossible de recuperer la liste des stagiaires")
setdocument_checked("1");
//setmyApimyApiMessage("")
})
}
@ -332,6 +338,8 @@ function UpdateAttendeeList() {
}
const [Record_New_Attendee_Data_api, setRecord_New_Attendee_Data_api] = useState();
const [Record_New_Attendee_Data_message, setRecord_New_Attendee_Data_message] = useState();
const [Record_New_Attendee_Data_result, setRecord_New_Attendee_Data_result] = useState([]);
@ -584,7 +592,7 @@ function UpdateAttendeeList() {
</div>}
<div className="div_row">
{(!Getall_TrainingParticipant_result || Getall_TrainingParticipant_result.length <= 0) && <div style={{
{String(document_checked) === "1" && (!Getall_TrainingParticipant_result || Getall_TrainingParticipant_result.length <= 0) && <div style={{
height: "40vh", "width": "100%",
"background": "#F2F4F4", overflow: "auto", "paddingBottom": "1rem",
"marginTop":"5rem", "color":"red", fontWeight:'700', "fontSize":"20px"