14/09/2023 - 21h
parent
e52a64f098
commit
56ddcecd8a
|
@ -1,3 +1,4 @@
|
|||
prenom;nom;employeur;telephone;email;modefinancement;opco;status;prix
|
||||
Cherif;BALDE;employeur 1;10101;billardman1@yahoo.fr;modefinancement;opco;0;120
|
||||
Sekou;Cherif;employeur 2;10101;billardman01@hotmail.com;modefinancement;opco;0;120
|
||||
formation_code_externe;code_session;client_rattachement_email;client_rattachement_nom;prenom;nom;employeur;telephone;email;adresse;code_postal;ville;pays;modefinancement;opco;status;prix
|
||||
MYSY_Test_AP;AR01;;;part 2;part nom2;employeur 2;10101;line1@mysy.fr;adresse01;code_postal01;ville01;pays01;modefinancement;opco;0;150
|
||||
MYSY_Test_AP;AR01;;;part 3;part nom3;employeur 3;10101;line2@mysy.fr;adresse02;code_postal02;ville02;pays02;modefinancement;;1;180
|
||||
MYSY_Test_AP;AR01;;;part 4;part nom4;employeur 4;10101;line3@mysy.fr;adresse03;code_postal03;ville03;pays03;modefinancement;;0;110
|
||||
|
|
|
|
@ -0,0 +1,4 @@
|
|||
formation_code_externe;code_session;client_rattachement_email;client_rattachement_nom;prenom;nom;employeur;telephone;email;adresse;code_postal;ville;pays;modefinancement;opco;status;prix
|
||||
MYSY_Test_AP;AP01;;;part 2;part nom2;employeur 2;10101;line1@mysy.fr;adresse01;code_postal01;ville01;pays01;modefinancement;opco;0;150
|
||||
MYSY_Test_AR;AR02;;;part 3;part nom3;employeur 3;10101;line2@mysy.fr;adresse02;code_postal02;ville02;pays02;modefinancement;;1;180
|
||||
MYSY_Test_AP;AP02;;;part 4;part nom4;employeur 4;10101;line3@mysy.fr;adresse03;code_postal03;ville03;pays03;modefinancement;;0;110
|
|
|
@ -49,6 +49,14 @@ const Config_Documents = (props) => {
|
|||
const [field_programme, setfield_programme] = useState("");
|
||||
const [editor_tochange, seteditor_tochange] = useState("");
|
||||
|
||||
|
||||
const one_editorRef_programme = useRef(null);
|
||||
const [one_editorRef_programme_limite, setone_editorRef_programme_limite] = useState(1000);
|
||||
const [one_field_programme, setone_field_programme] = useState("");
|
||||
const [one_editor_tochange, setone_editor_tochange] = useState("");
|
||||
|
||||
|
||||
|
||||
var date_today_90j = new Date();
|
||||
date_today_90j.setDate(date_today_90j.getDate() + 90);
|
||||
|
||||
|
@ -185,6 +193,8 @@ const Config_Documents = (props) => {
|
|||
|
||||
|
||||
const [selected_id, setselected_id] = useState();
|
||||
const [selected_template_ref_interne, setselected_template_ref_interne] = useState();
|
||||
|
||||
function handleClick_display_partner_document(selected_row_id) {
|
||||
|
||||
setdisplay_detail_document("1");
|
||||
|
@ -196,7 +206,9 @@ const Config_Documents = (props) => {
|
|||
var document_id = line._id;
|
||||
setselected_id(document_id);
|
||||
|
||||
//console.log(" ### document_id = ", document_id);
|
||||
setselected_template_ref_interne(line.ref_interne);
|
||||
|
||||
console.log(" ### line.ref_interne = ", line.ref_interne);
|
||||
Get_Partner_Document_Data(document_id);
|
||||
|
||||
if (myRef.current) {
|
||||
|
@ -222,6 +234,14 @@ const Config_Documents = (props) => {
|
|||
const [p_detail_type_doc, setp_detail_type_doc] = useState("");
|
||||
|
||||
|
||||
const [p_one_detail_cible, setp_one_detail_cible] = useState("");
|
||||
const [p_one_detail_contenu_doc, setp_one_detail_contenu_doc] = useState("");
|
||||
const [p_one_detail_nom, setp_one_detail_nom] = useState("");
|
||||
const [p_one_detail_ref_interne, setp_one_detail_ref_interne] = useState("");
|
||||
const [p_one_detail_sujet, setp_one_detail_sujet] = useState("");
|
||||
const [p_one_detail_type_doc, setp_one_detail_type_doc] = useState("");
|
||||
|
||||
|
||||
function clear_detail_fields() {
|
||||
setp_detail_cible("");
|
||||
setp_detail_contenu_doc();
|
||||
|
@ -229,9 +249,20 @@ const Config_Documents = (props) => {
|
|||
setp_detail_ref_interne("");
|
||||
setp_detail_sujet("");
|
||||
setp_detail_type_doc("");
|
||||
setfield_programme();
|
||||
}
|
||||
|
||||
|
||||
function clear_one_detail_fields() {
|
||||
setp_one_detail_cible("");
|
||||
setp_one_detail_contenu_doc();
|
||||
setp_one_detail_nom("");
|
||||
setp_one_detail_ref_interne("");
|
||||
setp_one_detail_sujet("");
|
||||
setp_one_detail_type_doc("");
|
||||
setone_field_programme();
|
||||
}
|
||||
|
||||
|
||||
const [display_detail_document, setdisplay_detail_document] = useState("");
|
||||
|
||||
|
@ -266,16 +297,19 @@ const Config_Documents = (props) => {
|
|||
if (mylocal_document.nom)
|
||||
setp_detail_nom(mylocal_document.nom);
|
||||
|
||||
document.getElementsByName("document_type")[0].value = "";
|
||||
|
||||
if (mylocal_document.type_doc)
|
||||
setp_detail_type_doc(mylocal_document.type_doc);
|
||||
|
||||
document.getElementsByName("document_ref_interne")[0].value = "";
|
||||
if (mylocal_document.cible)
|
||||
setp_detail_cible(mylocal_document.cible);
|
||||
|
||||
|
||||
if (mylocal_document.ref_interne) {
|
||||
setp_detail_ref_interne(mylocal_document.ref_interne);
|
||||
}
|
||||
|
||||
document.getElementsByName("document_sujet")[0].value = "";
|
||||
|
||||
if (mylocal_document.sujet) {
|
||||
setp_detail_sujet(mylocal_document.sujet);
|
||||
}
|
||||
|
@ -354,6 +388,13 @@ const Config_Documents = (props) => {
|
|||
if (mylocal_document.type_doc)
|
||||
setp_detail_type_doc(mylocal_document.type_doc);
|
||||
|
||||
|
||||
|
||||
if (mylocal_document.cible)
|
||||
setp_detail_cible(mylocal_document.cible);
|
||||
|
||||
|
||||
|
||||
document.getElementsByName("document_ref_interne")[0].value = "";
|
||||
if (mylocal_document.ref_interne) {
|
||||
setp_detail_ref_interne(mylocal_document.ref_interne);
|
||||
|
@ -402,6 +443,96 @@ const Config_Documents = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [Get_Default_Original_Partner_Document_Data_By_id_api, setGet_Default_Original_Partner_Document_Data_By_id_api] = useState();
|
||||
const [Get_Default_Original_Partner_Document_Data_By_id_message, setGet_Default_Original_Partner_Document_Data_By_id_message] = useState();
|
||||
const [Get_Default_Original_Partner_Document_Data_By_id_result, setGet_Default_Original_Partner_Document_Data_By_id_result] = useState();
|
||||
function Get_Default_Original_Partner_Document_Data_By_id(local_id) {
|
||||
setpartner_document_data_changed("");
|
||||
setpartner_document_data_edit_mode("");
|
||||
|
||||
clear_detail_fields();
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("_id", local_id);
|
||||
|
||||
//console.log(" ## form = ", form);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_DFAULT_Partner_Document/";
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
||||
if (String(res.data.status) === "true") {
|
||||
console.log(" In Get_Default_Original_Partner_Document_Data_By_id res.data.status = " + res.data.status);
|
||||
console.log(" In Get_Default_Original_Partner_Document_Data_By_id res.data.message r_class = " + res.data.message);
|
||||
setGet_Default_Original_Partner_Document_Data_By_id_api("true");
|
||||
setGet_Default_Original_Partner_Document_Data_By_id_result(res.data.message);
|
||||
|
||||
if (res.data.message.length > 0) {
|
||||
var mylocal_document = JSON.parse(res.data.message);
|
||||
|
||||
if (mylocal_document.nom)
|
||||
setp_one_detail_nom(mylocal_document.nom);
|
||||
|
||||
|
||||
if (mylocal_document.type_doc)
|
||||
setp_one_detail_type_doc(mylocal_document.type_doc);
|
||||
|
||||
|
||||
if (mylocal_document.cible)
|
||||
setp_one_detail_cible(mylocal_document.cible);
|
||||
|
||||
|
||||
|
||||
if (mylocal_document.ref_interne) {
|
||||
setp_one_detail_ref_interne(mylocal_document.ref_interne);
|
||||
}
|
||||
|
||||
|
||||
if (mylocal_document.sujet) {
|
||||
setp_one_detail_sujet(mylocal_document.sujet);
|
||||
}
|
||||
|
||||
setfield_programme("");
|
||||
if (mylocal_document.contenu_doc) {
|
||||
setp_one_detail_contenu_doc(String(mylocal_document.contenu_doc));
|
||||
setone_field_programme(String(mylocal_document.contenu_doc));
|
||||
}
|
||||
|
||||
|
||||
if (myRef.current) {
|
||||
myRef.current.scrollIntoView({ behavior: "smooth" });
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
alert(" Aucun document recuperé");
|
||||
}
|
||||
|
||||
|
||||
} else if (String(res.data.status) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + res.data.message);
|
||||
history.push("/Connexion");
|
||||
}
|
||||
|
||||
else {
|
||||
setGet_Default_Original_Partner_Document_Data_By_id_api("false");
|
||||
setGet_Default_Original_Partner_Document_Data_By_id_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( Get_Default_Original_Partner_Document_Data_By_id = ', error);
|
||||
setGet_Default_Original_Partner_Document_Data_By_id_api("false");
|
||||
alert(" Impossible de recuperer le modèle initial");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
function disable_Partner_DocumentFields() {
|
||||
setpartner_document_data_edit_mode("0");
|
||||
|
||||
|
@ -433,6 +564,12 @@ const Config_Documents = (props) => {
|
|||
|
||||
}
|
||||
|
||||
|
||||
function Edit_Document_Data_Fields() {
|
||||
Enable_Partner_DocumentFields();
|
||||
Get_Given_Personnalisable_Collection_and_Fields(selected_template_ref_interne);
|
||||
}
|
||||
|
||||
function Enable_Partner_DocumentFields() {
|
||||
setpartner_document_data_edit_mode("1");
|
||||
|
||||
|
@ -469,24 +606,23 @@ const Config_Documents = (props) => {
|
|||
const [partner_document_data_edit_mode, setpartner_document_data_edit_mode] = useState("");
|
||||
|
||||
|
||||
|
||||
|
||||
const [p_champ_table, setp_champ_table] = useState();
|
||||
const [p_collection, setp_collection] = useState();
|
||||
|
||||
|
||||
|
||||
function add_selected_fields() {
|
||||
|
||||
if (!p_collection || !p_champ_table) {
|
||||
alert(" Champ invalide ");
|
||||
return;
|
||||
}
|
||||
var local_field = "{{" + String(p_collection) + "." + String(p_champ_table) + "}}";
|
||||
editorRef_programme.current.insertContent(" <b><i>" + String(local_field) + "</i></b> ");
|
||||
if (String(p_champ_table).length > 4)
|
||||
editorRef_programme.current.insertContent(String(p_champ_table));
|
||||
else
|
||||
alert(" Le champ est invalide");
|
||||
}
|
||||
|
||||
|
||||
function add_one_selected_fields() {
|
||||
if (String(p_champ_table).length > 4)
|
||||
one_editorRef_programme.current.insertContent(String(p_champ_table));
|
||||
else
|
||||
alert(" Le champ est invalide");
|
||||
}
|
||||
|
||||
|
||||
const [Get_Personnalisable_Collection_and_Fields_api, setGet_Personnalisable_Collection_and_Fields_api] = useState();
|
||||
|
@ -501,15 +637,15 @@ const Config_Documents = (props) => {
|
|||
form.append("token", stored_cookie);
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Personnalisable_Collection_Fields/";
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_All_Personnalisable_Collection_Fields/";
|
||||
|
||||
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
//console.log(" In Get_Personnalisable_Collection_and_Fields res.data.status = " + res.data.status);
|
||||
//console.log(" In Get_Personnalisable_Collection_and_Fields res.data.message r_class = " + res.data.message);
|
||||
console.log(" In Get_Personnalisable_Collection_and_Fields res.data.status = " + res.data.status);
|
||||
console.log(" In Get_Personnalisable_Collection_and_Fields res.data.message r_class = " + res.data.message);
|
||||
|
||||
setGet_Personnalisable_Collection_and_Fields_api("true");
|
||||
setGet_Personnalisable_Collection_and_Fields_result(res.data.message);
|
||||
|
@ -566,7 +702,7 @@ const Config_Documents = (props) => {
|
|||
|
||||
useEffect(() => {
|
||||
Get_Personnalisable_Collections();
|
||||
Get_Personnalisable_Collection_and_Fields();
|
||||
//Get_Personnalisable_Collection_and_Fields();
|
||||
|
||||
Getall_Partner_Document_No_filter();
|
||||
myRef_head.current.scrollIntoView({ behavior: "smooth" });
|
||||
|
@ -586,24 +722,42 @@ const Config_Documents = (props) => {
|
|||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
|
||||
if (p_detail_ref_interne)
|
||||
form.append("ref_interne", p_detail_ref_interne);
|
||||
if (p_one_detail_ref_interne)
|
||||
form.append("ref_interne", p_one_detail_ref_interne);
|
||||
else {
|
||||
alert(" Vous devez definir une reference interne");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (p_detail_type_doc)
|
||||
form.append("type_doc", p_detail_type_doc);
|
||||
if (p_one_detail_type_doc)
|
||||
form.append("type_doc", p_one_detail_type_doc);
|
||||
else {
|
||||
alert(" Vous devez definir un type de document");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (p_detail_sujet)
|
||||
form.append("sujet", p_detail_sujet);
|
||||
if (p_one_detail_cible)
|
||||
form.append("cible", p_one_detail_cible);
|
||||
else {
|
||||
form.append("cible", "");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (p_one_detail_nom)
|
||||
form.append("nom", p_one_detail_nom);
|
||||
else {
|
||||
alert(" Vous devez definir un nom de document");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (p_one_detail_sujet)
|
||||
form.append("sujet", p_one_detail_sujet);
|
||||
else {
|
||||
alert(" Vous devez definir un sujet");
|
||||
return;
|
||||
|
@ -611,8 +765,12 @@ const Config_Documents = (props) => {
|
|||
|
||||
|
||||
|
||||
if (editorRef_programme) {
|
||||
var programme = editorRef_programme.current.getContent();
|
||||
if (one_editorRef_programme) {
|
||||
var programme = one_editorRef_programme.current.getContent();
|
||||
programme = programme.replace('<', '<');
|
||||
programme = programme.replace('>', '>');
|
||||
programme = programme.replace('≤', '<=');
|
||||
programme = programme.replace('≥', '>=');
|
||||
form.append("contenu_doc", programme);
|
||||
}
|
||||
else {
|
||||
|
@ -633,24 +791,69 @@ const Config_Documents = (props) => {
|
|||
setAdd_one_Partner_Document_result(res.data.message);
|
||||
|
||||
alert(res.data.message);
|
||||
|
||||
clear_one_detail_fields();
|
||||
setadd_one_document();
|
||||
setdisplay_add_one_document();
|
||||
Getall_Partner_Document_No_filter();
|
||||
}
|
||||
else {
|
||||
setAdd_one_Partner_Document_api("false");
|
||||
setAdd_one_Partner_Document_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
|
||||
console.log('UpdateStagiaireData : Not good man :( Add_one_Partner_Document = ' + error);
|
||||
setAdd_one_Partner_Document_api("false");
|
||||
alert(" Impossible d'ajouter le document");
|
||||
alert(" Impossible d'ajouter le nouveau document");
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const [Get_Given_Personnalisable_Collection_and_Fields_api, setGet_Given_Personnalisable_Collection_and_Fields_api] = useState();
|
||||
const [Get_Given_Personnalisable_Collection_and_Fields_message, setGet_Given_Personnalisable_Collection_and_Fields_message] = useState();
|
||||
const [Get_Given_Personnalisable_Collection_and_Fields_result, setGet_Given_Personnalisable_Collection_and_Fields_result] = useState();
|
||||
function Get_Given_Personnalisable_Collection_and_Fields(local_courrier_template_ref_interne) {
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("courrier_template_ref_interne", local_courrier_template_ref_interne);
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Personnalisable_Fields_By_template_ref_interne/";
|
||||
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
console.log(" In Get_Given_Personnalisable_Collection_and_Fields res.data.status = " + res.data.status);
|
||||
console.log(" In Get_Given_Personnalisable_Collection_and_Fields res.data.message r_class = " + res.data.message);
|
||||
|
||||
setGet_Given_Personnalisable_Collection_and_Fields_api("true");
|
||||
setGet_Given_Personnalisable_Collection_and_Fields_result(res.data.message);
|
||||
|
||||
}
|
||||
else {
|
||||
setGet_Given_Personnalisable_Collection_and_Fields_api("false");
|
||||
setGet_Given_Personnalisable_Collection_and_Fields_message(res.data.message);
|
||||
alert(res.data.message)
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( Get_Given_Personnalisable_Collection_and_Fields = ', error);
|
||||
setGet_Given_Personnalisable_Collection_and_Fields_api("false");
|
||||
alert(" Impossible de recuperer la liste des collection et champs personnalisables de l'objet");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const [Update_one_Partner_Document_api, setUpdate_one_Partner_Document_api] = useState();
|
||||
const [Update_one_Partner_Document_message, setUpdate_one_Partner_Document_message] = useState();
|
||||
const [Update_one_Partner_Document_result, setUpdate_one_Partner_Document_result] = useState();
|
||||
|
@ -671,6 +874,15 @@ const Config_Documents = (props) => {
|
|||
}
|
||||
|
||||
|
||||
if (p_detail_cible)
|
||||
form.append("cible", p_detail_cible);
|
||||
else {
|
||||
form.append("cible", "");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (p_detail_type_doc)
|
||||
form.append("type_doc", p_detail_type_doc);
|
||||
else {
|
||||
|
@ -679,6 +891,14 @@ const Config_Documents = (props) => {
|
|||
}
|
||||
|
||||
|
||||
if (p_detail_nom)
|
||||
form.append("nom", p_detail_nom);
|
||||
else {
|
||||
alert(" Vous devez definir un nom de document");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (p_detail_sujet)
|
||||
form.append("sujet", p_detail_sujet);
|
||||
else {
|
||||
|
@ -781,6 +1001,48 @@ const Config_Documents = (props) => {
|
|||
}
|
||||
|
||||
|
||||
|
||||
const [Get_Given_Personnalisable_Fields_From_template_ID_api, setGet_Given_Personnalisable_Fields_From_template_ID_api] = useState();
|
||||
const [Get_Given_Personnalisable_Fields_From_template_ID_message, setGet_Given_Personnalisable_Fields_From_template_ID_message] = useState();
|
||||
const [Get_Given_Personnalisable_Fields_From_template_ID_result, setGet_Given_Personnalisable_Fields_From_template_ID_result] = useState();
|
||||
function Get_Given_Personnalisable_Fields_From_template_ID(local_courrier_template_id) {
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("courrier_template_id", local_courrier_template_id);
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Personnalisable_Fields_By_courrier_template_id/";
|
||||
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
console.log(" In Get_Given_Personnalisable_Fields_From_template_ID res.data.status = " + res.data.status);
|
||||
console.log(" In Get_Given_Personnalisable_Fields_From_template_ID res.data.message r_class = " + res.data.message);
|
||||
|
||||
setGet_Given_Personnalisable_Fields_From_template_ID_api("true");
|
||||
setGet_Given_Personnalisable_Fields_From_template_ID_result(res.data.message);
|
||||
|
||||
}
|
||||
else {
|
||||
setGet_Given_Personnalisable_Fields_From_template_ID_api("false");
|
||||
setGet_Given_Personnalisable_Fields_From_template_ID_message(res.data.message);
|
||||
alert(res.data.message)
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( Get_Given_Personnalisable_Fields_From_template_ID = ', error);
|
||||
setGet_Given_Personnalisable_Fields_From_template_ID_api("false");
|
||||
alert(" Impossible de recuperer la liste des collection et champs personnalisables de l'objet");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const [display_partner_document, setdisplay_partner_document] = React.useState();
|
||||
function Annule_Partner_Document_DetailFields() {
|
||||
|
||||
|
@ -792,6 +1054,77 @@ const Config_Documents = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [Get_List_Personnalisable_Default_Document_api, setGet_List_Personnalisable_Default_Document_api] = useState();
|
||||
const [Get_List_Personnalisable_Default_Document_message, setGet_List_Personnalisable_Default_Document_message] = useState();
|
||||
const [Get_List_Personnalisable_Default_Document_result, setGet_List_Personnalisable_Default_Document_result] = useState();
|
||||
function Get_List_Personnalisable_Default_Document() {
|
||||
|
||||
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_Default_Partner_Document/";
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
//console.log(" In Get_List_Personnalisable_Default_Document res.data.status = " + res.data.status);
|
||||
//console.log(" In Get_List_Personnalisable_Default_Document res.data.message r_class = " + res.data.message);
|
||||
|
||||
setGet_List_Personnalisable_Default_Document_api("true");
|
||||
setGet_List_Personnalisable_Default_Document_result(res.data.message);
|
||||
|
||||
}
|
||||
else {
|
||||
setGet_List_Personnalisable_Default_Document_api("false");
|
||||
setGet_List_Personnalisable_Default_Document_message(res.data.message);
|
||||
alert(res.data.message)
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.warn('Not good man :( Get_List_Personnalisable_Default_Document = ', error);
|
||||
setGet_List_Personnalisable_Default_Document_api("false");
|
||||
alert(" Impossible de recuperer la liste des documents par default");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
||||
const [selecte_defaul_doc_to_add, setselecte_defaul_doc_to_add] = React.useState();
|
||||
|
||||
const [add_one_document, setadd_one_document] = React.useState();
|
||||
function submenu_add_one_model_document() {
|
||||
setSelectionModel([]);
|
||||
clear_one_detail_fields();
|
||||
setpartner_document_data_edit_mode();
|
||||
setpartner_document_data_changed();
|
||||
clear_detail_fields();
|
||||
setdisplay_partner_document();
|
||||
setdisplay_detail_document();
|
||||
|
||||
Get_List_Personnalisable_Default_Document();
|
||||
setadd_one_document("1");
|
||||
|
||||
}
|
||||
|
||||
const [display_add_one_document, setdisplay_add_one_document] = React.useState();
|
||||
function Get_And_Display_Selected_Document() {
|
||||
setdisplay_add_one_document("1");
|
||||
console.log(" ## selecte_defaul_doc_to_add = ", selecte_defaul_doc_to_add);
|
||||
setadd_one_document("1");
|
||||
setdisplay_detail_document("0");
|
||||
setselected_id(selecte_defaul_doc_to_add);
|
||||
Get_Default_Original_Partner_Document_Data_By_id(selecte_defaul_doc_to_add);
|
||||
Get_Given_Personnalisable_Fields_From_template_ID(selecte_defaul_doc_to_add);
|
||||
}
|
||||
|
||||
|
||||
function Annule_Add_One_New_Doc() {
|
||||
clear_one_detail_fields();
|
||||
setadd_one_document();
|
||||
setdisplay_add_one_document();
|
||||
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="config_document">
|
||||
<Dialog
|
||||
|
@ -1200,8 +1533,12 @@ const Config_Documents = (props) => {
|
|||
if (newSelectionModel.length === 1)
|
||||
handleClick_display_partner_document(newSelectionModel);
|
||||
if (newSelectionModel.length !== 1) {
|
||||
setpartner_document_data_edit_mode();
|
||||
setpartner_document_data_changed();
|
||||
clear_detail_fields();
|
||||
setsubmenu();
|
||||
setdisplay_partner_document();
|
||||
setdisplay_detail_document();
|
||||
}
|
||||
}}
|
||||
selectionModel={selectionModel}
|
||||
|
@ -1275,76 +1612,115 @@ const Config_Documents = (props) => {
|
|||
</div>
|
||||
|
||||
</div>
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
<Button variant="outlined" onClick={submenu_add_one_model_document}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 modèle de Document
|
||||
<img src={add_plus} alt="ajout session" className="icon_plus" />
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{String(display_detail_document) === "1" && <div className="div_row">
|
||||
{String(display_detail_document) === "1" && String(add_one_document) !== "1" && <div className="div_row">
|
||||
<h3> Détail document <i> {p_detail_nom} </i></h3>
|
||||
|
||||
<div className="div_row">
|
||||
|
||||
{String(partner_document_data_edit_mode) === "1" && <div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
name="document_type"
|
||||
label="Type de document"
|
||||
select
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_detail_type_doc}
|
||||
onChange={(e) => {
|
||||
setp_detail_type_doc(e.target.value);
|
||||
setpartner_document_data_changed("1");
|
||||
}}
|
||||
>
|
||||
<MenuItem value="pdf" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Pdf </MenuItem>
|
||||
<MenuItem value="sms" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >SMS </MenuItem>
|
||||
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email </MenuItem>
|
||||
<div className="div_row_gauche">
|
||||
|
||||
{String(partner_document_data_edit_mode) !== "1" && <div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
name="nom_document"
|
||||
label="Nom document"
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_one_detail_nom}
|
||||
|
||||
/>
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
</TextField>
|
||||
</div>}
|
||||
{String(partner_document_data_edit_mode) !== "1" && <div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
name="document_type"
|
||||
label="Type de document"
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_detail_type_doc}
|
||||
|
||||
{String(partner_document_data_edit_mode) !== "1" && <div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
name="document_type"
|
||||
label="Type de document"
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_detail_type_doc}
|
||||
/>
|
||||
|
||||
/>
|
||||
|
||||
</div>}
|
||||
</div>}
|
||||
|
||||
|
||||
<div className="div_row_gauche texte_area_filter" ref={myRef}>
|
||||
<TextField
|
||||
name="document_ref_interne"
|
||||
label="Code Document"
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_detail_ref_interne}
|
||||
onChange={(e) => {
|
||||
setp_detail_ref_interne(e.target.value);
|
||||
setpartner_document_data_changed("1");
|
||||
}}
|
||||
/>
|
||||
<div className="div_row_gauche texte_area_filter" ref={myRef}>
|
||||
<TextField
|
||||
name="document_ref_interne"
|
||||
label="Code Document"
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_detail_ref_interne}
|
||||
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
name="document_sujet"
|
||||
label="Sujet"
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_detail_sujet}
|
||||
onChange={(e) => {
|
||||
setp_detail_sujet(e.target.value);
|
||||
setpartner_document_data_changed("1");
|
||||
}}
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className="div_row_droite" style={{ "textAlign": "left" }}>
|
||||
{String(partner_document_data_edit_mode) === "1" && <div className="div_row"> Choisir un champ <br />
|
||||
<TextField
|
||||
name="champ_table"
|
||||
id="champ_table"
|
||||
select
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style enable_style"
|
||||
value={p_champ_table}
|
||||
onChange={(e) => {
|
||||
setp_champ_table(e.target.value);
|
||||
}}
|
||||
>
|
||||
|
||||
{Get_Given_Personnalisable_Collection_and_Fields_result &&
|
||||
Get_Given_Personnalisable_Collection_and_Fields_result.filter((local_mymanager) => JSON.parse(local_mymanager).courrier_template_ref_interne === p_detail_ref_interne).map((mycollection) => (
|
||||
<MenuItem key={JSON.parse(mycollection).nom_champ_technique}
|
||||
value={JSON.parse(mycollection).nom_champ_technique}
|
||||
style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontSize": "12px" }}>
|
||||
{JSON.parse(mycollection).nom_champ_fonctionel}
|
||||
|
||||
</MenuItem>
|
||||
))}
|
||||
</TextField>
|
||||
|
||||
</div>}
|
||||
|
||||
{String(partner_document_data_edit_mode) === "1" && <div className="div_row">
|
||||
<Button className="bton_enreg" onClick={add_selected_fields} style={{ "margin": "1rem" }}
|
||||
>Ajouter Champ Choisi
|
||||
|
||||
</Button>
|
||||
</div>}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
name="document_sujet"
|
||||
label="Sujet"
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_detail_sujet}
|
||||
onChange={(e) => {
|
||||
setp_detail_sujet(e.target.value);
|
||||
setpartner_document_data_changed("1");
|
||||
}}
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{String(partner_document_data_edit_mode) === "1" && <div className="div_row">
|
||||
<div style={{ "width": "98%", "marginLeft": "1%", "marginRight": "1%", "float": "left" }}>
|
||||
<div className="titre_training_text"> Mofifier le contenu du document </div>
|
||||
|
@ -1449,7 +1825,7 @@ const Config_Documents = (props) => {
|
|||
|
||||
{String(partner_document_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Partner_DocumentFields}>Editer
|
||||
<Button variant="contained" className="bton_edit" onClick={Edit_Document_Data_Fields}>Editer
|
||||
</Button>
|
||||
|
||||
</div>}
|
||||
|
@ -1459,6 +1835,203 @@ const Config_Documents = (props) => {
|
|||
|
||||
</div>}
|
||||
|
||||
{String(display_detail_document) !== "1" && String(add_one_document) === "1" && <div className="div_row">
|
||||
<h3> Personnaliser un nouveau document </h3>
|
||||
<div className="div_row" style={{ "textAlign": "left" }}>
|
||||
<div className="div_row"> Choisir le document à ajouter <br />
|
||||
<TextField
|
||||
name="champ_table"
|
||||
id="champ_table"
|
||||
select
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style enable_style"
|
||||
value={selecte_defaul_doc_to_add}
|
||||
onChange={(e) => {
|
||||
setselecte_defaul_doc_to_add(e.target.value);
|
||||
}}
|
||||
>
|
||||
|
||||
{Get_List_Personnalisable_Default_Document_result &&
|
||||
Get_List_Personnalisable_Default_Document_result.map((mycollection) => (
|
||||
<MenuItem key={JSON.parse(mycollection)._id}
|
||||
value={JSON.parse(mycollection)._id}
|
||||
style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontSize": "12px" }}>
|
||||
{JSON.parse(mycollection).nom}
|
||||
|
||||
</MenuItem>
|
||||
))}
|
||||
</TextField>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row">
|
||||
<Button className="bton_enreg" onClick={Get_And_Display_Selected_Document} style={{ "margin": "1rem" }}
|
||||
>Afficher le modèle par defaut
|
||||
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{String(display_add_one_document) === "1" && <div className="div_row">
|
||||
|
||||
<div className="div_row">
|
||||
|
||||
<div className="div_row_gauche">
|
||||
<div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
name="one_document_type"
|
||||
label="Type de document"
|
||||
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_one_detail_type_doc}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
name="one_nom_document"
|
||||
label="Nom document"
|
||||
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_one_detail_nom}
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="div_row_gauche texte_area_filter" ref={myRef}>
|
||||
<TextField
|
||||
name="one_document_ref_interne"
|
||||
label="Code Document"
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_one_detail_ref_interne}
|
||||
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row_gauche texte_area_filter" >
|
||||
<TextField
|
||||
name="one_document_sujet"
|
||||
label="Sujet"
|
||||
sx={{ m: 1, width: '100%' }}
|
||||
value={p_one_detail_sujet}
|
||||
onChange={(e) => {
|
||||
setp_detail_sujet(e.target.value);
|
||||
setpartner_document_data_changed("1");
|
||||
}}
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className="div_row_droite" style={{ "textAlign": "left" }}>
|
||||
<div className="div_row"> Choisir un champ fff <br />
|
||||
<TextField
|
||||
name="one_champ_table"
|
||||
id="one_champ_table"
|
||||
select
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style enable_style"
|
||||
value={p_champ_table}
|
||||
onChange={(e) => {
|
||||
setp_champ_table(e.target.value);
|
||||
}}
|
||||
>
|
||||
|
||||
{Get_Given_Personnalisable_Fields_From_template_ID_result &&
|
||||
Get_Given_Personnalisable_Fields_From_template_ID_result.map((mycollection) => (
|
||||
<MenuItem key={JSON.parse(mycollection).nom_champ_technique}
|
||||
value={JSON.parse(mycollection).nom_champ_technique}
|
||||
style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontSize": "12px" }}>
|
||||
{JSON.parse(mycollection).nom_champ_fonctionel}
|
||||
|
||||
</MenuItem>
|
||||
))}
|
||||
</TextField>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row">
|
||||
<Button className="bton_enreg" onClick={add_one_selected_fields} style={{ "margin": "1rem" }}
|
||||
>Ajouter Champ Choisi
|
||||
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className="div_row">
|
||||
<div style={{ "width": "98%", "marginLeft": "1%", "marginRight": "1%", "float": "left" }}>
|
||||
<div className="titre_training_text"> Mofifier le contenu du document </div>
|
||||
<Editor
|
||||
id="document_contente"
|
||||
name="document_contente"
|
||||
onInit={(evt, editor) => one_editorRef_programme.current = editor}
|
||||
initialValue={one_field_programme}
|
||||
onKeyUp={editor_keyup}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
|
||||
}}
|
||||
init={{
|
||||
resize: false,
|
||||
height: 700,
|
||||
menubar: true,
|
||||
plugins: [
|
||||
'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'print', 'preview', 'anchor', 'searchreplace',
|
||||
'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'paste', 'code', 'help', 'wordcount',
|
||||
'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks',
|
||||
|
||||
],
|
||||
toolbar: 'undo redo | casechange blocks | bold italic backcolor | ' +
|
||||
'alignleft aligncenter alignright alignjustify | ' +
|
||||
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
</div>
|
||||
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
/!\ Pensez à enregistrer les modifications
|
||||
</div>
|
||||
|
||||
|
||||
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_enreg" onClick={Add_one_Partner_Document}>Enregistrer les modifications
|
||||
</Button>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }} >
|
||||
<Button variant="contained" className="bton_annule" onClick={Annule_Add_One_New_Doc}>Annuler
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>}
|
||||
</div>}
|
||||
|
||||
</div >
|
||||
);
|
||||
}
|
||||
|
|
|
@ -2395,13 +2395,7 @@ const DisplayPartnerSession = (props) => {
|
|||
}
|
||||
|
||||
|
||||
code_session = p_one_nb_participant
|
||||
|
||||
if (code_session.trim() == "") {
|
||||
alert(" Vous devez saisir un code session");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
var nb_participant = ""
|
||||
|
|
|
@ -122,6 +122,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
{ field: 'domaine', headerName: 'Domaine', width: datagrid_columns_size_model2, align: "center", hide: true, hideable: true, },
|
||||
{ field: 'date_debut', headerName: 'Du', width: datagrid_columns_size_model1, hideable: true, },
|
||||
{ field: 'date_fin', headerName: 'Au', width: datagrid_columns_size_model1, hideable: true, },
|
||||
{ field: 'class_internal_url', headerName: 'class_internal_url', hide: true, },
|
||||
/* {
|
||||
field: "Detail", headerName: 'Voir detail',
|
||||
renderCell: (cellValues) => {
|
||||
|
@ -158,9 +159,133 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
);
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'inscription du stagiaire sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
||||
function handleClick_delete(event, cellValues) {
|
||||
// Recuperation du motif du refus :
|
||||
|
||||
|
||||
var nom = cellValues.row.nom;
|
||||
var email = cellValues.row.email;
|
||||
var prenom = cellValues.row.prenom;
|
||||
var session_id = cellValues.row.session_id;
|
||||
var class_internal_url = cellValues.row.class_internal_url;
|
||||
|
||||
DeleteStagiaireData(nom, prenom, email, session_id, class_internal_url);
|
||||
}
|
||||
|
||||
|
||||
const [DeleteStagiaireData_api, setDeleteStagiaireData_api] = useState();
|
||||
const [DeleteStagiaireData_message, setDeleteStagiaireData_message] = useState();
|
||||
const [DeleteStagiaireData_result, setDeleteStagiaireData_result] = useState();
|
||||
function DeleteStagiaireData(nom, prenom, email, local_session_id, local_class_internal_url) {
|
||||
|
||||
var form = new FormData();
|
||||
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
|
||||
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("class_internal_url", local_class_internal_url);
|
||||
form.append("session_id", local_session_id);
|
||||
form.append("nom", nom);
|
||||
form.append("prenom", prenom);
|
||||
form.append("email", email);
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/DeleteAttendeeInscription/";
|
||||
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In DeleteStagiaireData res.data.status = " + res.data.status);
|
||||
//console.log(" In DeleteStagiaireData res.data.message r_class = " + res.data.message);
|
||||
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setDeleteStagiaireData_api("true");
|
||||
setDeleteStagiaireData_result(res.data.message);
|
||||
|
||||
Getall_TrainingParticipant();
|
||||
|
||||
alert(" La mise à jour été correctement faite.")
|
||||
}
|
||||
else {
|
||||
setDeleteStagiaireData_api("false");
|
||||
setDeleteStagiaireData_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
|
||||
console.warn('DeleteStagiaireData : Not good man :( mysearchtext = ' + error);
|
||||
setDeleteStagiaireData_api("false");
|
||||
alert(" Impossible de supprimer le stagaire");
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function clean_all_filters() {
|
||||
setp_filtre1();
|
||||
setp_filtre1_value();
|
||||
|
@ -3021,6 +3146,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
domaine: JSON.parse(item).domaine,
|
||||
date_debut: JSON.parse(item).date_du,
|
||||
date_fin: JSON.parse(item).date_au,
|
||||
class_internal_url: JSON.parse(item).class_internal_url,
|
||||
|
||||
}
|
||||
))}
|
||||
|
@ -3112,7 +3238,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
onChange={liste_sessions_file_change}
|
||||
/>
|
||||
|
||||
<a href='/sample/template_import_session_plusieurs_formations.csv' download>Télécharger un fichier modèle</a>
|
||||
<a href='/sample/template_import_stagiaires.csv' download>Télécharger un fichier modèle</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="div_row"> </div>
|
||||
|
|
Loading…
Reference in New Issue