From 069d10da2d47c768130b68ffdc10669f413f4fdb Mon Sep 17 00:00:00 2001 From: cherif Date: Tue, 7 May 2024 17:38:44 +0200 Subject: [PATCH] 07/05/2024 - 17h30 --- src/components/AddClassManual.js | 461 ++++- .../DisplayPartnerTrainingsPagination.js | 397 +++- src/components/Partner.js | 16 +- src/components/Partner_Config_Technique.js | 7 +- .../Partner_Domaine_Categorie_Metier.js | 1602 +++++++++++++++-- 5 files changed, 2243 insertions(+), 240 deletions(-) diff --git a/src/components/AddClassManual.js b/src/components/AddClassManual.js index 92db5e4..028b75c 100644 --- a/src/components/AddClassManual.js +++ b/src/components/AddClassManual.js @@ -717,6 +717,10 @@ const AddClassManual = (props) => { useEffect(() => { + Get_List_Domaines(); + Get_List_Metiers(); + Get_List_Categorie(); + Get_Partner_Object_Specific_Fields("myclass"); Getall_Training_Employee_No_Filter(); Get_List_Niveau_Formation(); @@ -730,8 +734,7 @@ const AddClassManual = (props) => { setfield_datelieu(""); setfield_zone_diffusion(""); setmyApiResponse(); - Get_List_Domaines(); - Get_List_Metiers(); + fillfield(); @@ -1009,7 +1012,7 @@ const AddClassManual = (props) => { //console.log(" ### mylocaltraining.domaine = ", mylocaltraining.domaine); } else - setmytrainingdomaine("-"); + setmytrainingdomaine(""); if (mylocaltraining.metier) { @@ -1017,7 +1020,15 @@ const AddClassManual = (props) => { //console.log(" ### mylocaltraining.metier = ", mylocaltraining.metier); } else - setmytrainingmetier("-"); + setmytrainingmetier(""); + + + if (mylocaltraining.categorie) { + setmytrainingcategorie(mylocaltraining.categorie); + //console.log(" ### mylocaltraining.metier = ", mylocaltraining.metier); + } + else + setmytrainingcategorie(""); @@ -1061,14 +1072,23 @@ const AddClassManual = (props) => { } document.getElementsByName("lms_class_code")[0].value = ""; + if (mylocaltraining.lms_class_code) { //document.getElementsByName("lms_class_code")[0].value = mylocaltraining.lms_class_code; - setp_detail_lms_class_code(mylocaltraining.note); + setp_detail_lms_class_code(mylocaltraining.lms_class_code); } else { setp_detail_lms_class_code(""); } + if (mylocaltraining.version) { + //document.getElementsByName("lms_class_code")[0].value = mylocaltraining.lms_class_code; + setp_detail_version_catalogue(mylocaltraining.version); + } else { + setp_detail_version_catalogue(""); + } + + document.getElementsByName("class_inscription_url")[0].value = ""; if (mylocaltraining.class_inscription_url) { //document.getElementsByName("class_inscription_url")[0].value = mylocaltraining.class_inscription_url; @@ -1212,20 +1232,22 @@ const AddClassManual = (props) => { var presentiel = mypresence; var distentiel = mydistance; var domaine = mytrainingdomaine; - if (String(domaine).trim() === "-") { - domaine = "" - } + var mypublier = mypublished; var niveau_ftion = p_class_level; var price = document.getElementsByName("price")[0].value; var duree = document.getElementsByName("duree")[0].value; var url = document.getElementsByName("url")[0].value; - var lms_class_code = document.getElementsByName("lms_class_code")[0].value; + var lms_class_code = p_detail_lms_class_code; var class_inscription_url = document.getElementsByName("class_inscription_url")[0].value; + var mymetier = mytrainingmetier; - if (String(mymetier).trim() === "-") { - mymetier = "" - } + + + var mycategorie = mytrainingcategorie; + var version = p_detail_version_catalogue; + + var mynote = document.getElementsByName("note")[0].value; var localmycpf = mycpf; var mycertif = mycertif; @@ -1424,6 +1446,9 @@ const AddClassManual = (props) => { formData.append('internal_url', displayedinternalurl); formData.append('zone_diffusion', ""); formData.append('metier', mymetier); + formData.append('categorie', mycategorie); + formData.append('version', version); + formData.append('note', mynote); formData.append('published', mypublier); @@ -1521,8 +1546,99 @@ const AddClassManual = (props) => { } + const [mytrainingcategorie, setmytrainingcategorie] = useState(""); - const [mytrainingmetier, setmytrainingmetier] = useState("-"); + const [New_Get_List_Categorie_result, setNew_Get_List_Categorie_result] = useState([]); + + const [Get_List_Categorie_api, setGet_List_Categorie_api] = useState(); + const [Get_List_Categorie_message, setGet_List_Categorie_message] = useState(); + const [Get_List_Categorie_result, setGet_List_Categorie_result] = useState(); + function Get_List_Categorie() { + 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_Class_Categorie/"; + setLoading(true); + fetch(myurl, + { + method: 'POST', + body: form, + }) + .then((data) => data.json()) + .then((data) => { + setLoading(false); + // console.log(' IN Get_List_Categorie Success:', data['message'], "data['status'] = ", data['status']); + + if (String(data['status']) === String("true")) { + setGet_List_Categorie_api("true"); + setGet_List_Categorie_result(data['message']); + + var new_data2 = []; + const new_data = data['message'].map((x) => { + + + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var local_nom = JSON.parse(x).nom; + var local_code = JSON.parse(x).code; + var local_class_domaine_id = JSON.parse(x).class_domaine_id; + var local_class_domaine_nom = JSON.parse(x).class_domaine_nom; + + + //--- + var node = { + "id": localid, + "_id": local_id, + "label": local_nom, + "nom": local_nom, + "code": local_code, + "class_domaine_id": local_class_domaine_id, + "class_domaine_nom": local_class_domaine_nom, + + }; + new_data2.push(node); + }); + + //--- + var node = { + "id": "", + "_id": "", + "label": "", + "nom": "", + "code": "", + "class_domaine_id": "", + "class_domaine_nom": "", + + }; + new_data2.push(node); + + if (new_data2.length > 0) { + setNew_Get_List_Categorie_result(new_data2); + //console.log(" ### new_data2 ", new_data2); + //console.log(" ### setNew_Get_List_Categorie_result ", New_Get_List_Categorie_result); + } else { + setNew_Get_List_Categorie_result([]); + } + + + } + else { + setGet_List_Categorie_api("false"); + setGet_List_Categorie_message(data['message']); + } + + }).catch((error) => { + setLoading(false); + console.error('Error Get_List_Categorie :', error); + setGet_List_Categorie_api("false"); + }); + + } + + + const [mytrainingmetier, setmytrainingmetier] = useState(""); const [New_Get_List_Metiers_result, setNew_Get_List_Metiers_result] = useState([]); @@ -1531,7 +1647,10 @@ const AddClassManual = (props) => { const [Get_List_Metiers_result, setGet_List_Metiers_result] = useState(); function Get_List_Metiers() { var form = new FormData(); - var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_List_all_metier_formation/"; + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_class_metier/"; setLoading(true); fetch(myurl, { @@ -1554,25 +1673,45 @@ const AddClassManual = (props) => { //--- var localid = JSON.parse(x).id; var local_id = JSON.parse(x)._id; - var local_metier = JSON.parse(x).metier; - var local_domaine = JSON.parse(x).domaine; + var local_nom = JSON.parse(x).nom; + var local_code = JSON.parse(x).code; + var local_class_domaine_id = JSON.parse(x).class_domaine_id; + var local_class_domaine_nom = JSON.parse(x).class_domaine_nom; //--- var node = { "id": localid, - "label": local_metier, - "metier": local_metier, - "domaine": local_domaine, + "_id": local_id, + "label": local_nom, + "nom": local_nom, + "code": local_code, + "class_domaine_id": local_class_domaine_id, + "class_domaine_nom": local_class_domaine_nom, }; new_data2.push(node); }); + //--- + var node = { + "id": "", + "_id": "", + "label": "", + "nom": "", + "code": "", + "class_domaine_id": "", + "class_domaine_nom": "", + + }; + new_data2.push(node); + if (new_data2.length > 0) { setNew_Get_List_Metiers_result(new_data2); //console.log(" ### new_data2 ", new_data2); //console.log(" ### setNew_Get_List_Metiers_result ", New_Get_List_Metiers_result); + } else { + setNew_Get_List_Metiers_result([]); } @@ -1601,7 +1740,7 @@ const AddClassManual = (props) => { } - const [mytrainingdomaine, setmytrainingdomaine] = useState("-"); + const [mytrainingdomaine, setmytrainingdomaine] = useState(""); const [New_Get_List_Domaines_result, setNew_Get_List_Domaines_result] = useState([]); @@ -1610,7 +1749,11 @@ const AddClassManual = (props) => { const [Get_List_Domaines_result, setGet_List_Domaines_result] = useState(); function Get_List_Domaines() { var form = new FormData(); - var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_List_domaine_formation_JSON/"; + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Class_domaine/"; fetch(myurl, { @@ -1629,25 +1772,44 @@ const AddClassManual = (props) => { const new_data = data['message'].map((x) => { //--- - var localid = x.id; - var local_domaine = x.domaine; + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var local_code = JSON.parse(x).code; + var local_nom = JSON.parse(x).nom; //--- var node = { "id": localid, - "label": local_domaine, - "domaine": local_domaine, + "_id": local_id, + "nom": local_nom, + "code": local_code, + "label": local_nom, + }; new_data2.push(node); }); - if (new_data2.length > 0) + var node = { + "id": "", + "_id": "", + "nom": "", + "code": "", + "label": "", + + + }; + new_data2.push(node); + + if (new_data2.length > 0) { setNew_Get_List_Domaines_result(new_data2); - - + // console.log(" ## new_data2 = ", new_data2); + // console.log(" ## New_Get_List_Domaines_result = ", New_Get_List_Domaines_result); + } else { + setNew_Get_List_Domaines_result([]) + } } else { setGet_List_Domaines_api("false"); @@ -2631,6 +2793,10 @@ const AddClassManual = (props) => { const [p_detail_duree, setp_detail_duree] = useState(""); const [p_detail_url, setp_detail_url] = useState(""); const [p_detail_lms_class_code, setp_detail_lms_class_code] = useState(""); + + const [p_detail_version_catalogue, setp_detail_version_catalogue] = useState(""); + + const [p_detail_class_inscription_url, setp_detail_class_inscription_url] = useState(""); const [p_detail_class_banner_img_url, setp_detail_class_banner_img_url] = useState(""); const [p_detail_note, setp_detail_note] = useState(""); @@ -2745,6 +2911,29 @@ const AddClassManual = (props) => { return new Promise(resolve => setTimeout(resolve, milliseconds)) } + + const filter_New_Get_List_Metiers_result = () => { + + var local_tab = New_Get_List_Metiers_result.filter((data) => data.class_domaine_id === String(String(mytrainingdomaine).trim())) + console.log(" ### local_tab = ", local_tab); + + local_tab.push({ + "id": "", + "_id": "", + "label": "", + "nom": "", + "code": "", + "class_domaine_id": "", + "class_domaine_nom": "", + + }) + + console.log(" ### local_tab 2 = ", local_tab); + + return local_tab; + + }; + return (
{isLoading &&
@@ -2970,7 +3159,7 @@ const AddClassManual = (props) => { {String(props.formation_initiale) !== "1" &&
- +
}
@@ -3350,9 +3539,12 @@ const AddClassManual = (props) => { if (value && value._id) { setp_formateur_id(value._id); setp_formateur_label(value.label) - DataUpdated(); + } else { + setp_formateur_id(""); + setp_formateur_label("") + DataUpdated(); } }} @@ -3383,6 +3575,10 @@ const AddClassManual = (props) => { setmycpf_label(value.label); setdatamodification("1"); + } else { + setmycpf(""); + setmycpf_label(""); + setdatamodification("1"); } }} @@ -3408,6 +3604,10 @@ const AddClassManual = (props) => { setmycertif_label(value.label); setdatamodification("1"); + } else { + setmycertif(""); + setmycertif_label(""); + setdatamodification("1"); } }} @@ -3434,6 +3634,10 @@ const AddClassManual = (props) => { setp_class_level_label(value.description) DataUpdated(); + } else { + setp_class_level(""); + setp_class_level_label("") + DataUpdated(); } }} @@ -3454,11 +3658,15 @@ const AddClassManual = (props) => { value={mypublished_label} onChange={(event, value) => { if (value && value.value) { - console.log(" value = ", value); + // console.log(" value = ", value); setmypublished(value.value); setmypublished_label(value.label); setdatamodification("1"); + } else { + setmypublished(""); + setmypublished_label(""); + setdatamodification("1"); } }} @@ -3480,12 +3688,13 @@ const AddClassManual = (props) => { value={mypresence_label} onChange={(event, value) => { if (value && value.value) { - - - setmypresence(value.value); setmypresence_label(value.label); setdatamodification("1"); + } else { + setmypresence(""); + setmypresence_label(""); + setdatamodification("1"); } }} @@ -3512,7 +3721,10 @@ const AddClassManual = (props) => { setmydistance_label(value.label); setdatamodification("1"); - + } else { + setmydistance(""); + setmydistance_label(""); + setdatamodification("1"); } }} @@ -3541,6 +3753,10 @@ const AddClassManual = (props) => { setdatamodification("1"); setmytrainingsupport_label(value.label) + } else { + setmytrainingsupport(""); + setdatamodification("1"); + setmytrainingsupport_label("") } }} @@ -3551,9 +3767,7 @@ const AddClassManual = (props) => {
- - -
+ {New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 &&
{ id="domaine" className="disabled_style" options={New_Get_List_Domaines_result} - value={mytrainingdomaine} + + value={New_Get_List_Domaines_result.filter((data) => (data)._id === String(mytrainingdomaine))[0].label} + onChange={(event, value) => { - if (value && value.domaine) { - setmytrainingdomaine(value.domaine); - setmytrainingmetier("-"); + if (value && value._id) { + setmytrainingdomaine(value._id); + setmytrainingmetier(""); + setmytrainingcategorie(""); setdatamodification("1"); } else { - setmytrainingdomaine("-"); - setmytrainingmetier("-"); + setmytrainingdomaine(""); + setmytrainingmetier(""); + setmytrainingcategorie(""); } }} @@ -3577,34 +3795,43 @@ const AddClassManual = (props) => { } /> -
- - {mytrainingdomaine && String(mytrainingdomaine).trim() !== "-" &&
- local_mymanager.domaine === String(String(mytrainingdomaine).trim()))} - value={mytrainingmetier} - onChange={(event, value) => { - - - if (value && value.metier) { - - setmytrainingmetier(value.metier); - setdatamodification("1"); - } - }} - - renderInput={(params) => - } - /> -
} - {(!mytrainingdomaine || String(mytrainingdomaine).trim().length <= 0 || String(mytrainingdomaine).trim() === "-") &&
+ + {New_Get_List_Metiers_result && New_Get_List_Metiers_result.length > 0 && mytrainingdomaine && +
+ data.class_domaine_id === String(String(mytrainingdomaine).trim()))} + + value={New_Get_List_Metiers_result.filter((data) => (data)._id === String(mytrainingmetier))[0].label} + + + onChange={(event, value) => { + + if (value && value._id) { + setmytrainingmetier(value._id); + setdatamodification("1"); + } else { + setmytrainingmetier(""); + setdatamodification("1"); + } + }} + + renderInput={(params) => + } + /> + +
} + + + + + {(!mytrainingdomaine || String(mytrainingdomaine).trim().length <= 0 || String(mytrainingdomaine).trim() === "") &&
{ onChange={(event, value) => { - if (value && value.metier) { + if (value && value._id) { setmytrainingmetier(value.metier); setdatamodification("1"); + } else { + setmytrainingmetier(""); + setdatamodification("1"); } }} @@ -3631,6 +3861,72 @@ const AddClassManual = (props) => { + {New_Get_List_Categorie_result && New_Get_List_Categorie_result.length > 0 && mytrainingdomaine && +
+ data.class_domaine_id === String(String(mytrainingdomaine).trim()))} + + value={New_Get_List_Categorie_result.filter((data) => (data)._id === String(mytrainingcategorie))[0].label} + + + onChange={(event, value) => { + + if (value && value._id) { + setmytrainingcategorie(value._id); + setdatamodification("1"); + } else { + setmytrainingcategorie(""); + setdatamodification("1"); + + } + }} + + renderInput={(params) => + } + /> + +
} + + + + + {(!mytrainingdomaine || String(mytrainingdomaine).trim().length <= 0 || String(mytrainingdomaine).trim() === "") &&
+ { + + + if (value && value._id) { + + setmytrainingcategorie(value.metier); + setdatamodification("1"); + } else { + setmytrainingcategorie(""); + setdatamodification("1"); + + + } + }} + + renderInput={(params) => + } + /> + +
} + + +
{ value={mytrainingdurationunit} onChange={(event, value) => { if (value && value.value) { - setmytrainingdurationunit(value.value); setdatamodification("1"); - + } else { + setmytrainingdurationunit(""); + setdatamodification("1"); } }} @@ -3801,6 +4098,24 @@ const AddClassManual = (props) => { />
+
+ { + setp_detail_version_catalogue(e.target.value); + } + } + /> +
+ {/* -- début champs specifiques **/}

diff --git a/src/components/DisplayPartnerTrainingsPagination.js b/src/components/DisplayPartnerTrainingsPagination.js index 464140f..c6a8c09 100644 --- a/src/components/DisplayPartnerTrainingsPagination.js +++ b/src/components/DisplayPartnerTrainingsPagination.js @@ -44,7 +44,7 @@ import { PiDotsThree } from "react-icons/pi"; import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5"; const DistplayPartnerTraningsPage = (props) => { - + const history = useHistory(); const [myApiResponse, setmyApiResponse] = useState("false"); const filters = [ @@ -67,7 +67,7 @@ const DistplayPartnerTraningsPage = (props) => { const changeHandler2 = (event) => { - + setformation_file_name(); Closecreatetraining(); setapiexcelimportmessage(); @@ -158,8 +158,8 @@ const DistplayPartnerTraningsPage = (props) => { }); alert(result['message']); setformation_file_name(""); - - console.log(" 000000000000000&") + + } @@ -407,18 +407,25 @@ const DistplayPartnerTraningsPage = (props) => { { field: 'duration_unit', headerName: 'duration_unit', hide: true, Width: 0, editable: false, }, { field: 'duration_in_hour', headerName: 'duration_in_hour', hide: true, Width: 0, editable: false, }, { field: 'currency', headerName: 'currency', hide: true, Width: 0, editable: false, }, + { field: 'zone_diffusion', headerName: 'zone_diffusion', hide: true, maxWidth: 1, editable: false, }, { field: 'internal_url', headerName: 'internal_url', hide: true, editable: false, }, { field: 'external_code', headerName: 'Code Formation', minWidth: 150, flex: 1, maxWidth: 250, editable: false, renderCell: (params) => , }, { field: 'title', headerName: 'Titre', minWidth: 300, flex: 1, editable: false, renderCell: (params) => , }, - { field: 'domain', headerName: 'Domaine', minWidth: 50, flex: 1, maxWidth: 150, hideable: true, editable: false, renderCell: (params) => , }, - { field: 'metier', headerName: 'Métier', minWidth: 50, flex: 1, maxWidth: 150, hideable: true, hide: true, editable: false, renderCell: (params) => , }, + { field: 'domain', headerName: 'Domaine', minWidth: 100, flex: 1, maxWidth: 200, hideable: true, editable: false, renderCell: (params) => , }, + { field: 'metier', headerName: 'Métier', minWidth: 100, flex: 1, maxWidth: 200, hideable: true, hide: true, editable: false, renderCell: (params) => , }, + + { field: 'categorie', headerName: 'Catégorie', minWidth: 100, flex: 1, maxWidth: 200, hideable: true, hide: true, editable: false, renderCell: (params) => , }, + + { field: 'nb_session_formation', headerName: 'Nb Session', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center", renderCell: (params) => , }, { field: 'url', headerName: 'lien', minWidth: 20, hideable: true, hide: true, editable: false, }, { field: 'description', headerName: 'Description', hide: true, resizable: true, minWidth: 250, maxWidth: 300, flex: 1, renderCell: (params) => , }, + { field: 'version', headerName: 'Version Catalogue', hide: true, minWidth: 100, maxWidth: 200, flex: 1, renderCell: (params) => , }, + { field: 'price', headerName: 'Prix', minWidth: 50, flex: 1, maxWidth: 100, align: "center", resizable: true, hide: ismobilephone_columns_hide, editable: false, renderCell: (params) => , @@ -1099,8 +1106,274 @@ const DistplayPartnerTraningsPage = (props) => { }) } + + const [New_Get_List_Domaines_result, setNew_Get_List_Domaines_result] = useState([]); + + const [Get_List_Domaines_api, setGet_List_Domaines_api] = useState(); + const [Get_List_Domaines_message, setGet_List_Domaines_message] = useState(); + const [Get_List_Domaines_result, setGet_List_Domaines_result] = useState(); + function Get_List_Domaines() { + 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_Class_domaine/"; + + fetch(myurl, + { + method: 'POST', + body: form, + }) + .then((data) => data.json()) + .then((data) => { + //console.log(' IN Get_List_Domaines Success:', data['message'], "data['status'] = ", data['status']); + + if (String(data['status']) === String("true")) { + setGet_List_Domaines_api("true"); + setGet_List_Domaines_result(data['message']); + + var new_data2 = []; + const new_data = data['message'].map((x) => { + + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var local_code = JSON.parse(x).code; + var local_nom = JSON.parse(x).nom; + + + //--- + var node = { + "id": localid, + "_id": local_id, + "nom": local_nom, + "code": local_code, + "label": local_nom, + + + }; + new_data2.push(node); + }); + + var node = { + "id": "", + "_id": "", + "nom": "", + "code": "", + "label": "", + + + }; + new_data2.push(node); + + if (new_data2.length > 0) { + setNew_Get_List_Domaines_result(new_data2); + + // console.log(" ## new_data2 = ", new_data2); + // console.log(" ## New_Get_List_Domaines_result = ", New_Get_List_Domaines_result); + } else { + setNew_Get_List_Domaines_result([]) + } + } + else { + setGet_List_Domaines_api("false"); + setGet_List_Domaines_message(data['message']); + } + + }).catch((error) => { + console.error('Error Get_List_Domaines :', error); + setGet_List_Domaines_api("false"); + }); + } + + const [New_Get_List_Metiers_result, setNew_Get_List_Metiers_result] = useState([]); + + const [Get_List_Metiers_api, setGet_List_Metiers_api] = useState(); + const [Get_List_Metiers_message, setGet_List_Metiers_message] = useState(); + const [Get_List_Metiers_result, setGet_List_Metiers_result] = useState(); + function Get_List_Metiers() { + 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_class_metier/"; + setLoading(true); + fetch(myurl, + { + method: 'POST', + body: form, + }) + .then((data) => data.json()) + .then((data) => { + setLoading(false); + // console.log(' IN Get_List_Metiers Success:', data['message'], "data['status'] = ", data['status']); + + if (String(data['status']) === String("true")) { + setGet_List_Metiers_api("true"); + setGet_List_Metiers_result(data['message']); + + var new_data2 = []; + const new_data = data['message'].map((x) => { + + + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var local_nom = JSON.parse(x).nom; + var local_code = JSON.parse(x).code; + var local_class_domaine_id = JSON.parse(x).class_domaine_id; + var local_class_domaine_nom = JSON.parse(x).class_domaine_nom; + + + //--- + var node = { + "id": localid, + "_id": local_id, + "label": local_nom, + "nom": local_nom, + "code": local_code, + "class_domaine_id": local_class_domaine_id, + "class_domaine_nom": local_class_domaine_nom, + + }; + new_data2.push(node); + }); + + //--- + var node = { + "id": "", + "_id": "", + "label": "", + "nom": "", + "code": "", + "class_domaine_id": "", + "class_domaine_nom": "", + + }; + new_data2.push(node); + + if (new_data2.length > 0) { + setNew_Get_List_Metiers_result(new_data2); + //console.log(" ### new_data2 ", new_data2); + //console.log(" ### setNew_Get_List_Metiers_result ", New_Get_List_Metiers_result); + } else { + setNew_Get_List_Metiers_result([]); + } + + + } + else { + setGet_List_Metiers_api("false"); + setGet_List_Metiers_message(data['message']); + } + + }).catch((error) => { + setLoading(false); + console.error('Error Get_List_Metiers :', error); + setGet_List_Metiers_api("false"); + }); + + } + + const [New_Get_List_Categorie_result, setNew_Get_List_Categorie_result] = useState([]); + + const [Get_List_Categorie_api, setGet_List_Categorie_api] = useState(); + const [Get_List_Categorie_message, setGet_List_Categorie_message] = useState(); + const [Get_List_Categorie_result, setGet_List_Categorie_result] = useState(); + function Get_List_Categorie() { + 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_Class_Categorie/"; + setLoading(true); + fetch(myurl, + { + method: 'POST', + body: form, + }) + .then((data) => data.json()) + .then((data) => { + setLoading(false); + // console.log(' IN Get_List_Categorie Success:', data['message'], "data['status'] = ", data['status']); + + if (String(data['status']) === String("true")) { + setGet_List_Categorie_api("true"); + setGet_List_Categorie_result(data['message']); + + var new_data2 = []; + const new_data = data['message'].map((x) => { + + + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var local_nom = JSON.parse(x).nom; + var local_code = JSON.parse(x).code; + var local_class_domaine_id = JSON.parse(x).class_domaine_id; + var local_class_domaine_nom = JSON.parse(x).class_domaine_nom; + + + //--- + var node = { + "id": localid, + "_id": local_id, + "label": local_nom, + "nom": local_nom, + "code": local_code, + "class_domaine_id": local_class_domaine_id, + "class_domaine_nom": local_class_domaine_nom, + + }; + new_data2.push(node); + }); + + //--- + var node = { + "id": "", + "_id": "", + "label": "", + "nom": "", + "code": "", + "class_domaine_id": "", + "class_domaine_nom": "", + + }; + new_data2.push(node); + + if (new_data2.length > 0) { + setNew_Get_List_Categorie_result(new_data2); + //console.log(" ### new_data2 ", new_data2); + //console.log(" ### setNew_Get_List_Categorie_result ", New_Get_List_Categorie_result); + } else { + setNew_Get_List_Categorie_result([]); + } + + + } + else { + setGet_List_Categorie_api("false"); + setGet_List_Categorie_message(data['message']); + } + + }).catch((error) => { + setLoading(false); + console.error('Error Get_List_Categorie :', error); + setGet_List_Categorie_api("false"); + }); + + } + + + const [ismobilephone, setismobilephone] = useState(); useEffect(() => { + + Get_List_Domaines(); + Get_List_Metiers(); + Get_List_Categorie(); + Get_Partner_Object_Specific_Fields("myclass"); //GetAllClass(); @@ -1623,12 +1896,12 @@ const DistplayPartnerTraningsPage = (props) => {
@@ -1753,27 +2026,27 @@ const DistplayPartnerTraningsPage = (props) => { {p_filtre2 &&
- {New_Option_Filter && New_Option_Filter.length > 0 && (data).value === String(p_filtre2))[0].label} - options={New_Option_Filter} - onChange={(event, value) => { - if (value && value.value) { - setp_filtre2(value.value); + {New_Option_Filter && New_Option_Filter.length > 0 && (data).value === String(p_filtre2))[0].label} + options={New_Option_Filter} + onChange={(event, value) => { + if (value && value.value) { + setp_filtre2(value.value); - } - - }} - - renderInput={(params) => } - />} + + }} + + renderInput={(params) => + } + />} {/* {
- {New_Option_Filter && New_Option_Filter.length > 0 && (data).value === String(p_filtre3))[0].label} - options={New_Option_Filter} - onChange={(event, value) => { - if (value && value.value) { - setp_filtre3(value.value); + {New_Option_Filter && New_Option_Filter.length > 0 && (data).value === String(p_filtre3))[0].label} + options={New_Option_Filter} + onChange={(event, value) => { + if (value && value.value) { + setp_filtre3(value.value); - } - - }} - - renderInput={(params) => } - />} - {/* + } + />} + + {/* { }} > - { @@ -2026,9 +2299,16 @@ const DistplayPartnerTraningsPage = (props) => { zone_diffusion: JSON.parse(item).zone_diffusion_str, external_code: JSON.parse(item).external_code, title: parse((JSON.parse(item).title).replace(/(<([^>]+)>)/ig, '')), - domain: JSON.parse(item).domaine, - metier: JSON.parse(item).metier, + + domain: New_Get_List_Domaines_result.filter((data) => (data)._id === String(JSON.parse(item).domaine))[0].label, + + metier: New_Get_List_Metiers_result.filter((data) => (data)._id === String(JSON.parse(item).metier))[0].label, + + categorie: New_Get_List_Categorie_result.filter((data) => (data)._id === String(JSON.parse(item).categorie))[0].label, + + url: JSON.parse(item).url, + price: JSON.parse(item).price, description: parse((JSON.parse(item).description).replace(/(<([^>]+)>)/ig, '')), published: JSON.parse(item).published, @@ -2039,7 +2319,10 @@ const DistplayPartnerTraningsPage = (props) => { presentiel: JSON.parse(item).presentiel.presentiel, distanciel: JSON.parse(item).presentiel.distantiel, cible: JSON.parse(item).pourqui, - currecny: JSON.parse(item).currecny, + currency: JSON.parse(item).currecny, + + version: JSON.parse(item).version, + nb_session_formation: JSON.parse(item).nb_session_formation, } @@ -2104,7 +2387,7 @@ const DistplayPartnerTraningsPage = (props) => { sx={datagridSx} - /> + />}
@@ -2253,8 +2536,8 @@ const DistplayPartnerTraningsPage = (props) => { style={{ display: 'none' }} name="liste_formation_file" onChange={handleSubmission} - - + + />   @@ -154,7 +154,7 @@ const Partner_Domaine_Categorie_Metier = (props) => { ); } - } + */} ] @@ -166,7 +166,7 @@ const Partner_Domaine_Categorie_Metier = (props) => { { field: 'code', headerName: 'Code', hide: false, minWidth: 200, flex: 1, renderCell: (params) => , }, { field: 'nom', headerName: 'Nom', hide: false, minWidth: 200, flex: 1, renderCell: (params) => , }, { field: 'description', headerName: 'Description', hide: false, minWidth: 200, flex: 1, renderCell: (params) => , }, - + { field: 'class_domaine_id', headerName: 'class_domaine_id', hide: true }, { field: "delete", headerName: 'Supprimer', @@ -192,13 +192,13 @@ const Partner_Domaine_Categorie_Metier = (props) => {
{' '} - En confirmant cette opération, le domaine sera définitivement supprimé.
+ En confirmant cette opération, la catégorie sera définitivement supprimée.
@@ -234,7 +234,7 @@ const Partner_Domaine_Categorie_Metier = (props) => { { field: 'code', headerName: 'Code', hide: false, minWidth: 200, flex: 1, renderCell: (params) => , }, { field: 'nom', headerName: 'Nom', hide: false, minWidth: 200, flex: 1, renderCell: (params) => , }, { field: 'description', headerName: 'Description', hide: false, minWidth: 200, flex: 1, renderCell: (params) => , }, - + { field: 'class_domaine_id', headerName: 'class_domaine_id', hide: true }, { field: "delete", headerName: 'Supprimer', @@ -260,13 +260,13 @@ const Partner_Domaine_Categorie_Metier = (props) => {
{' '} - En confirmant cette opération, le domaine sera définitivement supprimé.
+ En confirmant cette opération, le métier sera définitivement supprimé.
@@ -297,6 +297,111 @@ const Partner_Domaine_Categorie_Metier = (props) => { ] + + const [handleClick_delete_Metier_api, sethandleClick_delete_Metier_api] = useState(); + const [handleClick_delete_Metier_message, sethandleClick_delete_Metier_message] = useState(); + const [handleClick_delete_Metier_result, sethandleClick_delete_Metier_result] = useState(); + function handleClick_delete_Metier(event, cellValues) { + + var type_client_id = cellValues.row._id; + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", type_client_id); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_class_metier/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In handleClick_delete_Metier res.data.status = " + res.data.status); + //console.log(" In handleClick_delete_Metier res.data.message r_class = " + res.data.message); + sethandleClick_delete_Metier_api("true"); + sethandleClick_delete_Metier_result(res.data.message); + + setmetier_data_edit_mode(""); + setmetier_data_changed(""); + setdisplay_detail_metier(""); + + + Getall_Partner_Class_Metier(); + alert(res.data.message); + + } + else { + sethandleClick_delete_Metier_api("false"); + sethandleClick_delete_Metier_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( handleClick_delete_Metier = ', error); + sethandleClick_delete_Metier_api("false"); + alert(" Impossible de supprimer le métier"); + //setmyApimyApiMessage("") + }) + } + + + + + const [handleClick_delete_Categorie_api, sethandleClick_delete_Categorie_api] = useState(); + const [handleClick_delete_Categorie_message, sethandleClick_delete_Categorie_message] = useState(); + const [handleClick_delete_Categorie_result, sethandleClick_delete_Categorie_result] = useState(); + function handleClick_delete_Categorie(event, cellValues) { + + var type_client_id = cellValues.row._id; + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", type_client_id); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Class_Categorie/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In handleClick_delete_Categorie res.data.status = " + res.data.status); + //console.log(" In handleClick_delete_Categorie res.data.message r_class = " + res.data.message); + sethandleClick_delete_Categorie_api("true"); + sethandleClick_delete_Categorie_result(res.data.message); + + setcategorie_data_edit_mode(""); + setcategorie_data_changed(""); + setdisplay_detail_categorie(""); + + + Getall_Partner_Class_Categorie(); + alert(res.data.message); + + } + else { + sethandleClick_delete_Categorie_api("false"); + sethandleClick_delete_Categorie_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( handleClick_delete_Categorie = ', error); + sethandleClick_delete_Categorie_api("false"); + alert(" Impossible de supprimer la catégorie"); + //setmyApimyApiMessage("") + }) + } + + const [gridline_domaine_id, setgridline_domaine_id] = useState(""); const [gridline_categorie_id, setgridline_categorie_id] = useState(""); const [gridline_metier_id, setgridline_metier_id] = useState(""); @@ -332,27 +437,42 @@ const Partner_Domaine_Categorie_Metier = (props) => { const [metier_data_edit_mode, setmetier_data_edit_mode] = useState(""); const [metier_data_changed, setmetier_data_changed] = useState(""); - + const [display_detail_domaine, setdisplay_detail_domaine] = useState(""); const [display_detail_categorie, setdisplay_detail_categorie] = useState(""); - const [display_detail_metier, setdisplay_detail_metier] = useState(""); - + const [display_detail_metier, setdisplay_detail_metier] = useState(""); + + const sleep = (milliseconds) => { + return new Promise(resolve => setTimeout(resolve, milliseconds)) + } + function submenu_domaine() { setsubmenu("domaine"); Getall_Partner_Class_Domaine(); submenu_color_management("domaine") } - function submenu_categorie() { + async function submenu_categorie() { setsubmenu("categorie"); + await sleep(5); + Getall_Partner_Class_Categorie(); - submenu_color_management("categorie") + submenu_color_management("categorie"); + + if (String(display_detail_categorie) === "1" && String(categorie_data_edit_mode) !== "1") { + Disable_Categorie_DetailFields(); + } } function submenu_metier() { setsubmenu("metier"); Getall_Partner_Class_Metier(); + + if (String(display_detail_metier) === "1" && String(metier_data_edit_mode) !== "1") { + Disable_Metier_DetailFields(); + } + submenu_color_management("metier") } @@ -634,6 +754,251 @@ const Partner_Domaine_Categorie_Metier = (props) => { //setmyApimyApiMessage("") }) } + + + function handleClick_edit_categorie_From_Line(selected_row_id) { + + var line = JSON.parse(Getall_Partner_Class_Categorie_result[selected_row_id]); + + setselected_categorie_id(line._id); + + setp_detail_categorie_id(line._id); + setp_detail_categorie_code(line.code); + setp_detail_categorie_nom(line.nom); + setp_detail_categorie_description(line.description); + setp_detail_categorie_class_domaine_id(line.class_domaine_id); + + setdisplay_detail_domaine(""); + setdisplay_detail_metier(""); + setdisplay_detail_categorie("1"); + + Disable_Categorie_DetailFields(); + + if (document.getElementById('myRef')) { + var divh = document.getElementById('myRef').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + + + function Annule_Categorie_DetailFields() { + var line = JSON.parse(Getall_Partner_Class_Categorie_result[gridline_categorie_id]); + + setselected_categorie_id(line._id); + + setp_detail_categorie_id(line._id); + setp_detail_categorie_code(line.code); + setp_detail_categorie_nom(line.nom); + setp_detail_categorie_description(line.description); + setp_detail_categorie_class_domaine_id(line.class_domaine_id); + + setdisplay_detail_domaine(""); + setdisplay_detail_metier(""); + setdisplay_detail_categorie("1"); + + Disable_Categorie_DetailFields(); + + if (document.getElementById('myRef')) { + var divh = document.getElementById('myRef').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + } + + + function handleClick_edit_metier_From_Line(selected_row_id) { + + var line = JSON.parse(Getall_Partner_Class_Metier_result[selected_row_id]); + + setselected_metier_id(line._id); + + setp_detail_metier_id(line._id); + setp_detail_metier_code(line.code); + setp_detail_metier_nom(line.nom); + setp_detail_metier_description(line.description); + setp_detail_metier_class_domaine_id(line.class_domaine_id); + + setdisplay_detail_domaine(""); + setdisplay_detail_metier("1"); + setdisplay_detail_categorie(""); + + Disable_Metier_DetailFields(); + + if (document.getElementById('myRef')) { + var divh = document.getElementById('myRef').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + + + function Annule_Metier_DetailFields() { + var line = JSON.parse(Getall_Partner_Class_Metier_result[gridline_metier_id]); + + setselected_metier_id(line._id); + + setp_detail_metier_id(line._id); + setp_detail_metier_code(line.code); + setp_detail_metier_nom(line.nom); + setp_detail_metier_description(line.description); + setp_detail_metier_class_domaine_id(line.class_domaine_id); + + setdisplay_detail_domaine(""); + setdisplay_detail_metier("1"); + setdisplay_detail_categorie(""); + + Disable_Metier_DetailFields(); + + if (document.getElementById('myRef')) { + var divh = document.getElementById('myRef').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + } + + + async function Disable_Categorie_DetailFields() { + await sleep(5); + + setcategorie_data_edit_mode("0"); + + if (document.getElementsByName("detail_categorie_code")[0]) { + document.getElementsByName("detail_categorie_code")[0].disabled = true; + document.getElementsByName("detail_categorie_code")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_categorie_nom")[0]) { + document.getElementsByName("detail_categorie_nom")[0].disabled = true; + document.getElementsByName("detail_categorie_nom")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_categorie_description")[0]) { + document.getElementsByName("detail_categorie_description")[0].disabled = true; + document.getElementsByName("detail_categorie_description")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_categorie_domaine")[0]) { + document.getElementsByName("detail_categorie_domaine")[0].disabled = true; + document.getElementsByName("detail_categorie_domaine")[0].style.backgroundColor = "#ECEFF1"; + } + + } + + function Enable_Categorie_DetailFields() { + setcategorie_data_edit_mode("1"); + if (document.getElementsByName("detail_categorie_code")[0]) { + document.getElementsByName("detail_categorie_code")[0].disabled = false; + document.getElementsByName("detail_categorie_code")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_categorie_nom")[0]) { + document.getElementsByName("detail_categorie_nom")[0].disabled = false; + document.getElementsByName("detail_categorie_nom")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_categorie_description")[0]) { + document.getElementsByName("detail_categorie_description")[0].disabled = false; + document.getElementsByName("detail_categorie_description")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_categorie_domaine")[0]) { + document.getElementsByName("detail_categorie_domaine")[0].disabled = false; + document.getElementsByName("detail_categorie_domaine")[0].style.backgroundColor = "#FFFFFF"; + } + + } + + function clear_Categorie_DetailFields() { + setp_detail_categorie_id(""); + setp_detail_categorie_code(""); + setp_detail_categorie_nom(""); + setp_detail_categorie_description(""); + setp_detail_categorie_class_domaine_id(""); + + setselected_categorie_id(""); + setgridline_categorie_id(""); + + + } + + + + async function Disable_Metier_DetailFields() { + await sleep(5); + setmetier_data_edit_mode("0"); + + if (document.getElementsByName("detail_metier_code")[0]) { + document.getElementsByName("detail_metier_code")[0].disabled = true; + document.getElementsByName("detail_metier_code")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_metier_nom")[0]) { + document.getElementsByName("detail_metier_nom")[0].disabled = true; + document.getElementsByName("detail_metier_nom")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_metier_description")[0]) { + document.getElementsByName("detail_metier_description")[0].disabled = true; + document.getElementsByName("detail_metier_description")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_metier_domaine")[0]) { + document.getElementsByName("detail_metier_domaine")[0].disabled = true; + document.getElementsByName("detail_metier_domaine")[0].style.backgroundColor = "#ECEFF1"; + } + + } + + function Enable_Metier_DetailFields() { + setmetier_data_edit_mode("1") + + if (document.getElementsByName("detail_metier_code")[0]) { + document.getElementsByName("detail_metier_code")[0].disabled = false; + document.getElementsByName("detail_metier_code")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_metier_nom")[0]) { + document.getElementsByName("detail_metier_nom")[0].disabled = false; + document.getElementsByName("detail_metier_nom")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_metier_description")[0]) { + document.getElementsByName("detail_metier_description")[0].disabled = false; + document.getElementsByName("detail_metier_description")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_metier_domaine")[0]) { + document.getElementsByName("detail_metier_domaine")[0].disabled = false; + document.getElementsByName("detail_metier_domaine")[0].style.backgroundColor = "#FFFFFF"; + } + + } + + + function clear_Metier_DetailFields() { + setp_detail_metier_id(""); + setp_detail_metier_code(""); + setp_detail_metier_nom(""); + setp_detail_metier_description(""); + setp_detail_metier_class_domaine_id(""); + + setselected_metier_id(""); + setgridline_metier_id(""); + + } + + useEffect(() => { Getall_Partner_Class_Domaine(); @@ -648,13 +1013,569 @@ const Partner_Domaine_Categorie_Metier = (props) => { }, []) + const [Update_Categorie_Data_api, setUpdate_Categorie_Data_api] = useState(); + const [Update_Categorie_Data_message, setUpdate_Categorie_Data_message] = useState(); + const [Update_Categorie_Data_result, setUpdate_Categorie_Data_result] = useState(); + function Update_Categorie_Data() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", p_detail_categorie_id); + form.append("code", p_detail_categorie_code); + form.append("nom", p_detail_categorie_nom); + form.append("description", p_detail_categorie_description); + form.append("class_domaine_id", p_detail_categorie_class_domaine_id); + + + //console.log(" form == ", form); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Class_Categorie/"; + setLoading(true); + + axios.post(myurl, form).then(res => { + setLoading(false); + //console.log(" In Update_Categorie_Data res.data.status = " + res.data.status); + //console.log(" In Update_Categorie_Data res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + + + + setUpdate_Categorie_Data_api("true"); + setUpdate_Categorie_Data_result(res.data.message); + + Getall_Partner_Class_Categorie(); + clear_Categorie_DetailFields(); + + setdisplay_detail_categorie(""); + setcategorie_data_edit_mode(""); + setcategorie_data_changed(""); + + alert(res.data.message); + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + else { + setUpdate_Categorie_Data_api("false"); + setUpdate_Categorie_Data_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('UpdateStagiaireData : Not good man :( Update_Categorie_Data = ' + error); + setUpdate_Categorie_Data_api("false"); + alert(" Impossible de mettre à jour la catégorie "); + + }) + } + + const [Add_Categorie_Data_api, setAdd_Categorie_Data_api] = useState(); + const [Add_Categorie_Data_message, setAdd_Categorie_Data_message] = useState(); + const [Add_Categorie_Data_result, setAdd_Categorie_Data_result] = useState(); + function Add_Categorie_Data() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("code", p_detail_categorie_code); + form.append("nom", p_detail_categorie_nom); + form.append("description", p_detail_categorie_description); + form.append("class_domaine_id", p_detail_categorie_class_domaine_id); + + + //console.log(" form == ", form); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Class_Categorie/"; + setLoading(true); + + axios.post(myurl, form).then(res => { + setLoading(false); + //console.log(" In Add_Categorie_Data res.data.status = " + res.data.status); + //console.log(" In Add_Categorie_Data res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + + + + setAdd_Categorie_Data_api("true"); + setAdd_Categorie_Data_result(res.data.message); + + Getall_Partner_Class_Categorie(); + clear_Categorie_DetailFields(); + + setdisplay_detail_categorie(""); + setcategorie_data_edit_mode(""); + setcategorie_data_changed(""); + + Dialog_Categorie_1_handleClose_buton(); + + alert(res.data.message); + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + else { + setAdd_Categorie_Data_api("false"); + setAdd_Categorie_Data_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('UpdateStagiaireData : Not good man :( Add_Categorie_Data = ' + error); + setAdd_Categorie_Data_api("false"); + alert(" Impossible d'ajouter la catégorie "); + + }) + } + + const [Update_Metier_Data_api, setUpdate_Metier_Data_api] = useState(); + const [Update_Metier_Data_message, setUpdate_Metier_Data_message] = useState(); + const [Update_Metier_Data_result, setUpdate_Metier_Data_result] = useState(); + function Update_Metier_Data() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", p_detail_metier_id); + form.append("code", p_detail_metier_code); + form.append("nom", p_detail_metier_nom); + form.append("description", p_detail_metier_description); + form.append("class_domaine_id", p_detail_metier_class_domaine_id); + + + //console.log(" form == ", form); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_class_metier/"; + setLoading(true); + + axios.post(myurl, form).then(res => { + setLoading(false); + //console.log(" In Update_Metier_Data res.data.status = " + res.data.status); + //console.log(" In Update_Metier_Data res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + + + + setUpdate_Metier_Data_api("true"); + setUpdate_Metier_Data_result(res.data.message); + + Getall_Partner_Class_Metier(); + clear_Metier_DetailFields(); + + setdisplay_detail_metier(""); + setcategorie_data_edit_mode(""); + setcategorie_data_changed(""); + + alert(res.data.message); + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + else { + setUpdate_Metier_Data_api("false"); + setUpdate_Metier_Data_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('UpdateStagiaireData : Not good man :( Update_Metier_Data = ' + error); + setUpdate_Metier_Data_api("false"); + alert(" Impossible de mettre à jour le métier "); + + }) + } + + const [Add_Metier_Data_api, setAdd_Metier_Data_api] = useState(); + const [Add_Metier_Data_message, setAdd_Metier_Data_message] = useState(); + const [Add_Metier_Data_result, setAdd_Metier_Data_result] = useState(); + function Add_Metier_Data() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("code", p_detail_metier_code); + form.append("nom", p_detail_metier_nom); + form.append("description", p_detail_metier_description); + form.append("class_domaine_id", p_detail_metier_class_domaine_id); + + + //console.log(" form == ", form); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_class_metier/"; + setLoading(true); + + axios.post(myurl, form).then(res => { + setLoading(false); + //console.log(" In Add_Metier_Data res.data.status = " + res.data.status); + //console.log(" In Add_Metier_Data res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + + + + setAdd_Metier_Data_api("true"); + setAdd_Metier_Data_result(res.data.message); + + Getall_Partner_Class_Metier(); + clear_Metier_DetailFields(); + + setdisplay_detail_metier(""); + setcategorie_data_edit_mode(""); + setcategorie_data_changed(""); + + Dialog_Metier_1_handleClose_buton(); + + alert(res.data.message); + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + else { + setAdd_Metier_Data_api("false"); + setAdd_Metier_Data_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('UpdateStagiaireData : Not good man :( Add_Metier_Data = ' + error); + setAdd_Metier_Data_api("false"); + alert(" Impossible d'ajouter le métier "); + + }) + } + + const [Dialog_Categorie_1_message, setDialog_Categorie_1_message] = React.useState(false); + const [Dialog_Categorie_1_open, setDialog_Categorie_1_open] = React.useState(false); + + function Dialog_1_handle_change_Categorie(message) { + setDialog_Categorie_1_message(message); + setDialog_Categorie_1_open(true); + } + + const Dialog_Categorie_1_handleClose = () => { + //alert(" Utiliser le bouton 'fermer' "); + //setOpen(false); + }; + + const Dialog_Categorie_1_handleClose_buton = () => { + clear_Categorie_DetailFields(); + setDialog_Categorie_1_open(false); + }; + + const [Dialog_Metier_1_message, setDialog_Metier_1_message] = React.useState(false); + const [Dialog_Metier_1_open, setDialog_Metier_1_open] = React.useState(false); + + function Dialog_1_handle_change_Metier(message) { + setDialog_Metier_1_message(message); + setDialog_Metier_1_open(true); + } + + const Dialog_Metier_1_handleClose = () => { + //alert(" Utiliser le bouton 'fermer' "); + //setOpen(false); + }; + + const Dialog_Metier_1_handleClose_buton = () => { + clear_Metier_DetailFields(); + setDialog_Metier_1_open(false); + }; + + + return (
{isLoading &&
} -

Gestion Domaine, Categorie & Metier

+ + {/***Categorie */} + + + Catégorie de Formation + + + {Dialog_Categorie_1_message} + + + {New_Getall_Partner_Class_Domaine_result && New_Getall_Partner_Class_Domaine_result.length > 0 &&
Domaine Formation + (data)._id === String(p_detail_categorie_class_domaine_id))[0].label} + options={New_Getall_Partner_Class_Domaine_result} + onChange={(event, value) => { + + + if (value && value._id) { + setp_detail_categorie_class_domaine_id(value._id); + setcategorie_data_changed("1"); + } else { + setp_detail_categorie_class_domaine_id(""); + setcategorie_data_changed("1"); + } + + }} + + renderInput={(params) => + } + /> + +
} + + +
Code + { + setp_detail_categorie_code(e.target.value); + } + } + /> + +
+ + +
Nom + { + setp_detail_categorie_nom(e.target.value); + } + } + /> + +
+ +
Description + { + setp_detail_categorie_description(e.target.value); + } + } + /> + +
+ + + +
+ + + +
+
+ + {String(selected_categorie_id).trim().length > 2 && } + {String(selected_categorie_id).trim() === "" && } +
+ +
+ +
+
+ +
+ +
+ + {/*** FinCategorie */} + + + {/*** Metier */} + + + Catégorie de Formation + + + {Dialog_Metier_1_message} + + + {New_Getall_Partner_Class_Domaine_result && New_Getall_Partner_Class_Domaine_result.length > 0 &&
Domaine Formation + (data)._id === String(p_detail_metier_class_domaine_id))[0].label} + options={New_Getall_Partner_Class_Domaine_result} + onChange={(event, value) => { + + + if (value && value._id) { + setp_detail_metier_class_domaine_id(value._id); + setmetier_data_changed("1"); + } else { + setp_detail_metier_class_domaine_id(""); + setmetier_data_changed("1"); + } + + }} + + renderInput={(params) => + } + /> + +
} + + +
Code + { + setp_detail_metier_code(e.target.value); + } + } + /> + +
+ + +
Nom + { + setp_detail_metier_nom(e.target.value); + } + } + /> + +
+ +
Description + { + setp_detail_metier_description(e.target.value); + } + } + /> + +
+ + + +
+ + + +
+
+ + {String(selected_metier_id).trim().length > 2 && } + {String(selected_metier_id).trim() === "" && } +
+ +
+ +
+
+ +
+ +
+ + {/*** FinMetier */}
@@ -663,9 +1584,10 @@ const Partner_Domaine_Categorie_Metier = (props) => {
+ {/*** domaine */} {String(submenu) === "domaine" &&
-

Gestion domaine

+

Les domaines de formation

@@ -872,7 +1794,7 @@ const Partner_Domaine_Categorie_Metier = (props) => { />
} - +
@@ -916,7 +1838,7 @@ const Partner_Domaine_Categorie_Metier = (props) => { {/*** categorie */} {String(submenu) === "categorie" &&
-

Gestion categorie

+

Les catégories de formation

@@ -930,8 +1852,6 @@ const Partner_Domaine_Categorie_Metier = (props) => { width: '100%', paddingRight: '1px', - - "& .MuiDataGrid-columnHeaders": { backgroundColor: "#c8cfd5", color: "black", @@ -979,8 +1899,7 @@ const Partner_Domaine_Categorie_Metier = (props) => { code: JSON.parse(item).code, nom: JSON.parse(item).nom, description: JSON.parse(item).description, - - + class_domaine_id: JSON.parse(item).class_domaine_id, } ))} @@ -989,9 +1908,11 @@ const Partner_Domaine_Categorie_Metier = (props) => { className="datagridclass" onRowDoubleClick={(newSelectionModel) => { + setdisplay_detail_domaine(""); + setdisplay_detail_metier(""); + setdisplay_detail_categorie("1"); setgridline_categorie_id(newSelectionModel.row.id); - - // handleClick_edit_config_From_Line(newSelectionModel.row.id); + handleClick_edit_categorie_From_Line(newSelectionModel.row.id); }} @@ -1036,51 +1957,145 @@ const Partner_Domaine_Categorie_Metier = (props) => {
+ +
+ +
+ +
+
+
 
- {New_Getall_Partner_Class_Categorie_result && display_detail_categorie && String(display_detail_categorie) === "1" &&
- {categorie_data_edit_mode && String(categorie_data_edit_mode) === "1" && -
Code
+ {New_Getall_Partner_Class_Categorie_result && display_detail_categorie && String(display_detail_categorie) === "1" && +
- (data)._id === String(p_detail_categorie_id))[0].label} - options={New_Getall_Partner_Class_Categorie_result} - onChange={(event, value) => { + {categorie_data_edit_mode && String(categorie_data_edit_mode) === "1" && +
Domaine
- if (value && value.value && value.value === "signature_digital") { - alert(" Vos droits d'accès ne vous permettent pas modifier la configuration : 'signature_digital'"); - return; - } - if (value && value._id) { - setp_detail_categorie_id(value._id); - setcategorie_data_changed("1"); - } else { - setp_detail_categorie_id(""); - setcategorie_data_changed("1"); + (data)._id === String(p_detail_categorie_class_domaine_id))[0].label} + options={New_Getall_Partner_Class_Domaine_result} + onChange={(event, value) => { + + + if (value && value._id) { + setp_detail_categorie_class_domaine_id(value._id); + setcategorie_data_changed("1"); + } else { + setp_detail_categorie_class_domaine_id(""); + setcategorie_data_changed("1"); + } + + }} + + renderInput={(params) => } + /> - }} +
} - renderInput={(params) => Domaine
+ (data)._id === String(p_detail_categorie_class_domaine_id))[0].label} /> - } - /> +
} + + + {String(categorie_data_edit_mode) !== "1" && +
Code
+ +
} + + + {String(categorie_data_edit_mode) === "1" && +
Code
+ { + setp_detail_categorie_code(e.target.value); + setcategorie_data_changed("1"); + } + } + /> +
} + {String(categorie_data_edit_mode) !== "1" && +
Nom
+ } - {String(domaine_data_edit_mode) !== "1" && -
Nom
+ InputLabelProps={{ + shrink: true, + }} + disabled={false} + className="disabled_style" + value={p_detail_categorie_nom} + + + /> +
} + + {String(categorie_data_edit_mode) === "1" &&
Nom
{ disabled={false} className="disabled_style" value={p_detail_categorie_nom} - - + onChange={(e) => { + setp_detail_categorie_nom(e.target.value); + setcategorie_data_changed("1"); + } + } /> - -
} - {String(categorie_data_edit_mode) === "1" &&
Nom
- Description
+ { + InputLabelProps={{ + shrink: true, + }} + disabled={false} + className="disabled_style" + value={p_detail_categorie_description} - setp_detail_categorie_nom(e.target.value); - setcategorie_data_changed("1"); - } - } - /> -
} + /> +
} - + {String(categorie_data_edit_mode) === "1" &&
Description
+ -
-   -
- {String(categorie_data_changed) === "1" && String(categorie_data_edit_mode) === "1" &&
- /!\ Pensez à enregistrer les modifications + InputLabelProps={{ + shrink: true, + }} + disabled={false} + className="disabled_style" + value={p_detail_categorie_description} + onChange={(e) => { + setp_detail_categorie_description(e.target.value); + setcategorie_data_changed("1"); + } + } + />
} -
- {String(categorie_data_edit_mode) === "1" && String(categorie_data_changed) === "1" &&
- + +
} + + {String(categorie_data_edit_mode) === "1" &&
+ +
} +
+ + + {String(categorie_data_edit_mode) !== "1" &&
+ +
} - - {String(categorie_data_edit_mode) === "1" &&
- -
} +
+   +
- - {String(categorie_data_edit_mode) !== "1" &&
- - - -
} -
-   -
- -
}
@@ -1168,7 +2202,367 @@ const Partner_Domaine_Categorie_Metier = (props) => { {/*** metier */} {String(submenu) === "metier" &&
-

Gestion metier

+

Les métiers

+
+
+
+
+
+   + + { + setselectionModel_metier(newSelectionModel); + /*if (newSelectionModel.length === 1) + handleClick_edit_config_From_Line(newSelectionModel);*/ + if (newSelectionModel.length !== 1) { + /* setp_detail_config_valeur(); + setp_detail_config_point(); + setConfig_data_changed(); + setconfig_data_edit_mode(); + setdisplay_detail_config();*/ + + + } + }} + selectionModel={selectionModel_metier} + disableSelectionOnClick + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={Getall_Partner_Class_Metier_result.map((item, index) => ( + { + id: index, + _id: JSON.parse(item)._id, + code: JSON.parse(item).code, + nom: JSON.parse(item).nom, + description: JSON.parse(item).description, + class_domaine_id: JSON.parse(item).class_domaine_id, + } + ))} + + columns={columns_metier} + pageSize={10} + className="datagridclass" + + onRowDoubleClick={(newSelectionModel) => { + setgridline_metier_id(newSelectionModel.row.id); + setdisplay_detail_domaine(""); + setdisplay_detail_metier("1"); + setdisplay_detail_categorie(""); + + setmetier_data_edit_mode("0"); + + handleClick_edit_metier_From_Line(newSelectionModel.row.id); + + }} + + + rowsPerPageOptions={[10]} + //disableSelectionOnClick + components={{ + Toolbar: GridToolbar, + }} + //sx={datagridSx} + getCellClassName={(params) => { + + + + }} + getRowClassName={(params) => { + + + // Pour la gestion de la couleur de zone double cliquée + if (String(params.row.id) === String(gridline_metier_id)) { + return 'line--statut--selected'; + } + else if (parseInt(String(params.row.id)) % 2 === 0) { + return 'line--statut--pair'; + } + else if (parseInt(String(params.row.id)) % 2 !== 0) { + return 'line--statut--impair'; + } + }} + + + /> + +
+ +
+ +
+ +
+
+ +
+ +
+ +
+ +
+
+
 
+
+ + + {New_Getall_Partner_Class_Metier_result && display_detail_metier && String(display_detail_metier) === "1" && +
+ + {metier_data_edit_mode && String(metier_data_edit_mode) === "1" && +
Domaine 1
+ + (data)._id === String(p_detail_metier_class_domaine_id))[0].label} + options={New_Getall_Partner_Class_Domaine_result} + onChange={(event, value) => { + + + if (value && value._id) { + setp_detail_metier_class_domaine_id(value._id); + setmetier_data_changed("1"); + } else { + setp_detail_metier_class_domaine_id(""); + setmetier_data_changed("1"); + } + + }} + + renderInput={(params) => + } + /> + +
} + + + {String(metier_data_edit_mode) !== "1" && +
Domaine
+ (data)._id === String(p_detail_metier_class_domaine_id))[0].label} + + /> +
} + + + {String(metier_data_edit_mode) !== "1" && +
Code
+ +
} + + + {String(metier_data_edit_mode) === "1" && +
Code
+ { + setp_detail_metier_code(e.target.value); + setmetier_data_changed("1"); + } + } + /> +
} + + + + {String(metier_data_edit_mode) !== "1" && +
Nom
+ +
} + + {String(metier_data_edit_mode) === "1" &&
Nom
+ { + setp_detail_metier_nom(e.target.value); + setmetier_data_changed("1"); + } + } + /> +
} + + {String(metier_data_edit_mode) !== "1" && +
Description
+ +
} + + {String(metier_data_edit_mode) === "1" &&
Description
+ { + setp_detail_metier_description(e.target.value); + setmetier_data_changed("1"); + } + } + /> +
} + + + + +
+
+   +
+ {String(metier_data_changed) === "1" && String(metier_data_edit_mode) === "1" &&
+ /!\ Pensez à enregistrer les modifications +
} +
+ + {String(metier_data_edit_mode) === "1" && String(metier_data_changed) === "1" &&
+ + + +
} + + {String(metier_data_edit_mode) === "1" &&
+ +
} +
+ + + {String(metier_data_edit_mode) !== "1" &&
+ + + +
} +
+   +
+
+ +
+ } + +
}