diff --git a/src/components/DisplayPartnerStagiaires.js b/src/components/DisplayPartnerStagiaires.js index 28733ec..ba94828 100644 --- a/src/components/DisplayPartnerStagiaires.js +++ b/src/components/DisplayPartnerStagiaires.js @@ -2932,7 +2932,7 @@ const DisplayPartnerStagiaires = (props) => { } function submenu_color_management(current_menu) { - const list_sous_menu = ['detail_inscrit', 'ue', 'notes', 'stage', 'historique', 'piece_jointe'] + const list_sous_menu = ['detail_inscrit', 'ue', 'notes', 'stages', 'historique', 'piece_jointe'] for (let i = 0; i < list_sous_menu.length; i++) { diff --git a/src/components/Module_Gestion_Stage.js b/src/components/Module_Gestion_Stage.js index 1906547..f7f1517 100644 --- a/src/components/Module_Gestion_Stage.js +++ b/src/components/Module_Gestion_Stage.js @@ -11,8 +11,7 @@ import AttachFileIcon from '@mui/icons-material/AttachFile'; import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; import 'react-tooltip/dist/react-tooltip.css' -import { Tooltip } from 'react-tooltip' - +import { Tooltip } from 'react-tooltip'; import excel_icone from "../mysy_img/excel_icone.png"; import { format } from 'date-fns' import fileDownload from 'js-file-download' @@ -247,8 +246,8 @@ const Module_Gestion_Stage = (props) => { { field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, }, { field: 'partner_client_tuteur_id', headerName: 'partner_client_tuteur_id', hide: true, Width: 0, disableExport: true, }, - { field: 'date_debut', headerName: 'date_debut', width: 200, renderCell: (params) => , }, - { field: 'date_fin', headerName: 'date_fin', width: 200, renderCell: (params) => , }, + { field: 'date_debut', headerName: 'Début', width: 200, renderCell: (params) => , }, + { field: 'date_fin', headerName: 'Fin', width: 200, renderCell: (params) => , }, { field: 'client_raison_sociale', headerName: 'Entreprise', minWidth: 150, flex: 1, renderCell: (params) => , }, { field: 'tuteur_entreprise_nom_prenom', headerName: 'Tuteur Ent.', minWidth: 150, flex: 1, renderCell: (params) => , }, @@ -326,68 +325,8 @@ const Module_Gestion_Stage = (props) => { }, }, - { - field: "delete", headerName: 'Supprimer', disableExport: true, - renderCell: (cellValues) => { - return ( - <> - {String(props.check_user_acces_right("stagiaire", "write")) === "1" && } - - ); - } - } - ] const columns_q_eval_entreprise = [ @@ -412,7 +351,7 @@ const Module_Gestion_Stage = (props) => { }, { field: 'mode_envoi', headerName: 'Mode Envoi', minwidth: 300, flex: 1, hide: true, editable: false, renderCell: (params) => , }, - + { field: 'stage_type_eval', headerName: 'Type eval', maxwidth: 200, flex: 1, hide: true, editable: false, renderCell: (params) => , }, { field: 'date_envoie', headerName: 'Date Envoi', width: 150, editable: false, @@ -463,7 +402,7 @@ const Module_Gestion_Stage = (props) => { const options_menu_vertical = [ 'Env. Convention', - 'Archiver/Désarch.', + 'Supprimer', ]; @@ -547,6 +486,9 @@ const Module_Gestion_Stage = (props) => { const [p_detail_stage_remuneration, setp_detail_stage_remuneration] = useState(""); const [p_detail_stage_condition_horaire, setp_detail_stage_condition_horaire] = useState(""); + const [p_detail_stage_mission_etudiant, setp_detail_stage_mission_etudiant] = useState(""); + const [p_detail_stage_contrainte, setp_detail_stage_contrainte] = useState(""); + const [p_detail_stage_comment, setp_detail_stage_comment] = useState(""); const [p_detail_stage_date_debut, setp_detail_stage_date_debut] = useState(new Date().toLocaleDateString('fr-FR')); const [p_detail_stage_date_fin, setp_detail_stage_date_fin] = useState(new Date().toLocaleDateString('fr-FR')); @@ -586,6 +528,9 @@ const Module_Gestion_Stage = (props) => { setp_detail_stage_session_id(""); setp_detail_stage_condition_horaire(""); setp_detail_stage_remuneration(""); + + setp_detail_stage_mission_etudiant(""); + setp_detail_stage_contrainte("") } function desable_stage_fields() { @@ -593,7 +538,8 @@ const Module_Gestion_Stage = (props) => { const list_champs = ["field_stage_desc", "field_stage_objectif", "field_stage_comment", "field_stage_autre_dispo", "field_stage_cp", "field_stage_tuteur_ecole", "field_stage_entreprise", "field_stage_tuteur_entreprise", "field_stage_adresse", "field_stage_cp", "field_stage_ville", "field_stage_pays", "field_stage_email", - "field_stage_tel", "field_stage_date_debut", "field_stage_date_fin", "field_stage_horaire", "field_stage_remuneration"] + "field_stage_tel", "field_stage_date_debut", "field_stage_date_fin", "field_stage_horaire", "field_stage_remuneration", "field_stage_mission_etudiant", + "field_stage_contrainte"] for (let i = 0; i < list_champs.length; i++) { if (document.getElementsByName(String(list_champs[i])) && document.getElementsByName(String(list_champs[i]))[0]) { @@ -611,7 +557,8 @@ const Module_Gestion_Stage = (props) => { const list_champs = ["field_stage_desc", "field_stage_objectif", "field_stage_comment", "field_stage_autre_dispo", "field_stage_cp", "field_stage_tuteur_ecole", "field_stage_entreprise", "field_stage_tuteur_entreprise", "field_stage_adresse", "field_stage_cp", "field_stage_ville", "field_stage_pays", "field_stage_email", - "field_stage_tel", "field_stage_date_debut", "field_stage_date_fin", "field_stage_horaire", "field_stage_remuneration"] + "field_stage_tel", "field_stage_date_debut", "field_stage_date_fin", "field_stage_horaire", "field_stage_remuneration", "field_stage_mission_etudiant", + "field_stage_contrainte"] for (let i = 0; i < list_champs.length; i++) { if (document.getElementsByName(String(list_champs[i])) && document.getElementsByName(String(list_champs[i]))[0]) { @@ -656,6 +603,15 @@ const Module_Gestion_Stage = (props) => { var local_nom = JSON.parse(x).nom; var local_raison_sociale = JSON.parse(x).raison_sociale; + var adr_adresse = JSON.parse(x).adr_adresse; + var adr_code_postal = JSON.parse(x).adr_code_postal; + var adr_ville = JSON.parse(x).adr_ville; + var adr_pays = JSON.parse(x).adr_pays; + + var email = JSON.parse(x).email; + var telephone = JSON.parse(x).telephone; + + //--- var node = { "_id": local_id, @@ -663,6 +619,12 @@ const Module_Gestion_Stage = (props) => { "label": local_nom, "nom": local_nom, "raison_sociale": local_raison_sociale, + "adr_adresse": adr_adresse, + "adr_code_postal": adr_code_postal, + "adr_ville": adr_ville, + "adr_pays": adr_pays, + "email": email, + "telephone": telephone, }; new_data2.push(node); @@ -675,6 +637,12 @@ const Module_Gestion_Stage = (props) => { "label": "", "nom": "", "raison_sociale": "", + "adr_adresse": "", + "adr_code_postal": "", + "adr_ville": "", + "adr_pays": "", + "email": "", + "telephone": "", }; new_data2.push(node); @@ -731,7 +699,7 @@ const Module_Gestion_Stage = (props) => { axios.post(myurl, form).then(res => { // console.log(" In Get_Given_Client_All_Contact res.data.status = " + res.data.status); - // console.log(" In Get_Given_Client_All_Contact res.data.message r_class = " + res.data.message); + // console.log(" In Get_Given_Client_All_Contact res.data.message r_class = " + res.data.message); if (String(res.data.status) === String("true")) { setGet_Given_Client_All_Contact_api("true"); @@ -755,8 +723,8 @@ const Module_Gestion_Stage = (props) => { var node = { "_id": local_id, "id": localid, - "label": local_nom, - "nom": local_nom + " " + local_prenom + " " + local_fonction, + "label": local_nom + " " + local_prenom, + "nom": local_nom, "prenom": local_prenom, "civilite": local_civilite, "fonction": local_fonction, @@ -1061,6 +1029,20 @@ const Module_Gestion_Stage = (props) => { } + if (stage_data.mission_etudiant) { + setp_detail_stage_mission_etudiant(stage_data.mission_etudiant); + } else { + setp_detail_stage_mission_etudiant(""); + } + + + if (stage_data.contrainte) { + setp_detail_stage_contrainte(stage_data.contrainte); + } else { + setp_detail_stage_contrainte(""); + } + + if (stage_data.eu_id) { setp_detail_stage_eu_id(stage_data.eu_id); } else { @@ -1302,6 +1284,27 @@ const Module_Gestion_Stage = (props) => { var form = new FormData(); + if (!p_detail_stage_partner_client_tuteur_id || p_detail_stage_partner_client_tuteur_id.length <= 3) { + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez choisir une tuteur d'entreprise "); + setalert_type("error"); + return; + } + + if (!p_detail_stage_partner_client_id || p_detail_stage_partner_client_id.length <= 3) { + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez choisir une entreprise partenaire "); + setalert_type("error"); + return; + } + + if (!p_detail_stage_internal_tuteur_id || p_detail_stage_internal_tuteur_id.length <= 3) { + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez choisir une tuteur a l'école "); + setalert_type("error"); + return; + } + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); const stored_cookie = getCookie('tokenmysypart'); form.append("token", stored_cookie); @@ -1329,6 +1332,9 @@ const Module_Gestion_Stage = (props) => { form.append("condition_horaire", p_detail_stage_condition_horaire); form.append("remuneration", p_detail_stage_remuneration); + form.append("mission_etudiant", p_detail_stage_mission_etudiant); + form.append("contrainte", p_detail_stage_contrainte); + // console.log(" #### form = ", form); var myurl = "" @@ -1368,6 +1374,17 @@ const Module_Gestion_Stage = (props) => { setalert_type("success"); + if (!selected_stage_id.length || selected_stage_id.length <= 3) { + if (document.getElementById('myRef_stage_list')) { + var divh = document.getElementById('myRef_stage_list').offsetTop + 100; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + } + + } else if (String(res.data.status) === String("Err_Connexion")) { alert('Erreur: ' + res.data.message); @@ -1471,6 +1488,9 @@ const Module_Gestion_Stage = (props) => { } const myRef_stage_detail = useRef(null); + + const myRef_stage_list = useRef(null); + function handleClick_edit_stage_From_Line(selected_row_id) { var line = New_Get_Inscrit_List_Stage_result[selected_row_id]; @@ -1486,8 +1506,8 @@ const Module_Gestion_Stage = (props) => { setedit_stage_data("0"); - if (document.getElementById('myRef_stage_detail')) { - var divh = document.getElementById('myRef_stage_detail').offsetTop + 100; + if (document.getElementById('myRef_stage_list')) { + var divh = document.getElementById('myRef_stage_list').offsetTop + 400; window.scrollTo({ top: divh, behavior: "smooth", @@ -1644,60 +1664,8 @@ const Module_Gestion_Stage = (props) => { const [tab_convention_stage_pieces_jointes_result, settab_convention_stage_pieces_jointes_result] = useState([]); - const [sessions_file_change_1_convention_api, setsessions_file_change_1_convention_api] = useState(); - const [sessions_file_change_1_convention_result, setsessions_file_change_1_convention_result] = useState(); - const [sessions_file_change_1_convention_message, setsessions_file_change_1_convention_message] = useState(); - const sessions_file_change_1_convention = event => { - const fileUploaded = event.target.files[0]; - let file_size = event.target.files[0].size; - let file_type = event.target.files[0].type; - - - if (file_type !== "application/pdf") { - // alert("Le fichier n'est pas de type PDF"); - setdisplay_alert_mysy("1"); - setalert_message("Le fichier n'est pas de type PDF"); - setalert_type("error"); - return; - } - - - - if (file_size > 10000000) { - // alert("Le fichier ne doit pas depasser un 1 Méga octets"); - // console.log("Le fichier ne doit pas depasser un 1 Méga octets"); - - setdisplay_alert_mysy("1"); - setalert_message("Le fichier ne doit pas depasser un 1 Méga octets"); - setalert_type("error"); - - return; - } - - //var new_node = {'name':event.target.files[0].name, 'type':event.target.files[0].type} - - - var new_tmp = []; - - if (tab_convention_stage_pieces_jointes_result && tab_convention_stage_pieces_jointes_result.length > 0) { - - tab_convention_stage_pieces_jointes_result.map((x) => { - new_tmp.push(x); - - }); - - } - - new_tmp.push(event.target.files[0]) - - settab_convention_stage_pieces_jointes_result(new_tmp); - - //console.log(" tab_convention_pieces_jointes_result = ", tab_convention_pieces_jointes_result) - return; - }; - function Delete_Convention_Attached_Doc(event) { var doc_to_del_name = event.target.id; @@ -1916,6 +1884,7 @@ const Module_Gestion_Stage = (props) => { }; + const [selected_type_stage_eval, setselected_type_stage_eval] = useState(""); const [selected_formulaire_id, setselected_formulaire_id] = useState(""); const [selected_formulaire_type, setselected_formulaire_type] = useState(""); @@ -2008,6 +1977,13 @@ const Module_Gestion_Stage = (props) => { return; } + if (!selected_type_stage_eval || String(selected_type_stage_eval) === "") { + setdisplay_alert_mysy("1"); + setalert_message("Vous devez choisir un type d'évaluation"); + setalert_type("error"); + return; + } + var form = new FormData(); //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); const stored_cookie = getCookie('tokenmysypart'); @@ -2022,9 +1998,7 @@ const Module_Gestion_Stage = (props) => { form.append("stage_id", selected_stage_id); form.append("inscription_id", props.selected_id); - - - //alert(" mysession = "+mysession); + form.append("stage_type_eval", selected_type_stage_eval); var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Specific_Survey_Tab_For_Stage_Evaluation/"; @@ -2085,7 +2059,7 @@ const Module_Gestion_Stage = (props) => { form.append("token", stored_cookie); form.append("session_id", props.selected_session_id); form.append("formulaire_type", "stage_eval"); - form.append("stage_id", selected_stage_id); + form.append("stage_id", selected_stage_id); var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Survey_with_filter/"; @@ -2413,7 +2387,7 @@ const Module_Gestion_Stage = (props) => { } var nom_fichier_cmd = "Q_Evaluation.zip"; - var url = process.env.REACT_APP_API_URL + "myclass/api/Export_To_Excel_Survey_with_filter_Tab_Survey_Id/" + stored_cookie + "/" + tab_ids_survey.toString() + "/Positionnement"; + var url = process.env.REACT_APP_API_URL + "myclass/api/Export_To_Excel_Survey_with_filter_Tab_Survey_Id/" + stored_cookie + "/" + tab_ids_survey.toString() + "/Stage_Entreprise"; setLoading(true); @@ -2453,6 +2427,458 @@ const Module_Gestion_Stage = (props) => { { "id": "delete_survey", "label": "Supprimer ", "value": "delete_survey" }, ] + // -- Gestion pièces jointes + + const [Download_one_attached_document_api, setDownload_one_attached_document_api] = useState(); + const [Download_one_attached_document_result, setDownload_one_attached_document_result] = useState(); + const [Download_one_attached_document_message, setDownload_one_attached_document_message] = useState(); + + const Download_one_attached_document = (event) => { + const stored_cookie = getCookie('tokenmysypart'); + + + var nom_fiche_detaillee = "Fiche_Detaillee.pdf"; + var token = stored_cookie; + var file_name = event.target.id; + + + var url = process.env.REACT_APP_API_URL + "myclass/api/Get_Stored_Downloaded_File/" + token + "/" + file_name; + + setLoading(true); + axios.get(url, { responseType: 'blob', },) + .then((res) => { + setLoading(false); + fileDownload(res.data, nom_fiche_detaillee); + setDownload_one_attached_document_api("true"); + }).catch((error) => { + setLoading(false); + console.error('Error:', error); + setDownload_one_attached_document_api("false"); + + }); + } + + + const [tab_convention_pieces_jointes_result, settab_convention_pieces_jointes_result] = useState([]); + + const [file_1_name, setfile_1_name] = useState(); + + const [sessions_file_change_1_api, setsessions_file_change_1_api] = useState(); + const [sessions_file_change_1_result, setsessions_file_change_1_result] = useState(); + const [sessions_file_change_1_message, setsessions_file_change_1_message] = useState(); + const sessions_file_change_1 = event => { + + const fileUploaded = event.target.files[0]; + let file_size = event.target.files[0].size; + let file_type = event.target.files[0].type; + + + + + console.log("file_size 2 = ", file_size, " file_type = ", file_type); + if (file_size > 10000000) { + + setdisplay_alert_mysy("1"); + setalert_message("Le fichier ne doit pas depasser un 1 Méga octets"); + setalert_type("error"); + return; + } + + setfile_1_name(event.target.files[0]); + + const formData = new FormData(); + formData.append('File', fileUploaded); + //formData.append('token', 'K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA'); + const stored_cookie = getCookie('tokenmysypart'); + + + return; + + + }; + + + + const [sessions_file_change_1_convention_api, setsessions_file_change_1_convention_api] = useState(); + const [sessions_file_change_1_convention_result, setsessions_file_change_1_convention_result] = useState(); + const [sessions_file_change_1_convention_message, setsessions_file_change_1_convention_message] = useState(); + const sessions_file_change_1_convention = event => { + + + const fileUploaded = event.target.files[0]; + let file_size = event.target.files[0].size; + let file_type = event.target.files[0].type; + + + if (file_type !== "application/pdf") { + // alert("Le fichier n'est pas de type PDF"); + + setdisplay_alert_mysy("1"); + setalert_message("Le fichier n'est pas de type PDF"); + setalert_type("error"); + + return; + } + + + + if (file_size > 10000000) { + // alert("Le fichier ne doit pas depasser un 1 Méga octets"); + // console.log("Le fichier ne doit pas depasser un 1 Méga octets"); + + setdisplay_alert_mysy("1"); + setalert_message("Le fichier ne doit pas depasser un 1 Méga octets"); + setalert_type("error"); + return; + } + + //var new_node = {'name':event.target.files[0].name, 'type':event.target.files[0].type} + + + var new_tmp = []; + + if (tab_convention_pieces_jointes_result && tab_convention_pieces_jointes_result.length > 0) { + + tab_convention_pieces_jointes_result.map((x) => { + new_tmp.push(x); + }); + + } + + new_tmp.push(event.target.files[0]) + + settab_convention_pieces_jointes_result(new_tmp); + + + return; + + + }; + + const [file_2_name, setfile_2_name] = useState(); + + const [sessions_file_change_2_api, setsessions_file_change_2_api] = useState(); + const [sessions_file_change_2_result, setsessions_file_change_2_result] = useState(); + const [sessions_file_change_2_message, setsessions_file_change_2_message] = useState(); + const sessions_file_change_2 = event => { + + const fileUploaded = event.target.files[0]; + let file_size = event.target.files[0].size; + let file_type = event.target.files[0].type; + + + console.log("file_size 1 = ", file_size, " file_type = ", file_type); + if (file_size > 10000000) { + // alert("Le fichier ne doit pas depasser un 1 Méga octets"); + // console.log("Le fichier ne doit pas depasser un 1 Méga octets"); + + setdisplay_alert_mysy("1"); + setalert_message("Le fichier ne doit pas depasser un 1 Méga octets"); + setalert_type("error"); + + return; + } + setfile_2_name(event.target.files[0]); + + const formData = new FormData(); + formData.append('File', fileUploaded); + //formData.append('token', 'K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA'); + const stored_cookie = getCookie('tokenmysypart'); + + //formData.append("token", stored_cookie); + //formData.append("class_internal_url", internal_url); + //console.log("token = " + stored_cookie); + + return; + + + }; + + const [Record_All_PJ_api, setRecord_All_PJ_api] = useState(); + const [Record_All_PJ_result, setRecord_All_PJ_result] = useState(); + const [Record_All_PJ_message, setRecord_All_PJ_message] = useState(); + + function Record_All_PJ() { + + if (!p_detail_one_file_to_download_type_name) { + // alert(" Vous devez donner un nom à la pièce jointe"); + + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez donner un nom à la pièce jointe"); + setalert_type("error"); + return; + } + + if (file_1_name && file_1_name.name) { + //console.log(" ### Traitement de : ", file_1_name.name); + + const formData = new FormData(); + formData.append('File', file_1_name); + //formData.append('token', 'K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA'); + const stored_cookie = getCookie('tokenmysypart'); + + formData.append("token", stored_cookie); + formData.append("file_business_object", p_detail_one_file_to_download_type_name); + formData.append("file_name", file_1_name.name); + formData.append("status", "0"); + formData.append("object_owner_collection", "inscription_stage"); + formData.append("object_owner_id", selected_stage_id); + formData.append("type_document", ""); + + + //formData.append("class_internal_url", internal_url); + //console.log("token = " + stored_cookie); + + setLoading(true); + fetch( + process.env.REACT_APP_API_URL + "myclass/api/Store_User_Downloaded_File/", + { + method: 'POST', + body: formData, + } + ) + .then((response) => response.json()) + .then((result) => { + + setLoading(false); + //console.log(" ## result['status'] = ", result['status']) + if (String(result['status']) === String("true")) { + //console.log('Success:', result['message']); + setRecord_All_PJ_result(result['message']); + setRecord_All_PJ_api("true"); + + Get_List_Of_All_PJ(selected_stage_id); + setfile_1_name(); + setp_detail_one_file_to_download_type_name(); + //GetCurrentClass_trainingsession(); + var text = " La pièce jointe " + file_1_name.name + " a été bien enregistrée"; + setdisplay_alert_mysy("1"); + setalert_message(text); + setalert_type("success"); + + } + else { + setRecord_All_PJ_message(result['message']); + setRecord_All_PJ_api("false"); + // alert(result['message']); + + setdisplay_alert_mysy("1"); + setalert_message(result['message']); + setalert_type("error"); + } + + }) + .catch((error) => { + setLoading(false); + console.error(' Record_All_PJ Error:', error); + setRecord_All_PJ_api("false"); + alert(" Impossible d'ajouter la pièce jointe") + }); + + } + + + } + + + const [Delete_one_attached_document_api, setDelete_one_attached_document_api] = useState(); + const [Delete_one_attached_document_result, setDelete_one_attached_document_result] = useState(); + const [Delete_one_attached_document_message, setDelete_one_attached_document_message] = useState(); + + const Delete_one_attached_document = (event) => { + const stored_cookie = getCookie('tokenmysypart'); + + var formData = new FormData(); + var nom_fiche_detaillee = "Fiche_Detaillee.pdf"; + var file_name = event.target.id; + + + formData.append("token", stored_cookie); + formData.append("file_name", file_name); + + var url = process.env.REACT_APP_API_URL + "myclass/api/Delete_Stored_Downloaded_File/"; + + setLoading(true); + fetch( + process.env.REACT_APP_API_URL + "myclass/api/Delete_Stored_Downloaded_File/", + { + method: 'POST', + body: formData, + } + ) + .then((response) => response.json()) + .then((result) => { + setLoading(false); + //console.log(" ## result['status'] = ", result['status']) + if (String(result['status']) === String("true")) { + //console.log('Success:', result['message']); + setDelete_one_attached_document_result(result['message']); + setDelete_one_attached_document_api("true"); + Get_List_Of_All_PJ(selected_stage_id); + // alert(result['message']) + setdisplay_alert_mysy("1"); + setalert_message(result['message']); + setalert_type("success"); + + } + else { + setDelete_one_attached_document_message(result['message']); + setDelete_one_attached_document_api("false"); + // alert(result['message']) + setdisplay_alert_mysy("1"); + setalert_message(result['message']); + setalert_type("error"); + } + + }) + .catch((error) => { + setLoading(false); + console.error(' Record_All_PJ Error:', error); + setDelete_one_attached_document_api("false"); + // alert(" Impossible de supprimer le document") + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de supprimer le document"); + setalert_type("error"); + + }); + + + } + + + const Delete_one_attached_document_convention = (event) => { + var file_name = event.target.id; + + } + + const [Get_List_Of_All_PJ_api, setGet_List_Of_All_PJ_api] = useState(); + const [Get_List_Of_All_PJ_result, setGet_List_Of_All_PJ_result] = useState(); + const [Get_List_Of_All_PJ_message, setGet_List_Of_All_PJ_message] = useState(); + + function Get_List_Of_All_PJ(local_employee_id) { + + const formData = new FormData(); + + //formData.append('token', 'K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA'); + const stored_cookie = getCookie('tokenmysypart'); + + formData.append("token", stored_cookie); + formData.append("object_owner_collection", "inscription_stage"); + formData.append("object_owner_id", local_employee_id); + + + //formData.append("class_internal_url", internal_url); + //console.log("token = " + stored_cookie); + setLoading(true); + + fetch( + process.env.REACT_APP_API_URL + "myclass/api/Get_List_object_owner_collection_Stored_Files/", + { + method: 'POST', + body: formData, + } + ) + .then((response) => response.json()) + .then((result) => { + setLoading(false); + + //console.log(" ## result['status'] = ", result['status']) + if (String(result['status']) === String("true")) { + //console.log('Message :', result['message']); + setGet_List_Of_All_PJ_result(result['message']); + setGet_List_Of_All_PJ_api("true"); + + } + else { + setGet_List_Of_All_PJ_message(result['message']); + setGet_List_Of_All_PJ_api("false"); + } + + }) + .catch((error) => { + setLoading(false); + console.error(' Get_List_Of_All_PJ Error:', error); + setGet_List_Of_All_PJ_api("false"); + }); + + } + + + + function Delete_file_1_name() { + setfile_1_name(); + } + + function Delete_file_2_name() { + setfile_2_name(); + } + + const [p_detail_one_file_to_download_type_name, setp_detail_one_file_to_download_type_name] = useState(); + + // -- end gestion pièces jointes + + const [Delete_Stage_api, setDelete_Stage_api] = useState(); + const [Delete_Stage_message, setDelete_Stage_message] = useState(); + const [Delete_Stage_result, setDelete_Stage_result] = useState(); + function Delete_Stage(local_selected_stage_id) { + + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("stage_id", local_selected_stage_id); + + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Given_Stage_Inscrit/"; + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Delete_Stage res.data.status = " + res.data.status); + //console.log(" In Delete_Stage res.data.message r_class = " + res.data.message); + setLoading(false); + if (String(res.data.status) === String("true")) { + setDelete_Stage_api("true"); + setDelete_Stage_result(res.data.message); + + setadd_one_stage(""); + Get_Inscrit_List_Stage(props.selected_id); + clear_stage_fields(); + setdisplay_selected_stage(""); + setadd_one_stage(""); + setstage_data_changed(""); + setedit_stage_data("0"); + + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setDelete_Stage_api("false"); + setDelete_Stage_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + }).catch((error) => { + setLoading(false); + console.warn('Delete_Stage : Not good man :( mysearchtext = ' + error); + setDelete_Stage_api("false"); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de supprimer le stage"); + setalert_type("error"); + }) + } + + const New_Stage_Evaluation_Type = [ + { "id": "eval_tuteur_entreprise", "label": "Tuteur Entreprise", "value": "eval_tuteur_entreprise" }, + { "id": "eval_tuteur_ecole", "label": "Tuteur Ecole", "value": "eval_tuteur_ecole" }, + { "id": "", "label": "", "value": "" }, + ] return (
@@ -2509,9 +2935,35 @@ const Module_Gestion_Stage = (props) => { +
Type Evaluation + {New_Stage_Evaluation_Type.length > 0 && (data).id === String(selected_type_stage_eval))[0].label} -
Choisir un questionnaire de positionnement + onChange={(event, value) => { + if (value && value.id) { + setselected_type_stage_eval(value.id); + + } else { + setselected_type_stage_eval(""); + } + }} + + renderInput={(params) => + } + />} +
+ +
Choisir un questionnaire d'évaluation {New_Getall_Partner_Formulaires_with_Filter.length > 0 && { if (String(selected_formulaire_id).length < 5) { setdisplay_alert_mysy("1"); - setalert_message("Vous devez choisir un questionnaire de positionnement"); + setalert_message("Vous devez choisir un questionnaire d'évaluation"); setalert_type("error"); return; } @@ -3089,14 +3541,13 @@ const Module_Gestion_Stage = (props) => {
{' '} - En confirmant cette opération, la session sera définitivement supprimée.
+ En confirmant cette opération, le stage sera définitivement supprimé.
@@ -3125,7 +3576,7 @@ const Module_Gestion_Stage = (props) => { -
 
+
 
@@ -3199,7 +3650,7 @@ const Module_Gestion_Stage = (props) => { }} > { setselected_stage_id(newSelectionModel.row._id); handleClick_edit_stage_From_Line(newSelectionModel.row.id); detail_stage_synthese(); + + if (document.getElementById('myRef_stage_detail')) { + var divh = document.getElementById('myRef_stage_detail').offsetTop + 400; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } }} rowsPerPageOptions={[10]} @@ -3328,6 +3787,15 @@ const Module_Gestion_Stage = (props) => { Getall_RH(); setadd_one_stage("1"); + if (document.getElementById('myRef_stage_detail')) { + var divh = document.getElementById('myRef_stage_detail').offsetTop + 400; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + + console.log(" ## divh = ", divh) + } }} className="detail_class_submenu bton_add_session" id='menu_import_participant' name='menu_import_participant'>Ajout 1 Stage   @@ -3353,7 +3821,7 @@ const Module_Gestion_Stage = (props) => {
 
- +
 
{add_one_stage === "1" &&
Nouveau stage @@ -3382,26 +3850,42 @@ const Module_Gestion_Stage = (props) => { options={New_Get_List_Partner_Clients_result} value={New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(p_detail_stage_partner_client_id))[0].label} onChange={(event, value) => { + setp_detail_stage_partner_client_tuteur_id(""); + setNew_Get_Given_Client_All_Contact_result([{ + "_id": "", + "id": "", + "label": "", + "nom": "", + "prenom": "", + "civilite": "", + "fonction": "", + "email": "", + "telephone": "", + "telephone_mobile": "", + }]) + + + if (value && value._id) { Get_Given_Client_All_Contact(value._id); setp_detail_stage_partner_client_id(value._id); + setp_detail_stage_partner_adresse(value.adr_adresse); + setp_detail_stage_partner_cp(value.adr_code_postal); + setp_detail_stage_partner_ville(value.adr_ville); + setp_detail_stage_partner_pays(value.adr_pays); + setp_detail_stage_partner_email(value.email); + setp_detail_stage_partner_telephone(value.telephone); + } else { - setNew_Get_Given_Client_All_Contact_result([{ - "_id": "", - "id": "", - "label": "", - "nom": "", - "prenom": "", - "civilite": "", - "fonction": "", - "email": "", - "telephone": "", - "telephone_mobile": "", - }]) - setp_detail_stage_partner_client_id(""); + setp_detail_stage_partner_adresse(""); + setp_detail_stage_partner_cp(""); + setp_detail_stage_partner_ville(""); + setp_detail_stage_partner_pays(""); + setp_detail_stage_partner_email(""); + setp_detail_stage_partner_telephone(""); } }} @@ -3691,7 +4175,7 @@ const Module_Gestion_Stage = (props) => {
- +
@@ -3727,9 +4211,8 @@ const Module_Gestion_Stage = (props) => { paddingLeft: '10px', flexWrap: 'wrap' }}> -
Entreprise partenaire
- - {New_Get_List_Partner_Clients_result.length > 0 && String(edit_stage_data) === "1" && 0 && String(edit_stage_data) === "1" &&
Entreprise partenaire
+ { disabled={String(edit_stage_data) === "1" ? false : true} onChange={(event, value) => { + + setp_detail_stage_partner_client_tuteur_id(""); + setNew_Get_Given_Client_All_Contact_result([{ + "_id": "", + "id": "", + "label": "", + "nom": "", + "prenom": "", + "civilite": "", + "fonction": "", + "email": "", + "telephone": "", + "telephone_mobile": "", + }]) + setstage_data_changed("1"); if (value && value._id) { Get_Given_Client_All_Contact(value._id); @@ -3746,6 +4244,7 @@ const Module_Gestion_Stage = (props) => { } else { + setNew_Get_Given_Client_All_Contact_result([{ "_id": "", "id": "", @@ -3758,7 +4257,6 @@ const Module_Gestion_Stage = (props) => { "telephone": "", "telephone_mobile": "", }]) - setp_detail_stage_partner_client_id(""); } @@ -3769,22 +4267,45 @@ const Module_Gestion_Stage = (props) => { /> } - />} + /> +
} - {New_Get_List_Partner_Clients_result.length > 0 && String(edit_stage_data) !== "1" && - (data)._id === String(p_detail_stage_partner_client_id))[0].label} - />} + {New_Get_List_Partner_Clients_result.length > 0 && String(edit_stage_data) !== "1" && + + } + -
Tuteur en entreprise
@@ -4129,7 +4650,7 @@ const Module_Gestion_Stage = (props) => {
- Description + Description & Objet
{
- Objectif + Objectif pédagogique
{
+
+
+ +
+
+ +
+ Missions de l'étudiant +
+ +
+
 
+ { + setp_detail_stage_mission_etudiant(e.target.value); + setstage_data_changed("1"); + }} + disabled={String(edit_stage_data) === "1" ? false : true} + /> + +
+ +
+
+
+ +
+
+ +
+ Contraintes +
+ +
+
 
+ { + setp_detail_stage_contrainte(e.target.value); + setstage_data_changed("1"); + }} + disabled={String(edit_stage_data) === "1" ? false : true} + /> +
+ +
+
+
+ + + +
+
+ +
@@ -4230,9 +4833,9 @@ const Module_Gestion_Stage = (props) => { border: "1px solid gainsboro", width: '99%', padding: '2px', maxHeight: '15rem', height: '10rem', minHeight: '10rem', marginBottom: '3rem' }} - value={p_detail_stage_objectif} + value={p_detail_stage_condition_horaire} onChange={(e) => { - setp_detail_stage_objectif(e.target.value); + setp_detail_stage_condition_horaire(e.target.value); setstage_data_changed("1"); }} disabled={String(edit_stage_data) === "1" ? false : true} @@ -4267,9 +4870,9 @@ const Module_Gestion_Stage = (props) => { border: "1px solid gainsboro", width: '99%', padding: '2px', maxHeight: '15rem', height: '5rem', minHeight: '5rem', marginBottom: '3rem' }} - value={p_detail_stage_objectif} + value={p_detail_stage_remuneration} onChange={(e) => { - setp_detail_stage_objectif(e.target.value); + setp_detail_stage_remuneration(e.target.value); setstage_data_changed("1"); }} disabled={String(edit_stage_data) === "1" ? false : true} @@ -4435,7 +5038,7 @@ const Module_Gestion_Stage = (props) => { Getall_Partner_Formulaires_with_Filter(); setDialog_LIST_STAGE_EVAL_open(true); - }}>Initialiser Q. Position + }}>Initialiser Q. Evaluation @@ -4523,6 +5126,7 @@ const Module_Gestion_Stage = (props) => { date_envoie: JSON.parse(item).date_envoi, date_reponse: JSON.parse(item).date_reponse, mode_envoi: JSON.parse(item).mode_envoi, + stage_type_eval: JSON.parse(item).stage_type_eval, } ))} @@ -4648,18 +5252,18 @@ const Module_Gestion_Stage = (props) => { } {actionmass_q_eval_entreprise_val && String(actionmass_q_eval_entreprise_val) === "print" && } {String(actionmass_q_eval_entreprise_val) === "delete_survey" && Seule les demandes au statut 'Init' sont supprimables
- Confirmer la suppression en masse de {selectionModel_stage.length} questionnaire(s) de positionnement. + Confirmer la suppression en masse de {selectionModel_stage.length} questionnaire(s) d'évaluation. } {actionmass_q_eval_entreprise_val && String(actionmass_q_eval_entreprise_val) === "stage_eval_entreprise_qr_code" && } @@ -4708,7 +5312,99 @@ const Module_Gestion_Stage = (props) => { } {stage_submenu === "stage_piece_jointe" && <> -
stage_piece_jointe
+ +
+
+
+
+ + + {String(props.check_user_acces_right("stagiaire", "write")) === "1" &&
+ +
+ +
+ {file_1_name && file_1_name.name && + } + + {Record_All_PJ_api && String(Record_All_PJ_api) === "true" &&
Pièce jointe enregistrée
} + + {Record_All_PJ_api && String(Record_All_PJ_api) === "false" &&
{Record_All_PJ_message}
} + + +
} + + + {file_1_name && file_1_name.name &&
+ +
+ +
+ + +
} + + + + +
+ +
+ +
}
}
diff --git a/src/components/Modules_Mes_Documents.js b/src/components/Modules_Mes_Documents.js index f7fd2d7..1bc7b96 100644 --- a/src/components/Modules_Mes_Documents.js +++ b/src/components/Modules_Mes_Documents.js @@ -482,7 +482,7 @@ const Modules_Mes_Documents = (props) => { - const myRef = useRef(null); + const myRef = useRef(null); const [history_securite_read, sethistory_securite_read] = useState("");