diff --git a/src/components/DisplayPartnerSession.js b/src/components/DisplayPartnerSession.js index e2dec1c..d4e0fac 100644 --- a/src/components/DisplayPartnerSession.js +++ b/src/components/DisplayPartnerSession.js @@ -10,17 +10,17 @@ import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; import { Editor } from '@tinymce/tinymce-react'; import parse from 'html-react-parser'; -import { FcViewDetails, FcDisapprove, FcInfo, FcExpired } from "react-icons/fc"; +import { FcViewDetails, FcDisapprove, FcInfo, FcExpired } from "react-icons/fc"; import 'react-tooltip/dist/react-tooltip.css' import { Tooltip } from 'react-tooltip' import add_plus from "../mysy_img/plus.png"; -import excel_icone from "../mysy_img/excel_icone.png"; +import excel_icone from "../mysy_img/excel_icone.png"; import participants from "../mysy_img/participants.png"; import fileDownload from 'js-file-download' import Popup from 'reactjs-popup'; import 'reactjs-popup/dist/index.css'; import { FcSearch } from "react-icons/fc"; -import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow } from "react-icons/fc"; +import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow, FcComments } from "react-icons/fc"; import DatePicker from "react-datepicker"; import "react-datepicker/dist/react-datepicker.css"; import { format } from 'date-fns' @@ -1048,6 +1048,33 @@ const DisplayPartnerSession = (props) => { }, + { field: 'comment', headerName: 'Comment', width: 100, flex: 1, renderCell: (params) => , }, + + { + field: "adcomment", headerName: 'Ajout Com.', + renderCell: (cellValues) => { + return ( + + + + ); + } + }, ] @@ -1488,6 +1515,8 @@ const DisplayPartnerSession = (props) => { var internal_url = line.class_internal_url; setselected_internal_url(line.class_internal_url); + setselected_session_invoiced_statut(line.invoiced_statut); + var session_id = line._id; setselected_session_id(session_id); @@ -2319,6 +2348,9 @@ const DisplayPartnerSession = (props) => { const [selected_internal_url, setselected_internal_url] = useState(); const [selected_class_title, setselected_class_title] = useState(); + const [selected_session_invoiced_statut, setselected_session_invoiced_statut] = useState(""); + + const [one_selected_internal_url, setone_selected_internal_url] = useState(); @@ -4015,7 +4047,7 @@ const DisplayPartnerSession = (props) => { let [edit_session_form, setedit_session_form] = useState(false); function enableSessionFields() { - // zzzz + if (rowss && String(gridline_id).length > 0 && rowss.length > 0) { var local_session_invoice_status = JSON.parse(rowss[gridline_id]).invoiced_statut; @@ -9381,6 +9413,59 @@ const DisplayPartnerSession = (props) => { } + const [Update_Comment_Given_Emargement_api, setUpdate_Comment_Given_Emargement_api] = useState(); + const [Update_Comment_Given_Emargement_message, setUpdate_Comment_Given_Emargement_message] = useState(); + const [Update_Comment_Given_Emargement_result, setUpdate_Comment_Given_Emargement_result] = useState(); + function Update_Comment_Given_Emargement(emargement_id) { + + + + /*console.log(" ### date , email, matin,matin_val, apresmidi, apresmidi_val = ", + date, email, matin, matin_val, apresmidi, apresmidi_val);*/ + + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("tab_ids", emargement_id); + form.append("comment", p_detail_emargement_comment); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Given_Emargement_Data/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In UpdateStagiaireData res.data.status = " + res.data.status); + //console.log(" In UpdateStagiaireData res.data.message r_class = " + res.data.message); + setUpdate_Comment_Given_Emargement_api("true"); + setUpdate_Comment_Given_Emargement_result(res.data.message); + GetListeEmargement(selected_session_id, selected_internal_url); + alert(res.data.message); + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setUpdate_Comment_Given_Emargement_api("false"); + setUpdate_Comment_Given_Emargement_message(res.data.message); + alert(res.data.message); + + } + + }).catch((error) => { + setLoading(false); + console.warn('Update_Comment_Given_Emargement : Not good man :( mysearchtext = ' + error); + setUpdate_Comment_Given_Emargement_api("false"); + alert(" Impossible de mettre à jour l'émargement"); + + }) + + } + + function submenu_add_one_tuteur() { setDialog_tuteur_1_open(true); } @@ -11078,7 +11163,7 @@ const DisplayPartnerSession = (props) => { const [p_detail_invoice_split_facture_done, setp_detail_invoice_split_facture_done] = useState(""); - + const [p_detail_emargement_comment, setp_detail_emargement_comment] = useState(""); const New_Option_Type_split_invoice = [ @@ -11094,6 +11179,24 @@ const DisplayPartnerSession = (props) => { setdisplay_session_with_alert(event.target.checked); }; + + const [Dialog_COMMENT_EMARGEMENTE_open, setDialog_COMMENT_EMARGEMENTE_open] = React.useState(false); + const Dialog_COMMENT_EMARGEMENTE_handleClose = () => { + + }; + + const Dialog_COMMENT_EMARGEMENTE_handleClose_buton = () => { + setselected_emargement_id(""); + setselected_emargement_user(""); + setselected_emargement_date(""); + setDialog_COMMENT_EMARGEMENTE_open(false); + + }; + + + const [selected_emargement_user, setselected_emargement_user] = useState(""); + const [selected_emargement_date, setselected_emargement_date] = useState(""); + return (
@@ -11102,6 +11205,124 @@ const DisplayPartnerSession = (props) => {
} + { /******** Dialog de comment emargement */} + + + + MySy Information + + + {selected_emargement_date}
{selected_emargement_user} +
+ + + { + if (String(selected_session_invoiced_statut) !== "1" && String(selected_session_invoiced_statut) !== "2") { + setp_detail_emargement_comment(e.target.value); + } else if (String(selected_session_invoiced_statut) === "1") { + alert(" La session est en cours de facturation ") + } else if (String(selected_session_invoiced_statut) === "2") { + alert(" La session est déjà facturée ") + } + } + } + /> + + + + +
+ + + {String(selected_session_invoiced_statut) !== "1" && String(selected_session_invoiced_statut) !== "2" &&
+ +
+
+ + + Mettre à jour + + } + modal + nested + position="center center" + + > + + {close => ( +
+ +
MySy Information
+
+ {' '} + + + Confirmer la mise à jour du partage de facture + + + +
+
+
+ + +
+
+ +
+
+
+ )} +
+ +
+ +
+ +
+
+ +
+ +
} + + +
+ + { /******** End de comment emargement */} + + { /******** Dialog de Split Facture */} { {Dialog_2_message} + + +

@@ -13791,6 +14015,10 @@ const DisplayPartnerSession = (props) => { setsession_selected_row_id(newSelectionModel.row.id); + setselected_session_invoiced_statut(newSelectionModel.row.invoiced_statut); + + console.log(" ### newSelectionModel.row.invoiced_statut = ", newSelectionModel.row.invoiced_statut); + setDialog_2_message(String(JSON.parse(rowss[newSelectionModel.row.id]).title)); setDialog_2_open(true); @@ -19416,6 +19644,9 @@ const DisplayPartnerSession = (props) => { date_envoi: JSON.parse(item).date_envoi, date_emargement: JSON.parse(item).date_emargement, signature: JSON.parse(item).mysy_manual_signature_img, + + comment: JSON.parse(item).comment, + } ))} @@ -20048,7 +20279,7 @@ const DisplayPartnerSession = (props) => { + SessionendDate={new Date(moment(SessionendDate, "DD/MM/YYYY"))} session_formateur_id={p_formateur_id} session_class_id={p_detail_session_class_id} />
}