diff --git a/src/components/DisplayPartnerSession.js b/src/components/DisplayPartnerSession.js
index 2db9dce..7968b73 100644
--- a/src/components/DisplayPartnerSession.js
+++ b/src/components/DisplayPartnerSession.js
@@ -78,6 +78,7 @@ import multiMonthPlugin from '@fullcalendar/multimonth'
import Module_Session_Planification from "./Module_Session_Planification";
import Module_Session_Evaluation from "./Module_Session_Evaluation";
+import AccountTreeIcon from '@mui/icons-material/AccountTree';
const DisplayPartnerSession = (props) => {
@@ -705,7 +706,7 @@ const DisplayPartnerSession = (props) => {
renderCell: (params) => ,
},
{ field: 'prenom', headerName: 'prenom', minWidth: 150, flex: 1, hide: false, editable: false, renderCell: (params) => , },
- { field: 'email', headerName: 'email', minWidth: 150, flex: 1, flex: 1, renderCell: (params) => , },
+ { field: 'email', headerName: 'email', minWidth: 150, flex: 1, renderCell: (params) => , },
{ field: 'client_rattachement_nom', headerName: 'Client', minWidth: 150, flex: 1, maxWidth: 200, hide: false, editable: true, renderCell: (params) => , },
{ field: 'client_rattachement_id', headerName: 'Client_id', Width: 0, hide: true, editable: false, },
@@ -739,8 +740,37 @@ const DisplayPartnerSession = (props) => {
return "Non";
},
},
- { field: 'invoiced_ref', headerName: 'Num Fact.', minWidth: 100, flex: 1, maxWidth: 150, flex: 1, editable: false, hide: true, },
- { field: 'invoiced_date', headerName: 'Date Fact.', minWidth: 100, flex: 1, maxWidth: 150, flex: 1, editable: false, hide: true, },
+ { field: 'invoiced_ref', headerName: 'Num Fact.', minWidth: 100, flex: 1, maxWidth: 150, flex: 1, editable: false, hide: false, flex: 1, renderCell: (params) => , },
+ { field: 'invoiced_date', headerName: 'Date Fact.', minWidth: 100, flex: 1, maxWidth: 150, flex: 1, editable: false, hide: true, flex: 1, renderCell: (params) => , },
+
+ {
+ field: "split_invoice", headerName: 'Eclat. Fact',
+ renderCell: (cellValues) => {
+ return (
+
+
+
+ );
+ }
+ },
{
@@ -789,7 +819,7 @@ const DisplayPartnerSession = (props) => {
}
},
{
- field: "Imprimer", headerName: 'Imprimer detail',
+ field: "Imprimer", headerName: 'Imprimer detail', hide: true,
renderCell: (cellValues) => {
return (
@@ -3289,16 +3319,14 @@ const DisplayPartnerSession = (props) => {
form.append("token", stored_cookie);
form.append("session_id", selected_session_id);
form.append("tab_inscription_ids", tab_my_inscription_ids);
- form.append("courrier_template_id", "64fde469da3a50338b92fb83");
-
- form.append("email_test", "");
- form.append("email_production", "");
+ form.append("tab_files", "");
+
//console.log(" #### form = ", form);
- var myurl = process.env.REACT_APP_API_URL + "myclass/api/Prepare_and_Send_Facture_From_Session_By_Inscription_Id/";
+ var myurl = process.env.REACT_APP_API_URL + "myclass/api/Invoice_Inscrption_With_Split_Session_By_Inscription_Id/";
setLoading(true);
axios.post(myurl, form).then(res => {
@@ -8817,11 +8845,11 @@ const DisplayPartnerSession = (props) => {
});
}
-
+
const New_Option_Emargement_Masse = [
{ "id": "demande emargement", "label": "Envoyer demande émargement", "value": "demande emargement" },
- { "id": "emarg_qr_code", "label": "Emargement QR CODE", "value": "emarg_qr_code" },
+ { "id": "emarg_qr_code", "label": "Emargement QR CODE", "value": "emarg_qr_code" },
]
@@ -8865,15 +8893,15 @@ const DisplayPartnerSession = (props) => {
}
else if (String(actionmass_emarg_val) === "emarg_qr_code") {
-
+
var tab_emargement = [];
for (var i = 0; i < liste_formation.length; i++) {
- var line = JSON.parse(rowss_emarg[liste_formation[i]]);
+ var line = JSON.parse(rowss_emarg[liste_formation[i]]);
tab_emargement.push(line._id)
}
-
+
Export_QR_CODE_Emargement(tab_emargement);
}
@@ -10050,7 +10078,7 @@ const DisplayPartnerSession = (props) => {
{ "id": "", "label": "", "value": "" },
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
]
-
+
const New_Option_Inscription = [
{ "id": "confirmation", "label": "Renvoyer une confirmation", "value": "confirmation" },
@@ -10735,6 +10763,224 @@ const DisplayPartnerSession = (props) => {
setLoading(false);
}
+ const [Dialog_SPLIT_INVOICE_open, setDialog_SPLIT_INVOICE_open] = React.useState(false);
+ const Dialog_SPLIT_INVOICE_handleClose = () => {
+
+ };
+
+ const Dialog_SPLIT_INVOICE_handleClose_buton = () => {
+ setDialog_SPLIT_INVOICE_open(false);
+ setp_detail_invoice_split_type("percent");
+ setp_detail_invoice_split_client_rattachement_id("");
+ setp_detail_invoice_split_client_rattachement_value("");
+ setp_detail_invoice_split_facture_client_rattachement_id("");
+ setp_detail_invoice_split_facture_client_rattachement_value("");
+ setp_detail_invoice_split_inscrit_prenom("");
+ setp_detail_invoice_split_inscrit_nom("");
+ setp_detail_invoice_split_changed("");
+
+ };
+
+
+
+
+ const [Add_Update_Split_Invoice_api, setAdd_Update_Split_Invoice_api] = useState();
+ const [Add_Update_Split_Invoice_message, setAdd_Update_Split_Invoice_message] = useState();
+ const [Add_Update_Split_Invoice_result, setAdd_Update_Split_Invoice_result] = useState([]);
+ function Add_Update_Split_Invoice() {
+ var form = new FormData();
+ //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
+ const stored_cookie = getCookie('tokenmysypart');
+ form.append("token", stored_cookie);
+ form.append("inscription_id", selected_inscription_id);
+ form.append("split_type", p_detail_invoice_split_type);
+
+ var tab_split = []
+ var node1 = {}
+ node1['partner_client'] = String(p_detail_invoice_split_client_rattachement_id);
+ node1['invoice_part'] = String(p_detail_invoice_split_client_rattachement_value);
+
+ var node2 = {}
+ node2['partner_client'] = String(p_detail_invoice_split_facture_client_rattachement_id);
+ node2['invoice_part'] = String(p_detail_invoice_split_facture_client_rattachement_value);
+
+ tab_split.push(node1);
+ tab_split.push(node2);
+
+ var tab_split_json_str = JSON.stringify(tab_split);
+
+ form.append("tab_split", tab_split_json_str);
+
+ var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Update_Inscription_Split_Invoice/";
+
+
+ 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);
+ setAdd_Update_Split_Invoice_api("true");
+ setAdd_Update_Split_Invoice_result(res.data.message);
+
+ alert(res.data.message);
+ Dialog_SPLIT_INVOICE_handleClose_buton();
+
+ } else if (String(res.data.status) === String("Err_Connexion")) {
+ alert('Erreur: ' + res.data.message);
+ history.push("/Connexion");
+ }
+ else {
+ setAdd_Update_Split_Invoice_api("false");
+ setAdd_Update_Split_Invoice_message(res.data.message);
+ alert(res.data.message);
+ }
+
+ }).catch((error) => {
+ setLoading(false);
+ console.warn('Add_Update_Split_Invoice : Not good man :( mysearchtext = ' + error);
+ setAdd_Update_Split_Invoice_api("false");
+ alert(" Impossible de mette à jour le partage de facture ");
+
+ })
+ }
+
+
+ const [Get_Inscription_Split_Invoice_api, setGet_Inscription_Split_Invoice_api] = useState();
+ const [Get_Inscription_Split_Invoice_message, setGet_Inscription_Split_Invoice_message] = useState();
+ const [Get_Inscription_Split_Invoice_result, setGet_Inscription_Split_Invoice_result] = useState([]);
+ function Get_Inscription_Split_Invoice(local_inscription_id) {
+ var form = new FormData();
+ //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
+ const stored_cookie = getCookie('tokenmysypart');
+ form.append("token", stored_cookie);
+ form.append("inscription_id", local_inscription_id);
+
+ var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Inscription_Split_Invoice/";
+
+ 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);
+ setGet_Inscription_Split_Invoice_api("true");
+ setGet_Inscription_Split_Invoice_result(res.data.message);
+
+
+ const new_data = res.data.message.map((x) => {
+
+ //---
+ if (JSON.parse(x).invoice_split) {
+ var localid = JSON.parse(x).id;
+ var local_id = JSON.parse(x)._id;
+ var local_invoice_split = JSON.parse(x).invoice_split;
+ var local_tab_split = JSON.parse(x).invoice_split.tab_split;
+
+ setp_detail_invoice_split_type(JSON.parse(x).invoice_split.split_type);
+
+
+ if (local_tab_split.length >= 2) {
+
+ setp_detail_invoice_split_client_rattachement_id(local_tab_split[0].partner_client);
+ setp_detail_invoice_split_client_rattachement_value(local_tab_split[0].invoice_part);
+
+ setp_detail_invoice_split_facture_client_rattachement_id(local_tab_split[1].partner_client);
+ setp_detail_invoice_split_facture_client_rattachement_value(local_tab_split[1].invoice_part);
+ }
+ }
+
+ });
+
+
+ } else if (String(res.data.status) === String("Err_Connexion")) {
+ alert('Erreur: ' + res.data.message);
+ history.push("/Connexion");
+ }
+ else {
+ setGet_Inscription_Split_Invoice_api("false");
+ setGet_Inscription_Split_Invoice_message(res.data.message);
+ alert(res.data.message);
+ }
+
+ }).catch((error) => {
+ setLoading(false);
+ console.warn('Get_Inscription_Split_Invoice : Not good man :( mysearchtext = ' + error);
+ setGet_Inscription_Split_Invoice_api("false");
+ alert(" Impossible de récuperer le partage de facture ");
+
+ })
+ }
+
+ const [Delete_Inscription_Split_Invoice_api, setDelete_Inscription_Split_Invoice_api] = useState();
+ const [Delete_Inscription_Split_Invoice_message, setDelete_Inscription_Split_Invoice_message] = useState();
+ const [Delete_Inscription_Split_Invoice_result, setDelete_Inscription_Split_Invoice_result] = useState([]);
+ function Delete_Inscription_Split_Invoice() {
+ var form = new FormData();
+ //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
+ const stored_cookie = getCookie('tokenmysypart');
+ form.append("token", stored_cookie);
+ form.append("inscription_id", selected_inscription_id);
+
+ var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Inscription_Split_Invoice/";
+
+ 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);
+ setDelete_Inscription_Split_Invoice_api("true");
+ setDelete_Inscription_Split_Invoice_result(res.data.message);
+
+ alert(res.data.message);
+ Dialog_SPLIT_INVOICE_handleClose_buton();
+
+
+ } else if (String(res.data.status) === String("Err_Connexion")) {
+ alert('Erreur: ' + res.data.message);
+ history.push("/Connexion");
+ }
+ else {
+ setDelete_Inscription_Split_Invoice_api("false");
+ setDelete_Inscription_Split_Invoice_message(res.data.message);
+ alert(res.data.message);
+ }
+
+ }).catch((error) => {
+ setLoading(false);
+ console.warn('Delete_Inscription_Split_Invoice : Not good man :( mysearchtext = ' + error);
+ setDelete_Inscription_Split_Invoice_api("false");
+ alert(" Impossible de supprimer le partage de facture ");
+
+ })
+ }
+
+
+ const [p_detail_invoice_split_inscrit_nom, setp_detail_invoice_split_inscrit_nom] = useState("");
+ const [p_detail_invoice_split_inscrit_prenom, setp_detail_invoice_split_inscrit_prenom] = useState("");
+
+ const [p_detail_invoice_split_type, setp_detail_invoice_split_type] = useState("percent");
+
+ const [p_detail_invoice_split_changed, setp_detail_invoice_split_changed] = useState("");
+
+
+ const [p_detail_invoice_split_client_rattachement_id, setp_detail_invoice_split_client_rattachement_id] = useState("");
+ const [p_detail_invoice_split_client_rattachement_value, setp_detail_invoice_split_client_rattachement_value] = useState("");
+
+ const [p_detail_invoice_split_facture_client_rattachement_id, setp_detail_invoice_split_facture_client_rattachement_id] = useState("");
+ const [p_detail_invoice_split_facture_client_rattachement_value, setp_detail_invoice_split_facture_client_rattachement_value] = useState("");
+
+ const New_Option_Type_split_invoice = [
+
+ { "id": "percent", "label": "Pourcentage", "value": "percent" },
+ { "id": "fixe", "label": "Montant", "value": "fixe" },
+ { "id": "", "label": "", "value": "" },
+ ]
+
return (
@@ -10743,6 +10989,244 @@ const DisplayPartnerSession = (props) => {
}
+ { /******** Dialog de Split Facture */}
+
+
+
+ { /******** End Dialog de Split Facture */}
+
{/**** Dialogue pour EVENT SEMAINE TYPE */}