16/11/2023 - 21h

recette2
cherif 2023-11-16 21:18:01 +01:00
parent f446859380
commit 200a14ea23
6 changed files with 3596 additions and 112 deletions

View File

@ -132,22 +132,7 @@ const DisplayPartnerSession = (props) => {
{
field: 'etape', headerName: 'Etape', hide: false, width: datagrid_columns_size_model2,
valueFormatter: (params) => {
if (String(params.value) === "0")
return "Projet";
else if (String(params.value) === "1")
return "En Planif.";
else if (String(params.value) === "2")
return "Planifiée";
else if (String(params.value) === "3")
return "Terminée";
else if (String(params.value) === "4")
return "Facturée";
else if (String(params.value) === "-1")
return "Annulée";
else
return "???";
},
},
{ field: 'class_external_code', headerName: 'Code Formation', align: "center", hideable: true, flex: 1, hide: false, },
{ field: 'date_debut', headerName: 'Debut', hide: false, width: datagrid_columns_size_model2, },
@ -917,12 +902,51 @@ const DisplayPartnerSession = (props) => {
})
}
const [Getall_Parter_OR_Default_Session_Steps_api, setGetall_Parter_OR_Default_Session_Steps_api] = useState();
const [Getall_Parter_OR_Default_Session_Steps_message, setGetall_Parter_OR_Default_Session_Steps_message] = useState();
const [Getall_Parter_OR_Default_Session_Steps_result, setGetall_Parter_OR_Default_Session_Steps_result] = useState();
function Getall_Parter_OR_Default_Session_Steps(event) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Partner_Or_Default_session_step/";
axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Parter_OR_Default_Session_Steps res.data.status = " + res.data.status);
//console.log(" In Getall_Parter_OR_Default_Session_Steps res.data.message r_class = " + res.data.message);
setGetall_Parter_OR_Default_Session_Steps_api("true");
setGetall_Parter_OR_Default_Session_Steps_result(res.data.message);
setRows(res.data.message);
}
else {
setGetall_Parter_OR_Default_Session_Steps_api("false");
setGetall_Parter_OR_Default_Session_Steps_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( Getall_Parter_OR_Default_Session_Steps = ', error);
setGetall_Parter_OR_Default_Session_Steps_api("false");
alert(" Impossible de recuperer la liste des étapes de session");
//setmyApimyApiMessage("")
})
}
useEffect(() => {
Get_Partner_Object_Specific_Fields_stagiaire();
Getall_Training_Employee_No_Filter();
Getall_Parter_OR_Default_Session_Steps();
GetCurrentPartnerClass();
Getall_TrainingSession();
GetAttestation_Certif();
@ -1002,7 +1026,7 @@ const DisplayPartnerSession = (props) => {
async function submenu_detail_session() {
setsubmenu("detail_session");
await sleep(5);
//await sleep(5);
if (!edit_session_form) {
desableSessionFields();
}
@ -1129,13 +1153,12 @@ const DisplayPartnerSession = (props) => {
const hiddenFileInput_session = React.useRef(null);
const [addOneSession, setaddOneSession] = useState();
const [addOneSession, setaddOneSession] = useState("");
function submenu_add_one_session() {
setaddOneSession("1");
setEdite_session("0");
submenu_detail_session();
setselectionModel_preinsc([]);
setSelectionModel_insc([]);
setnb_stagiaire_Preinscrit("0");
@ -1145,7 +1168,7 @@ const DisplayPartnerSession = (props) => {
// Pour les champs spécifiques
submenu_detail_session();
for (let i = 0; i < rows_champs_specifics.length; i++) {
@ -1156,12 +1179,12 @@ const DisplayPartnerSession = (props) => {
if (document.getElementsByName(String(field_name))) {
//console.log("document.getElementsByName(String(field_name)) DONNE = ",document.getElementsByName(String(field_name)) );
document.getElementsByName(String(field_name)).disabled = false;
document.getElementsByName(String(field_name)).backgroundColor = "#FFFFFF";
}
}
console.log("4");
if (document.getElementById('detail_session')) {
//myRef.current.scrollIntoView({ behavior: "smooth" });
@ -2325,6 +2348,9 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
// Pour les champs spécifiques
console.log(" #### addOneSession = ", addOneSession);
if (String(addOneSession) !== "1") {
for (let i = 0; i < rows_champs_specifics.length; i++) {
var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
@ -2333,10 +2359,12 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
var is_mandatory = JSON.parse(rows_champs_specifics[i]).is_mandatory;
if (document.getElementsByName(String(field_name))[0]) {
document.getElementsByName(String(field_name))[0].disabled = true;
document.getElementsByName(String(field_name))[0].style.backgroundColor = "#ECEFF1";
}
}
}
setfields1desabled(true);
@ -3206,18 +3234,9 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
if (mylocaltraining.session_etape) {
setp_session_etape(mylocaltraining.session_etape);
if (String(mylocaltraining.session_etape) === "0")
setp_session_etape_label("Projet");
else if (String(mylocaltraining.session_etape) === "1")
setp_session_etape_label("Planification");
else if (String(mylocaltraining.session_etape) === "2")
setp_session_etape_label("Planifiée");
else if (String(mylocaltraining.session_etape) === "3")
setp_session_etape_label("Terminée");
else if (String(mylocaltraining.session_etape) === "4")
setp_session_etape_label("Facturée");
else if (String(mylocaltraining.session_etape) === "-1")
setp_session_etape_label("Annulée");
setp_session_etape_label(mylocaltraining.session_etape);
} else {
@ -6809,12 +6828,14 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
IssessionChanged();
}}
>
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Projet &nbsp;&nbsp;</MenuItem>
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Planification &nbsp;</MenuItem>
<MenuItem value="2" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Planifiée &nbsp;</MenuItem>
<MenuItem value="3" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Terminée &nbsp;</MenuItem>
<MenuItem value="4" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Facturée &nbsp;</MenuItem>
<MenuItem value="-1" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Annulée &nbsp;</MenuItem>
{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>}
@ -6847,11 +6868,13 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
id="sessiondatedebut"
selected={SessionstartDate}
onChange={(date) => {
if (edit_session_form) {
setSessionstartDate(date);
setsessionChanged(true);
IssessionChanged();
}
}
}
showTimeSelect={false}
filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
@ -6868,11 +6891,13 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
id="sessiondatefin"
selected={SessionendDate}
onChange={(date) => {
if (edit_session_form) {
setSessionendDate(date);
setsessionChanged(true);
IssessionChanged();
}
}
}
showTimeSelect={false}
filterTime={filterPassedTime_end}
dateFormat="dd/MM/yyyy"
@ -6888,10 +6913,12 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
id="sessiondatedebutinscription"
selected={SessionstartDateInscription}
onChange={(date) => {
if (edit_session_form) {
setSessionstartDateInscription(date);
setsessionChanged(true);
IssessionChanged();
}
}
}
showTimeSelect={false}
@ -6911,11 +6938,13 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
id="sessiondatefininscription"
selected={SessionendDateInscription}
onChange={(date) => {
if (edit_session_form) {
setSessionendDateInscription(date);
setsessionChanged(true);
IssessionChanged();
}
}
}
showTimeSelect={false}
//filterTime={filterPassedTime_end}
dateFormat="dd/MM/yyyy"
@ -7503,12 +7532,14 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
value={p_one_session_etape}
onChange={(e) => setp_one_session_etape(e.target.value)}
>
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left", "width": '100%' }}>Projet &nbsp;&nbsp;</MenuItem>
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left", "width": '100%' }}>Planification &nbsp;</MenuItem>
<MenuItem value="2" style={{ "paddingLeft": "5px", "textAlign": "left", "width": '100%' }}>Planifiée &nbsp;</MenuItem>
<MenuItem value="3" style={{ "paddingLeft": "5px", "textAlign": "left", "width": '100%' }}>Terminée &nbsp;</MenuItem>
<MenuItem value="4" style={{ "paddingLeft": "5px", "textAlign": "left", "width": '100%' }}>Facturée &nbsp;</MenuItem>
<MenuItem value="-1" style={{ "paddingLeft": "5px", "textAlign": "left", "width": '100%' }}>Annulée &nbsp;</MenuItem>
{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>

View File

@ -1558,12 +1558,49 @@ function GestionAdministrative(props) {
}*/
const [Getall_Parter_OR_Default_Session_Steps_api, setGetall_Parter_OR_Default_Session_Steps_api] = useState();
const [Getall_Parter_OR_Default_Session_Steps_message, setGetall_Parter_OR_Default_Session_Steps_message] = useState();
const [Getall_Parter_OR_Default_Session_Steps_result, setGetall_Parter_OR_Default_Session_Steps_result] = useState();
function Getall_Parter_OR_Default_Session_Steps(event) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Partner_Or_Default_session_step/";
axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Parter_OR_Default_Session_Steps res.data.status = " + res.data.status);
//console.log(" In Getall_Parter_OR_Default_Session_Steps res.data.message r_class = " + res.data.message);
setGetall_Parter_OR_Default_Session_Steps_api("true");
setGetall_Parter_OR_Default_Session_Steps_result(res.data.message);
setRows(res.data.message);
}
else {
setGetall_Parter_OR_Default_Session_Steps_api("false");
setGetall_Parter_OR_Default_Session_Steps_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( Getall_Parter_OR_Default_Session_Steps = ', error);
setGetall_Parter_OR_Default_Session_Steps_api("false");
alert(" Impossible de recuperer la liste des étapes de session");
//setmyApimyApiMessage("")
})
}
useEffect(() => {
Get_Partner_Object_Specific_Fields_session();
Get_Partner_Object_Specific_Fields_stagiaire();
Getall_Parter_OR_Default_Session_Steps();
Getall_Training_Employee_No_Filter();
GetCurrentClass();
GetCurrentClass_trainingsession();
@ -1925,20 +1962,9 @@ function GestionAdministrative(props) {
if (p_session_etape) {
session_etape = p_session_etape;
setp_session_etape_label(p_session_etape);
}
if (String(session_etape) === "0")
setp_session_etape_label("Projet");
else if (String(session_etape) === "1")
setp_session_etape_label("Planification");
else if (String(session_etape) === "2")
setp_session_etape_label("Planifiée");
else if (String(session_etape) === "3")
setp_session_etape_label("Terminée");
else if (String(session_etape) === "4")
setp_session_etape_label("Facturée");
else if (String(session_etape) === "-1")
setp_session_etape_label("Annulée");
var presentiel = "0"
@ -2531,22 +2557,11 @@ function GestionAdministrative(props) {
if (mylocaltraining.session_etape) {
setp_session_etape(mylocaltraining.session_etape);
if (String(mylocaltraining.session_etape) === "0")
setp_session_etape_label("Projet");
else if (String(mylocaltraining.session_etape) === "1")
setp_session_etape_label("Planification");
else if (String(mylocaltraining.session_etape) === "2")
setp_session_etape_label("Planifiée");
else if (String(mylocaltraining.session_etape) === "3")
setp_session_etape_label("Terminée");
else if (String(mylocaltraining.session_etape) === "4")
setp_session_etape_label("Facturée");
else if (String(mylocaltraining.session_etape) === "-1")
setp_session_etape_label("Annulée");
setp_session_etape_label(mylocaltraining.session_etape);
} else {
setp_session_etape_label("Projet");
setp_session_etape("0");
setp_session_etape_label("");
setp_session_etape("");
}
@ -7028,12 +7043,14 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
IssessionChanged();
}}
>
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Projet &nbsp;&nbsp;</MenuItem>
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Planification &nbsp;</MenuItem>
<MenuItem value="2" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Planifiée &nbsp;</MenuItem>
<MenuItem value="3" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Terminée &nbsp;</MenuItem>
<MenuItem value="4" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Facturée &nbsp;</MenuItem>
<MenuItem value="-1" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Annulée &nbsp;</MenuItem>
{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>}

View File

@ -53,7 +53,7 @@ import Factures_Client from "./Partner_Facture";
import Configuration_Technique from "./Partner_Config_Technique";
import Config_Champs_Personnalise from "./Config_Champs_Personnalise";
import Module_Agenda from "./Module_Agenda";
import Partner_Configuration_Session_Steps from "./Partner_Config_Session_Steps";
import Dialog from '@mui/material/Dialog';
import DialogActions from '@mui/material/DialogActions';
@ -307,7 +307,7 @@ const Partner = (props) => {
var list_menu = ['creation', 'infopartner', 'statistique', 'abonnement', 'affichage', 'ordervalide',
'mes_sessions', 'setuplms', 'facture', 'pricing', 'mes_clients', 'mes_devis', 'mes_cmd',
'mes_stagiaires', 'mes_employes', 'mon_materiel', 'config_document', 'factures_client', "config_technique",
"config_champ_specific", "module_agenda"]
"config_champ_specific", "module_agenda", "config_session_steps"]
if (action && list_menu.includes(action)) {
@ -408,6 +408,19 @@ const Partner = (props) => {
}
}
function config_session_steps_func(event) {
var security_retval = check_user_acces_right("config_document", "read");
if (security_retval === 1) {
setmenu("config_session_steps");
setapiexcelimportmessage();
setformation_file_name();
history.push("/Partner/config_session_steps");
} else {
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion des documents");
}
}
function mes_factures_client_func(event) {
//var security_retval = check_user_acces_right("facture_client", "read");
//if (security_retval === 1) {
@ -1125,6 +1138,12 @@ const Partner = (props) => {
{String(menu) === "config_technique" && <div className="sousmenu_selected" onClick={config_technique_func}> &nbsp;&nbsp; <FcFinePrint className="icone_menu" />&nbsp;TECHNIQUE</div>}
</div>
<div>
<hr className="my_hr" />
{String(menu) !== "config_session_steps" && <div className="sousmenu" onClick={config_session_steps_func}>&nbsp;&nbsp;<FcFinePrint className="icone_menu" />&nbsp;SESSION ETAPE</div>}
{String(menu) === "config_session_steps" && <div className="sousmenu_selected" onClick={config_session_steps_func}> &nbsp;&nbsp; <FcFinePrint className="icone_menu" />&nbsp;SESSION ETAPE</div>}
</div>
<hr className="my_hr" />
</div>
@ -1392,6 +1411,14 @@ const Partner = (props) => {
</div>
}
{String(menu) === "config_session_steps" && <div className="div_droite">
<Partner_Configuration_Session_Steps />
</div>
}
{String(menu) === "config_champ_specific" && <div className="div_droite">
<Config_Champs_Personnalise />

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -84,4 +84,5 @@
@import "./components/partner_configuration_technique";
@import "./components/config_champs_personnalise";
@import "./components/module_agenda.scss";
@import "./components/partner_configuration_session_step";