01/10/2023 - 17h

recette2
cherif 2023-10-01 17:21:15 +02:00
parent 43257f4537
commit f99fe83c1b
8 changed files with 864 additions and 404 deletions

View File

@ -300,6 +300,7 @@ function Abonnement(props) {
var adr_city = document.getElementsByName("adr_city")[0].value; var adr_city = document.getElementsByName("adr_city")[0].value;
var adr_country = document.getElementsByName("adr_country")[0].value; var adr_country = document.getElementsByName("adr_country")[0].value;
formData.append('partner_account_id', partner_account_id);
formData.append('token', stored_part); formData.append('token', stored_part);
formData.append('invoice_vat_num', vat_num); formData.append('invoice_vat_num', vat_num);
formData.append('invoice_nom', nom); formData.append('invoice_nom', nom);
@ -401,6 +402,8 @@ function Abonnement(props) {
const [getCurrentUserData_result, setgetCurrentUserData_result] = useState([]); const [getCurrentUserData_result, setgetCurrentUserData_result] = useState([]);
const [Client_end_date_abonnement, setClient_end_date_abonnement] = useState(); const [Client_end_date_abonnement, setClient_end_date_abonnement] = useState();
const [partner_account_id, setpartner_account_id] = useState("");
const [is_partner_admin_account, setis_partner_admin_account] = useState("");
function getCurrentUserData() { function getCurrentUserData() {
@ -421,9 +424,17 @@ function Abonnement(props) {
var mylocaltraining = JSON.parse(res.data.message); var mylocaltraining = JSON.parse(res.data.message);
if (mylocaltraining) { if (mylocaltraining) {
setpartner_account_id(mylocaltraining._id);
if (mylocaltraining.is_partner_admin_account) {
setis_partner_admin_account(mylocaltraining.is_partner_admin_account);
}else{
setis_partner_admin_account("0");
}
if (mylocaltraining.end_date_abonnement && String(mylocaltraining.end_date_abonnement).length > 3) { if (mylocaltraining.end_date_abonnement && String(mylocaltraining.end_date_abonnement).length > 3) {
setClient_end_date_abonnement(mylocaltraining.end_date_abonnement); setClient_end_date_abonnement(mylocaltraining.end_date_abonnement);
} }

View File

@ -81,11 +81,11 @@ function CheckOut(props) {
var adr_country = document.getElementsByName("adr_country")[0].value; var adr_country = document.getElementsByName("adr_country")[0].value;
formData.append('partner_account_id', partner_account_id);
formData.append('token', stored_part); formData.append('token', stored_part);
formData.append('invoice_vat_num', vat_num); formData.append('invoice_vat_num', vat_num);
formData.append('invoice_nom', nom); formData.append('invoice_nom', nom);
formData.append('invoice_adr_street', adr_street); formData.append('invoice_adr_street', adr_street);
formData.append('invoice_adr_city', adr_city); formData.append('invoice_adr_city', adr_city);
formData.append('invoice_adr_zip', adr_zip); formData.append('invoice_adr_zip', adr_zip);
formData.append('invoice_adr_country', adr_country); formData.append('invoice_adr_country', adr_country);
@ -154,6 +154,9 @@ function CheckOut(props) {
const [stripe_account_id, setstripe_account_id] = useState("aaa"); const [stripe_account_id, setstripe_account_id] = useState("aaa");
const [stripe_paymentmethod_id, setstripe_paymentmethod_id] = useState(); const [stripe_paymentmethod_id, setstripe_paymentmethod_id] = useState();
const [partner_account_id, setpartner_account_id] = useState("");
const [is_partner_admin_account, setis_partner_admin_account] = useState("");
function getCurrentUserData() { function getCurrentUserData() {
settestval('d'); // ==> Do not delete settestval('d'); // ==> Do not delete
@ -174,6 +177,14 @@ function CheckOut(props) {
var mylocaltraining = JSON.parse(res.data.message); var mylocaltraining = JSON.parse(res.data.message);
if (mylocaltraining) { if (mylocaltraining) {
setpartner_account_id(mylocaltraining._id);
if (mylocaltraining.is_partner_admin_account) {
setis_partner_admin_account(mylocaltraining.is_partner_admin_account);
}else{
setis_partner_admin_account("0");
}
setstripe_account_id(mylocaltraining.stripe_account_id); setstripe_account_id(mylocaltraining.stripe_account_id);
setstripe_paymentmethod_id(mylocaltraining.stripe_paymentmethod_id); setstripe_paymentmethod_id(mylocaltraining.stripe_paymentmethod_id);
@ -811,6 +822,7 @@ function CheckOut(props) {
var adr_city = document.getElementsByName("adr_city")[0].value; var adr_city = document.getElementsByName("adr_city")[0].value;
var adr_country = document.getElementsByName("adr_country")[0].value; var adr_country = document.getElementsByName("adr_country")[0].value;
formData.append('partner_account_id', partner_account_id);
formData.append('token', stored_part); formData.append('token', stored_part);
formData.append('invoice_vat_num', vat_num); formData.append('invoice_vat_num', vat_num);
formData.append('invoice_nom', nom); formData.append('invoice_nom', nom);
@ -910,6 +922,7 @@ function CheckOut(props) {
createSubscription(price_ch); createSubscription(price_ch);
} }
const createSubscription = async (priceId) => { const createSubscription = async (priceId) => {
var cust_strip_id = ""; var cust_strip_id = "";

View File

@ -264,6 +264,7 @@ function Facture(props) {
var adr_city = document.getElementsByName("adr_city")[0].value; var adr_city = document.getElementsByName("adr_city")[0].value;
var adr_country = document.getElementsByName("adr_country")[0].value; var adr_country = document.getElementsByName("adr_country")[0].value;
formData.append('partner_account_id', partner_account_id);
formData.append('token', stored_part); formData.append('token', stored_part);
formData.append('invoice_vat_num', vat_num); formData.append('invoice_vat_num', vat_num);
formData.append('invoice_nom', nom); formData.append('invoice_nom', nom);
@ -354,6 +355,9 @@ function Facture(props) {
//document.getElementsByName("vat_num")[0].style.backgroundColor = "#ECEFF1"; //document.getElementsByName("vat_num")[0].style.backgroundColor = "#ECEFF1";
} }
const [partner_account_id, setpartner_account_id] = useState("");
const [is_partner_admin_account, setis_partner_admin_account] = useState("");
function getCurrentUserData() { function getCurrentUserData() {
settestval('d'); // ==> Do not delete settestval('d'); // ==> Do not delete
@ -371,6 +375,15 @@ function Facture(props) {
var mylocaltraining = JSON.parse(res.data.message); var mylocaltraining = JSON.parse(res.data.message);
if (mylocaltraining) { if (mylocaltraining) {
setpartner_account_id(mylocaltraining._id);
if (mylocaltraining.is_partner_admin_account) {
setis_partner_admin_account(mylocaltraining.is_partner_admin_account);
}else{
setis_partner_admin_account("0");
}
if (mylocaltraining.invoice_vat_num) { if (mylocaltraining.invoice_vat_num) {
document.getElementsByName("vat_num")[0].value = mylocaltraining.invoice_vat_num; document.getElementsByName("vat_num")[0].value = mylocaltraining.invoice_vat_num;
document.getElementsByName("vat_num")[0].disabled = true; document.getElementsByName("vat_num")[0].disabled = true;

View File

@ -64,6 +64,7 @@ const Partner = (props) => {
const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']); const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']);
const stored_part = getCookie('tokenmysypart'); const stored_part = getCookie('tokenmysypart');
const [parntername, setparntername] = useState(""); const [parntername, setparntername] = useState("");
const [parnter_user_employee, setparnter_user_employee] = useState("");
const [parnternbformation, setparnternbformation] = useState(""); const [parnternbformation, setparnternbformation] = useState("");
const [selectedfilt1, setselectedfilt1] = useState(""); const [selectedfilt1, setselectedfilt1] = useState("");
const [selectedfilt2, setselectedfilt2] = useState(""); const [selectedfilt2, setselectedfilt2] = useState("");
@ -281,7 +282,7 @@ const Partner = (props) => {
} }
} }
return 0; return 0;
}else{ } else {
return 0; return 0;
} }
@ -340,15 +341,12 @@ const Partner = (props) => {
} }
function PersonnalData(event) { function PersonnalData(event) {
var security_retval = check_user_acces_right("compte_partner", "read");
if (security_retval === 1) { setmenu("infopartner");
setmenu("infopartner"); setapiexcelimportmessage();
setapiexcelimportmessage(); setformation_file_name();
setformation_file_name(); history.push("/Partner/infopartner");
history.push("/Partner/infopartner");
} else {
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du compte");
}
} }
@ -634,6 +632,7 @@ const Partner = (props) => {
}; };
const [conntected_employee_id, setconntected_employee_id] = useState("");
function GetPartnerNameFromToken(event) { function GetPartnerNameFromToken(event) {
var form = new FormData(); var form = new FormData();
@ -649,6 +648,9 @@ const Partner = (props) => {
//console.log(" In GetPartnerNameFromToken res.data.status = " + res.data.status); //console.log(" In GetPartnerNameFromToken res.data.status = " + res.data.status);
//console.log(" In GetPartnerNameFromToken res.data.message = " + res.data.message); //console.log(" In GetPartnerNameFromToken res.data.message = " + res.data.message);
setparntername(JSON.parse(res.data.message).nom); setparntername(JSON.parse(res.data.message).nom);
if (JSON.parse(res.data.message).pack_service) { if (JSON.parse(res.data.message).pack_service) {
setpartnerPackService(JSON.parse(res.data.message).pack_service); setpartnerPackService(JSON.parse(res.data.message).pack_service);
} }
@ -663,6 +665,27 @@ const Partner = (props) => {
setparnternbformation(""); setparnternbformation("");
} }
if (JSON.parse(res.data.message).ressource_humaine_id) {
setconntected_employee_id(JSON.parse(res.data.message).ressource_humaine_id);
}
else {
setconntected_employee_id("");
}
var partner_employee_user_name = "Inconnu";
if (JSON.parse(res.data.message).contact_nom) {
partner_employee_user_name = (JSON.parse(res.data.message).contact_nom);
}
if (JSON.parse(res.data.message).contact_prenom) {
partner_employee_user_name = partner_employee_user_name + " " + (JSON.parse(res.data.message).contact_prenom);
}
setparnter_user_employee(partner_employee_user_name);
if (JSON.parse(res.data.message).ispending) { if (JSON.parse(res.data.message).ispending) {
setpartnerstatus(JSON.parse(res.data.message).ispending); setpartnerstatus(JSON.parse(res.data.message).ispending);
@ -890,7 +913,7 @@ const Partner = (props) => {
<DialogTitle>MySy Warning</DialogTitle> <DialogTitle>MySy Warning</DialogTitle>
<DialogContent> <DialogContent>
<DialogContentText> <DialogContentText>
<ImWarning style={{"color":"red", "fontSize":"40px"}} /> {Dialog_1_message} <ImWarning style={{ "color": "red", "fontSize": "40px" }} /> {Dialog_1_message}
</DialogContentText> </DialogContentText>
</DialogContent> </DialogContent>
@ -906,7 +929,7 @@ const Partner = (props) => {
<img class="img-responsive img_user" src={userimgprofil} /> <img class="img-responsive img_user" src={userimgprofil} />
{!isimgSelected && <div className="nonlable"> {!isimgSelected && String(part_is_partner_admin_account) === "1" && <div className="nonlable">
<input type="file" id="files" accept="image/*" onChange={imgchangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /> <input type="file" id="files" accept="image/*" onChange={imgchangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} />
<label for="files" className="label">Changer image</label> <label for="files" className="label">Changer image</label>
@ -918,10 +941,13 @@ const Partner = (props) => {
</div>} </div>}
<div className="nom_prenom"> {parntername && <b> {parntername}&nbsp;-&nbsp;{String(partnerPackService).toUpperCase()} ({parnternbformation})</b>} {String(part_is_partner_admin_account) === "1" && <div className="nom_prenom"> {parntername && <b> {parntername}&nbsp;-&nbsp;{String(partnerPackService).toUpperCase()} ({parnternbformation})</b>}
{!parntername && <b> Partenaire </b>} </div> {!parntername && <b> Partenaire </b>} </div>}
{String(part_is_partner_admin_account) !== "1" && <div className="nom_prenom"> {parnter_user_employee}
{!parntername && <b> Utilisateur </b>} </div>}
<div class="separator"> Mon Compte </div> <div class="separator"> Mon Compte </div>
{String(menu) !== "infopartner" && <div className="sousmenu" onClick={PersonnalData}> <FcHome className="icone_menu" /> MES INFORMATIONS</div>} {String(menu) !== "infopartner" && <div className="sousmenu" onClick={PersonnalData}> <FcHome className="icone_menu" /> MES INFORMATIONS</div>}
@ -1041,8 +1067,8 @@ const Partner = (props) => {
<div className="div_droite firstConnexion"> <div className="div_droite firstConnexion">
<div className="firstConnexion_text"> <div className="firstConnexion_text">
<b>Cher Utilisateur, c'est votre première connexion, </b> <br /> &nbsp;<br /> <b>Cher Utilisateur, c'est votre première connexion, </b> <br /> &nbsp;<br />
Nous sommes ravis de vous accueillir dans notre aventure MySy. <br/><br /> Nous sommes ravis de vous accueillir dans notre aventure MySy. <br /><br />
<Button onClick={(e) => setfirstConnexion()} className="firstConnexion_bton"> &nbsp; &nbsp;<FaHandPointRight /> &nbsp; Fermer</Button><br /> <Button onClick={(e) => setfirstConnexion()} className="firstConnexion_bton"> &nbsp; &nbsp;<FaHandPointRight /> &nbsp; Fermer</Button><br />
&nbsp; <br /> Merci. &nbsp; <br /> Merci.
</div> </div>
@ -1231,7 +1257,7 @@ const Partner = (props) => {
{String(menu) === "mes_cmd" && {String(menu) === "mes_cmd" &&
<div className="div_droite"> <div className="div_droite">
<Partner_Commande /> <Partner_Commande conntected_employee_id={conntected_employee_id}/>
</div> </div>
} }

View File

@ -748,6 +748,7 @@ const Partner_Commande = (props) => {
clean_order_detail_fields(); clean_order_detail_fields();
setselectionModel_order_lines([]); setselectionModel_order_lines([]);
setLoading(true);
Get_Order_Data(order_id); Get_Order_Data(order_id);
Get_Partner_Orders_Lines_from_header_id(order_id); Get_Partner_Orders_Lines_from_header_id(order_id);
@ -1017,10 +1018,11 @@ const Partner_Commande = (props) => {
form.append("order_header_id", local_order_header_id); form.append("order_header_id", local_order_header_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Partner_Order_Lines/"; var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Partner_Order_Lines/";
setLoading(true);
axios.post(myurl, form).then(res => { axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) { if (String(res.data.status) === String("true")) {
setLoading(false);
//console.log(" In Get_Partner_Orders_Lines_from_header_id res.data.status = " + res.data.status); //console.log(" In Get_Partner_Orders_Lines_from_header_id res.data.status = " + res.data.status);
//console.log(" In Get_Partner_Orders_Lines_from_header_id res.data.message r_class = " + res.data.message); //console.log(" In Get_Partner_Orders_Lines_from_header_id res.data.message r_class = " + res.data.message);
setGet_Partner_Orders_Lines_from_header_id_api("true"); setGet_Partner_Orders_Lines_from_header_id_api("true");
@ -1028,12 +1030,14 @@ const Partner_Commande = (props) => {
setrows_order_lines(res.data.message); setrows_order_lines(res.data.message);
} }
else { else {
setLoading(false);
setGet_Partner_Orders_Lines_from_header_id_api("false"); setGet_Partner_Orders_Lines_from_header_id_api("false");
setGet_Partner_Orders_Lines_from_header_id_message(res.data.message); setGet_Partner_Orders_Lines_from_header_id_message(res.data.message);
alert(res.data.message); alert(res.data.message);
} }
}).catch((error) => { }).catch((error) => {
setLoading(false);
console.warn('Not good man :( Get_Partner_Orders_Lines_from_header_id = ', error); console.warn('Not good man :( Get_Partner_Orders_Lines_from_header_id = ', error);
setGet_Partner_Orders_Lines_from_header_id_api("false"); setGet_Partner_Orders_Lines_from_header_id_api("false");
alert(" Impossible de recuperer le detail de la commande / devis"); alert(" Impossible de recuperer le detail de la commande / devis");
@ -2046,7 +2050,7 @@ const Partner_Commande = (props) => {
const [p_add_cmd_header_client_id, setp_add_cmd_header_client_id] = useState(""); const [p_add_cmd_header_client_id, setp_add_cmd_header_client_id] = useState("");
const [p_add_cmd_header_description, setp_add_cmd_header_description] = useState(""); const [p_add_cmd_header_description, setp_add_cmd_header_description] = useState("");
const [p_add_cmd_header_comment, setp_add_cmd_header_comment] = useState(""); const [p_add_cmd_header_comment, setp_add_cmd_header_comment] = useState("");
const [p_add_cmd_header_vendeur_id, setp_add_cmd_header_vendeur_id] = useState(""); const [p_add_cmd_header_vendeur_id, setp_add_cmd_header_vendeur_id] = useState(props.conntected_employee_id);
const [p_add_cmd_header_date_cmd, setp_add_cmd_header_date_cmd] = useState(new Date().toLocaleDateString('fr-FR')); const [p_add_cmd_header_date_cmd, setp_add_cmd_header_date_cmd] = useState(new Date().toLocaleDateString('fr-FR'));
const [p_add_cmd_header_date_expiration_cmd, setp_add_cmd_header_date_expiration_cmd] = useState(date_today_90j.toLocaleDateString('fr-FR')); const [p_add_cmd_header_date_expiration_cmd, setp_add_cmd_header_date_expiration_cmd] = useState(date_today_90j.toLocaleDateString('fr-FR'));
const [p_add_cmd_header_order_type, setp_add_cmd_header_order_type] = useState(""); const [p_add_cmd_header_order_type, setp_add_cmd_header_order_type] = useState("");
@ -2059,7 +2063,7 @@ const Partner_Commande = (props) => {
setp_add_cmd_header_client_id(); setp_add_cmd_header_client_id();
setp_add_cmd_header_description(); setp_add_cmd_header_description();
setp_add_cmd_header_comment(); setp_add_cmd_header_comment();
setp_add_cmd_header_vendeur_id(); setp_add_cmd_header_vendeur_id(props.conntected_employee_id);
setp_add_cmd_header_date_cmd(new Date().toLocaleDateString('fr-FR')); setp_add_cmd_header_date_cmd(new Date().toLocaleDateString('fr-FR'));
setp_add_cmd_header_date_expiration_cmd(date_today_90j.toLocaleDateString('fr-FR')); setp_add_cmd_header_date_expiration_cmd(date_today_90j.toLocaleDateString('fr-FR'));
setp_add_cmd_header_order_type(); setp_add_cmd_header_order_type();
@ -2481,11 +2485,108 @@ const Partner_Commande = (props) => {
console.warn('Convert_Quotation_To_Order_Data : Not good man :( Convert_Quotation_To_Order_Data = ' + error); console.warn('Convert_Quotation_To_Order_Data : Not good man :( Convert_Quotation_To_Order_Data = ' + error);
setConvert_Quotation_To_Order_Data_api("false"); setConvert_Quotation_To_Order_Data_api("false");
alert(" Impossible de convertir le devis en commande "); alert(" Impossible de convertir le devis en commande ");
})
}
const [Invoice_Order_Data_api, setInvoice_Order_Data_api] = useState();
const [Invoice_Order_Data_message, setInvoice_Order_Data_message] = useState();
const [Invoice_Order_Data_result, setInvoice_Order_Data_result] = useState();
function Invoice_Order_Data() {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("order_id", selected_id);
form.append("order_ref_interne", order_internal_ref);
//console.log("### form = ", form);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Invoice_Partner_Order/";
setLoading(true);
axios.post(myurl, form).then(res => {
//console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status);
//console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message);
setLoading(false);
if (String(res.data.status) === String("true")) {
setInvoice_Order_Data_api("true");
setInvoice_Order_Data_message(res.data.message);
clean_all_filters();
Getall_Parter_Orders_No_Filter();
Display_Detail_Order_data(selected_id);
if (myRef_head)
myRef_head.current.scrollIntoView({ behavior: "smooth" });
alert(res.data.message);
}
else {
setInvoice_Order_Data_api("false");
setInvoice_Order_Data_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.warn('Invoice_Order_Data : Not good man :( Invoice_Order_Data = ' + error);
setInvoice_Order_Data_api("false");
alert(" Impossible de facturer la commande ");
})
}
const [Get_Class_Data_api, setGet_Class_Data_api] = useState();
const [Get_Class_Data_message, setGet_Class_Data_message] = useState();
const [Get_Class_Data_result, setGet_Class_Data_result] = useState();
function Get_Class_Data(local_internal_url) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("internal_url", local_internal_url);
//console.log("### form = ", form);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_Class_From_Internal_Url/";
setLoading(true);
axios.post(myurl, form).then(res => {
//console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status);
//console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message);
setLoading(false);
if (String(res.data.status) === String("true")) {
setGet_Class_Data_api("true");
setGet_Class_Data_message(res.data.message);
if (JSON.parse(res.data.message).price) {
setp_add_line_item_price(String(JSON.parse(res.data.message).price));
document.getElementsByName("ref_article_unit_price")[0].value = String(JSON.parse(res.data.message).price);
}
}
else {
setGet_Class_Data_api("false");
setGet_Class_Data_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.warn('Get_Class_Data : Not good man :( Get_Class_Data = ' + error);
setGet_Class_Data_api("false");
alert(" Impossible de récuperer les données de la formation ");
}) })
@ -2532,9 +2633,10 @@ const Partner_Commande = (props) => {
<DialogContent> <DialogContent>
<DialogContentText> <DialogContentText>
Edition d'un ligne de commande / devis Edition d'un ligne de commande / devis
</DialogContentText> </DialogContentText>
<div className="session_caract_Dialog" > Article {String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="session_caract_Dialog" > Article
<TextField <TextField
autoFocus autoFocus
@ -2548,9 +2650,13 @@ const Partner_Commande = (props) => {
onChange={(e) => { onChange={(e) => {
setp_add_line_item(e.target.value); setp_add_line_item(e.target.value);
setp_add_line_item_internal_url(e.target.value); setp_add_line_item_internal_url(e.target.value);
Get_Class_Data(e.target.value);
const div1 = document.getElementById("mysy_item_class"); const div1 = document.getElementById("mysy_item_class");
const mysy_item_class_title = div1.getAttribute('mysy_item_class_title'); const mysy_item_class_title = div1.getAttribute('mysy_item_class_title');
setp_add_line_item_title(mysy_item_class_title); setp_add_line_item_title(mysy_item_class_title);
//console.log(" Selected title = ", mysy_item_class_title); //console.log(" Selected title = ", mysy_item_class_title);
} }
} }
@ -2559,22 +2665,61 @@ const Partner_Commande = (props) => {
GetCurrentPartnerClass_result.map((myclass) => ( GetCurrentPartnerClass_result.map((myclass) => (
<MenuItem key={JSON.parse(myclass).internal_url} value={JSON.parse(myclass).internal_url} style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} <MenuItem key={JSON.parse(myclass).internal_url} value={JSON.parse(myclass).internal_url} style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}
id="mysy_item_class" id="mysy_item_class"
mysy_item_class_title={JSON.parse(myclass).title}> mysy_item_class_title={JSON.parse(myclass).title}
{JSON.parse(myclass).title} mysy_item_class_default_price={JSON.parse(myclass).price}
>
{JSON.parse(myclass).title} - {JSON.parse(myclass).price}
</MenuItem> </MenuItem>
))} ))}
</TextField> </TextField>
</div> </div>}
<div className="session_caract_Dialog" > Quantité
{String(p_detail_header_statut_label).toLowerCase() === "facturé" && <div className="session_caract_Dialog" > Article
<TextField
autoFocus
margin="dense"
id="ref_article"
//label="Article"
disabled
fullWidth
//variant="standard"
value={p_add_line_item}
/>
</div>}
{String(p_detail_header_statut_label).toLowerCase() === "facturé" && <div className="session_caract_Dialog" > Quantité
<TextField <TextField
autoFocus autoFocus
margin="dense" margin="dense"
id="ref_article_qty" id="ref_article_qty"
//label="Quantité" //label="Quantité"
type="number" //type="number"
fullWidth
//variant="standard"
value={p_add_line_item_qty}
disabled
type="text"
/>
</div>}
{String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="session_caract_Dialog" > Quantité
<TextField
autoFocus
margin="dense"
id="ref_article_qty"
//label="Quantité"
//type="number"
fullWidth fullWidth
//variant="standard" //variant="standard"
value={p_add_line_item_qty} value={p_add_line_item_qty}
@ -2583,17 +2728,21 @@ const Partner_Commande = (props) => {
Recalcul_Item_Amounts(); Recalcul_Item_Amounts();
} }
} }
type="number"
/> />
</div> </div>}
<div className="session_caract_Dialog" > Prix Unitaire
{String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="session_caract_Dialog" > Prix Unitaire
<TextField <TextField
autoFocus autoFocus
margin="dense" margin="dense"
id="ref_article_unit_price" id="ref_article_unit_price"
name="ref_article_unit_price"
//label="Prix Unitaire" //label="Prix Unitaire"
type="number"
fullWidth fullWidth
//variant="standard" //variant="standard"
value={p_add_line_item_price} value={p_add_line_item_price}
@ -2602,10 +2751,29 @@ const Partner_Commande = (props) => {
Recalcul_Item_Amounts(); Recalcul_Item_Amounts();
} }
} }
/>
</div>
<div className="session_caract_Dialog" > Type reduction type="number"
/>
</div>}
{String(p_detail_header_statut_label).toLowerCase() === "facturé" && <div className="session_caract_Dialog" > Prix Unitaire
<TextField
autoFocus
margin="dense"
id="ref_article_unit_price"
name="ref_article_unit_price"
//label="Prix Unitaire"
fullWidth
//variant="standard"
value={p_add_line_item_price}
disabled
type="text"
/>
</div>}
{String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="session_caract_Dialog" > Type reduction
<TextField <TextField
autoFocus autoFocus
margin="dense" margin="dense"
@ -2631,27 +2799,61 @@ const Partner_Commande = (props) => {
<MenuItem value="percent" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Pourcentage &nbsp;</MenuItem> <MenuItem value="percent" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Pourcentage &nbsp;</MenuItem>
</TextField> </TextField>
</div> </div>}
<div className="session_caract_Dialog" > Reduction {String(p_detail_header_statut_label).toLowerCase() === "facturé" && <div className="session_caract_Dialog" > Type reduction
<TextField
autoFocus
margin="dense"
id="ref_article_type_reduction"
//label="Type reduction"
fullWidth
//variant="standard"
value={p_add_line_item_type_reduction}
disabled
/>
</div>}
{String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="session_caract_Dialog" > Reduction
<TextField <TextField
autoFocus autoFocus
margin="dense" margin="dense"
id="ref_article_reduction_value" id="ref_article_reduction_value"
//label="Reduction" //label="Reduction"
type="number"
fullWidth fullWidth
//variant="standard" //variant="standard"
value={p_add_line_item_reduction_value} value={p_add_line_item_reduction_value}
onChange={(e) => { onChange={(e) => {
setp_add_line_item_reduction_value(e.target.value); setp_add_line_item_reduction_value(e.target.value);
Recalcul_Item_Amounts(); Recalcul_Item_Amounts();
}
}
} type="number"
}
/> />
</div> </div>}
{String(p_detail_header_statut_label).toLowerCase() === "facturé" && <div className="session_caract_Dialog" > Reduction
<TextField
autoFocus
margin="dense"
id="ref_article_reduction_value"
//label="Reduction"
fullWidth
//variant="standard"
value={p_add_line_item_reduction_value}
disabled
type="text"
/>
</div>}
<div className="session_caract_Dialog" > Total Reduction <div className="session_caract_Dialog" > Total Reduction
<TextField <TextField
@ -2659,18 +2861,17 @@ const Partner_Commande = (props) => {
margin="dense" margin="dense"
id="ref_article_reduction_total_amount" id="ref_article_reduction_total_amount"
//label="Total Reduction" //label="Total Reduction"
type="text"
fullWidth fullWidth
disabled
//variant="standard" //variant="standard"
value={p_add_line_item_reduction_total_amount} value={p_add_line_item_reduction_total_amount}
/> />
</div> </div>
<div className="session_caract_Dialog_comment_2_lines" > Commentaire {String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="session_caract_Dialog_comment_2_lines" > Commentaire
<TextField <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }} sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
@ -2682,7 +2883,6 @@ const Partner_Commande = (props) => {
value={p_add_line_item_comment} value={p_add_line_item_comment}
onChange={(e) => { onChange={(e) => {
setp_add_line_item_comment(e.target.value); setp_add_line_item_comment(e.target.value);
} }
} }
//label="Commentaire" //label="Commentaire"
@ -2692,9 +2892,33 @@ const Partner_Commande = (props) => {
maxRows={2} maxRows={2}
rows={2} rows={2}
/> />
</div> </div>}
{String(p_detail_header_statut_label).toLowerCase() === "facturé" && <div className="session_caract_Dialog_comment_2_lines" > Commentaire
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
name="ref_article_comment"
id="ref_article_comment"
autoFocus
fullWidth
value={p_add_line_item_comment}
//label="Commentaire"
//variant="standard"
multiline
minRows={2}
maxRows={2}
rows={2}
disabled
/>
</div>}
<div className="session_caract_Dialog" > Total HT <div className="session_caract_Dialog" > Total HT
<TextField <TextField
@ -2707,11 +2931,7 @@ const Partner_Commande = (props) => {
//variant="standard" //variant="standard"
disabled={true} disabled={true}
value={p_add_line_item_total_amount_ht} value={p_add_line_item_total_amount_ht}
onChange={(e) => {
setp_add_line_item_total_amount_ht(e.target.value);
}
}
/> />
</div> </div>
@ -2741,7 +2961,7 @@ const Partner_Commande = (props) => {
<DialogActions> <DialogActions>
<div className="div_row"> {String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="div_row">
<div className="div_row_gauche"> <div className="div_row_gauche">
<Button onClick={Update_Dialog_Detail_Article_open} className="bton_enreg_dialog">Mettre à jour</Button> <Button onClick={Update_Dialog_Detail_Article_open} className="bton_enreg_dialog">Mettre à jour</Button>
</div> </div>
@ -2749,7 +2969,16 @@ const Partner_Commande = (props) => {
<Button onClick={Close_Dialog_Detail_Article_open} className="bton_annule_dialog" >Annuler</Button> <Button onClick={Close_Dialog_Detail_Article_open} className="bton_annule_dialog" >Annuler</Button>
</div> </div>
</div> </div>}
{String(p_detail_header_statut_label).toLowerCase() === "facturé" && <div className="div_row">
<div className="div_row_gauche">
&nbsp;
</div>
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
<Button onClick={Close_Dialog_Detail_Article_open} className="bton_annule_dialog" >Fermer</Button>
</div>
</div>}
</DialogActions> </DialogActions>
</Dialog> </Dialog>
@ -3512,7 +3741,7 @@ const Partner_Commande = (props) => {
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Brouillon &nbsp;&nbsp;</MenuItem> <MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Brouillon &nbsp;&nbsp;</MenuItem>
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >En cours &nbsp;</MenuItem> <MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >En cours &nbsp;</MenuItem>
<MenuItem value="2" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Traité &nbsp;</MenuItem> <MenuItem value="2" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Traité &nbsp;</MenuItem>
<MenuItem value="3" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Facturé &nbsp;</MenuItem>
<MenuItem value="-1" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Annulé &nbsp;</MenuItem> <MenuItem value="-1" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Annulé &nbsp;</MenuItem>
</TextField> </TextField>
@ -3622,13 +3851,14 @@ const Partner_Commande = (props) => {
/> />
</div>} </div>}
{String(order_data_edit_mode) === "1" && <div className="session_caract"> Date expiration<br /> {String(order_data_edit_mode) === "1" && <div className="session_caract"> Date expiration <br />
<DatePicker <DatePicker
name="detail_header_date_expiration" name="detail_header_date_expiration"
id="detail_header_date_expiration" id="detail_header_date_expiration"
selected={new Date(moment(p_detail_header_date_expiration, "DD/MM/YYYY HH:mm:ss"))} selected={new Date(moment(p_detail_header_date_expiration, "DD/MM/YYYY HH:mm:ss"))}
onChange={(date) => { onChange={(date) => {
setp_detail_header_date_expiration_val(format(date, 'dd/MM/yyyy')); setp_detail_header_date_expiration_val(format(date, 'dd/MM/yyyy'));
setp_detail_header_date_expiration(format(date, 'dd/MM/yyyy'));
setOrder_data_changed("1"); setOrder_data_changed("1");
} }
} }
@ -3785,7 +4015,7 @@ const Partner_Commande = (props) => {
/> />
</div>} </div>}
{String(order_data_edit_mode) === "1" && <div className="session_caract"> Vendeur t<br /> {String(order_data_edit_mode) === "1" && <div className="session_caract"> Vendeur<br />
<TextField <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }} sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required required
@ -4220,64 +4450,73 @@ const Partner_Commande = (props) => {
</div> </div>
</div>} </div>}
</div> </div>
<div style={{ "width": "23%", "float": "left", "textAlign": "right", "paddingTop": "2rem" }}> <div style={{ "width": "23%", "float": "left", "textAlign": "right", "paddingTop": "2rem" }}>
<Button variant="outlined" onClick={Confirm_Order_Data} className="detail_class_submenu bton_add_sous_menu"> Confirmer </Button> {String(p_detail_header_statut_label).toLowerCase() !== "traité" &&
String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <Button variant="outlined" onClick={Confirm_Order_Data} className="detail_class_submenu bton_add_sous_menu"> Confirmer </Button>}
{String(selected_order_header_type) === "commande" &&
String(p_detail_header_statut_label).toLowerCase() === "traité" &&
<Button variant="outlined" onClick={Invoice_Order_Data} className="detail_class_submenu bton_add_sous_menu"> Facturer </Button>}
{String(selected_order_header_type) === "devis" && <Button variant="outlined" onClick={Convert_Quotation_To_Order_Data} className="detail_class_submenu bton_add_sous_menu"> Convertir en Cmd </Button>} {String(selected_order_header_type) === "devis" && <Button variant="outlined" onClick={Convert_Quotation_To_Order_Data} className="detail_class_submenu bton_add_sous_menu"> Convertir en Cmd </Button>}
<Button variant="outlined" onClick={Cancel_Order_Data} className="detail_class_submenu bton_add_sous_menu"> Annuler </Button> {String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <Button variant="outlined" onClick={Cancel_Order_Data} className="detail_class_submenu bton_add_sous_menu"> Annuler </Button>}
<Popup {String(p_detail_header_statut_label).toLowerCase() !== "traité" &&
trigger={<Button variant="outlined" className="detail_class_submenu bton_add_sous_menu"> Supprimer </Button>} String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <Popup
trigger={<Button variant="outlined" className="detail_class_submenu bton_add_sous_menu"> Supprimer </Button>}
modal modal
nested nested
position="center center" position="center center"
> >
{close => ( {close => (
<div> <div>
<button className="gest_close" onClick={close}> <button className="gest_close" onClick={close}>
&times; &times;
</button> </button>
<div className="gest_header"> MySy Information </div> <div className="gest_header"> MySy Information </div>
<div className="gest_content"> <div className="gest_content">
{' '} {' '}
En confirmant cette opération, le document sera <i><font color="red"> définitivement supprimé</font></i>. <br /> En confirmant cette opération, le document sera <i><font color="red"> définitivement supprimé</font></i>. <br />
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
Delete_Order_Header_AndLine_Data(selected_id, selected_order_header_type);
//console.log('modal closed ');
close();
}}> Valider </button>
</div> </div>
<div style={{ "width": "45%", "float": "right" }}> <div className="gest_actions">
<button <div style={{ "width": "45%", "float": "left" }}>
className="gest_bton_popup" <button className="gest_bton_popup" onClick={(event) => {
onClick={() => { Delete_Order_Header_AndLine_Data(selected_id, selected_order_header_type);
//console.log('modal closed '); //console.log('modal closed ');
close(); close();
}} }}> Valider </button>
>
Annuler </div>
</button> <div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup"
onClick={() => {
//console.log('modal closed ');
close();
}}
>
Annuler
</button>
</div>
</div> </div>
</div> </div>
</div> )}
)} </Popup>}
</Popup>
<br /> <br /> <br /> <br />
<Button variant="outlined" onClick={Compute_Order_Header_Price} className="detail_class_submenu" id='order_header_main' name='order_header_main'>Mettre a jour prix</Button> {String(p_detail_header_statut_label).toLowerCase() === "en cours" &&
<Button variant="outlined" onClick={print_order_pdf} className="detail_class_submenu" id='order_header_main' name='order_header_main'>Imprimer pdf</Button>
<Button variant="outlined" onClick={Send_Order_By_Email} className="detail_class_submenu" id='order_header_main' name='order_header_main'>envoyer par mail</Button> <Button variant="outlined" onClick={Compute_Order_Header_Price} className="detail_class_submenu" id='order_header_main' name='order_header_main'>Mettre a jour prix</Button>}
{String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && <Button variant="outlined" onClick={print_order_pdf} className="detail_class_submenu" id='order_header_main' name='order_header_main'>Imprimer pdf</Button>}
{String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && <Button variant="outlined" onClick={Send_Order_By_Email} className="detail_class_submenu" id='order_header_main' name='order_header_main'>envoyer par mail</Button>}
</div> </div>
@ -4307,7 +4546,7 @@ const Partner_Commande = (props) => {
</div> </div>
{String(order_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}> {String(order_data_edit_mode) !== "1" && String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
<Button variant="contained" className="bton_edit" onClick={Enable_Order_Header_DetailFields}>Editer <Button variant="contained" className="bton_edit" onClick={Enable_Order_Header_DetailFields}>Editer
</Button> </Button>

View File

@ -83,6 +83,7 @@ function Partner_Invoicing_Data(props) {
formData.append('invoice_adr_country', adr_country); formData.append('invoice_adr_country', adr_country);
formData.append('invoice_email', email); formData.append('invoice_email', email);
formData.append('invoice_telephone', telephone); formData.append('invoice_telephone', telephone);
formData.append('partner_account_id', props.partner_account_id);
fetch( fetch(
url, url,

View File

@ -227,6 +227,7 @@ const Partner_Securite_Data = (props) => {
formData.append('pwd', pwd); formData.append('pwd', pwd);
formData.append('new_pwd', new_pwd); formData.append('new_pwd', new_pwd);
formData.append('conf_new_pwd', conf_new_pwd); formData.append('conf_new_pwd', conf_new_pwd);
formData.append('partner_account_id', props.partner_account_id);
document.getElementsByName("identique")[0].style.backgroundColor = "white"; document.getElementsByName("identique")[0].style.backgroundColor = "white";
if (new_pwd !== conf_new_pwd) { if (new_pwd !== conf_new_pwd) {
@ -307,6 +308,7 @@ const Partner_Securite_Data = (props) => {
formData.append('mail', mail); formData.append('mail', mail);
formData.append('new_mail', new_mail); formData.append('new_mail', new_mail);
formData.append('conf_new_mail', conf_new_mail); formData.append('conf_new_mail', conf_new_mail);
formData.append('partner_account_id', props.partner_account_id);
fetch( fetch(
@ -462,6 +464,7 @@ const Partner_Securite_Data = (props) => {
formData.append('current_insert_key', current_key); formData.append('current_insert_key', current_key);
formData.append('new_insert_key', new_key); formData.append('new_insert_key', new_key);
formData.append('conf_insert_key', conf_new_key); formData.append('conf_insert_key', conf_new_key);
formData.append('partner_account_id', props.partner_account_id);

View File

@ -150,6 +150,7 @@ function UpdateParnterInfo(props) {
formData.append('current_insert_key', current_key); formData.append('current_insert_key', current_key);
formData.append('new_insert_key', new_key); formData.append('new_insert_key', new_key);
formData.append('conf_insert_key', conf_new_key); formData.append('conf_insert_key', conf_new_key);
formData.append('partner_account_id', partner_account_id);
@ -204,6 +205,7 @@ function UpdateParnterInfo(props) {
formData.append('pwd', pwd); formData.append('pwd', pwd);
formData.append('new_pwd', new_pwd); formData.append('new_pwd', new_pwd);
formData.append('conf_new_pwd', conf_new_pwd); formData.append('conf_new_pwd', conf_new_pwd);
formData.append('partner_account_id', partner_account_id);
document.getElementsByName("identique")[0].style.backgroundColor = "white"; document.getElementsByName("identique")[0].style.backgroundColor = "white";
if (new_pwd !== conf_new_pwd) { if (new_pwd !== conf_new_pwd) {
@ -276,6 +278,7 @@ function UpdateParnterInfo(props) {
formData.append('mail', mail); formData.append('mail', mail);
formData.append('new_mail', new_mail); formData.append('new_mail', new_mail);
formData.append('conf_new_mail', conf_new_mail); formData.append('conf_new_mail', conf_new_mail);
formData.append('partner_account_id', partner_account_id);
fetch( fetch(
@ -305,6 +308,8 @@ function UpdateParnterInfo(props) {
} }
const [partner_account_id, setpartner_account_id] = useState("");
const [is_partner_admin_account, setis_partner_admin_account] = useState("");
function getCurrentUserData() { function getCurrentUserData() {
@ -323,6 +328,15 @@ function UpdateParnterInfo(props) {
var mylocaltraining = JSON.parse(res.data.message); var mylocaltraining = JSON.parse(res.data.message);
if (mylocaltraining) { if (mylocaltraining) {
setpartner_account_id(mylocaltraining._id);
if (mylocaltraining.is_partner_admin_account) {
setis_partner_admin_account(mylocaltraining.is_partner_admin_account);
} else {
setis_partner_admin_account("0");
}
if (mylocaltraining.adr_city) { if (mylocaltraining.adr_city) {
setp_adr_street(mylocaltraining.adr_city); setp_adr_street(mylocaltraining.adr_city);
document.getElementsByName("adr_city")[0].disabled = true; document.getElementsByName("adr_city")[0].disabled = true;
@ -489,68 +503,105 @@ function UpdateParnterInfo(props) {
function desablefield1() { function desablefield1() {
setdatamodification(); setdatamodification();
document.getElementsByName("adr_city")[0].disabled = true;
document.getElementsByName("adr_city")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("adr_city")[0].disabled = true; if (document.getElementsByName("adr_city")[0]) {
document.getElementsByName("adr_city")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("adr_city")[0].disabled = true;
document.getElementsByName("adr_city")[0].style.backgroundColor = "#ECEFF1";
}
document.getElementsByName("adr_zip")[0].disabled = true; if (document.getElementsByName("adr_zip")[0]) {
document.getElementsByName("adr_zip")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("adr_zip")[0].disabled = true;
document.getElementsByName("adr_zip")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("adr_country")[0].disabled = true; }
document.getElementsByName("adr_country")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("telephone")[0].disabled = true;
document.getElementsByName("telephone")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("siret")[0].disabled = true;
document.getElementsByName("siret")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("num_nda")[0].disabled = true;
document.getElementsByName("num_nda")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("link_facebook")[0].disabled = true;
document.getElementsByName("link_facebook")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("link_linkedin")[0].disabled = true;
document.getElementsByName("link_linkedin")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("link_twitter")[0].disabled = true;
document.getElementsByName("link_twitter")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("adr_street")[0].disabled = true;
document.getElementsByName("adr_street")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("nom")[0].disabled = true;
document.getElementsByName("nom")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("contact_tel")[0].disabled = true;
document.getElementsByName("contact_tel")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("contact_nom")[0].disabled = true;
document.getElementsByName("contact_nom")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("contact_prenom")[0].disabled = true;
document.getElementsByName("contact_prenom")[0].style.backgroundColor = "#ECEFF1";
document.getElementsByName("contact_mail")[0].disabled = true; if (document.getElementsByName("adr_country")[0]) {
document.getElementsByName("contact_mail")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("adr_country")[0].disabled = true;
document.getElementsByName("adr_country")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("telephone")[0]) {
document.getElementsByName("telephone")[0].disabled = true;
document.getElementsByName("telephone")[0].style.backgroundColor = "#ECEFF1";
}
document.getElementsByName("website")[0].disabled = true; if (document.getElementsByName("siret")[0]) {
document.getElementsByName("website")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("siret")[0].disabled = true;
document.getElementsByName("siret")[0].style.backgroundColor = "#ECEFF1";
}
document.getElementsByName("isdatadock")[0].disabled = true; if (document.getElementsByName("num_nda")[0]) {
document.getElementsByName("isdatadock")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("num_nda")[0].disabled = true;
document.getElementsByName("num_nda")[0].style.backgroundColor = "#ECEFF1";
}
document.getElementsByName("isqualiopi")[0].disabled = true; if (document.getElementsByName("link_facebook")[0]) {
document.getElementsByName("isqualiopi")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("link_facebook")[0].disabled = true;
document.getElementsByName("link_facebook")[0].style.backgroundColor = "#ECEFF1";
}
document.getElementsByName("iscertifvoltaire")[0].disabled = true; if (document.getElementsByName("link_linkedin")[0]) {
document.getElementsByName("iscertifvoltaire")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("link_linkedin")[0].disabled = true;
document.getElementsByName("link_linkedin")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("link_twitter")[0]) {
document.getElementsByName("link_twitter")[0].disabled = true;
document.getElementsByName("link_twitter")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("adr_street")[0]) {
document.getElementsByName("adr_street")[0].disabled = true;
document.getElementsByName("adr_street")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("nom")[0]) {
document.getElementsByName("nom")[0].disabled = true;
document.getElementsByName("nom")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_tel")[0]) {
document.getElementsByName("contact_tel")[0].disabled = true;
document.getElementsByName("contact_tel")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_nom")[0]) {
document.getElementsByName("contact_nom")[0].disabled = true;
document.getElementsByName("contact_nom")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_prenom")[0]) {
document.getElementsByName("contact_prenom")[0].disabled = true;
document.getElementsByName("contact_prenom")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_mail")[0]) {
document.getElementsByName("contact_mail")[0].disabled = true;
document.getElementsByName("contact_mail")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("website")[0]) {
document.getElementsByName("website")[0].disabled = true;
document.getElementsByName("website")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("isdatadock")[0]) {
document.getElementsByName("isdatadock")[0].disabled = true;
document.getElementsByName("isdatadock")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("isqualiopi")[0]) {
document.getElementsByName("isqualiopi")[0].disabled = true;
document.getElementsByName("isqualiopi")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("iscertifvoltaire")[0]) {
document.getElementsByName("iscertifvoltaire")[0].disabled = true;
document.getElementsByName("iscertifvoltaire")[0].style.backgroundColor = "#ECEFF1";
}
setfields1desabled(true); setfields1desabled(true);
} }
@ -559,65 +610,122 @@ function UpdateParnterInfo(props) {
function enablefieds1() { function enablefieds1() {
setuserformedited("1"); setuserformedited("1");
document.getElementsByName("adr_city")[0].disabled = false;
document.getElementsByName("adr_city")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("adr_city")[0].disabled = false;
document.getElementsByName("adr_city")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("adr_zip")[0].disabled = false; if (document.getElementsByName("adr_city")[0]) {
document.getElementsByName("adr_zip")[0].style.backgroundColor = "#FFFFFF"; document.getElementsByName("adr_city")[0].disabled = false;
document.getElementsByName("adr_city")[0].style.backgroundColor = "#FFFFFF";
}
document.getElementsByName("adr_country")[0].disabled = false; if (document.getElementsByName("adr_zip")[0]) {
document.getElementsByName("adr_country")[0].style.backgroundColor = "#FFFFFF"; document.getElementsByName("adr_zip")[0].disabled = false;
document.getElementsByName("adr_zip")[0].style.backgroundColor = "#FFFFFF";
}
document.getElementsByName("telephone")[0].disabled = false;
document.getElementsByName("telephone")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("siret")[0].disabled = false;
document.getElementsByName("siret")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("num_nda")[0].disabled = false; if (document.getElementsByName("adr_country")[0]) {
document.getElementsByName("num_nda")[0].style.backgroundColor = "#FFFFFF"; document.getElementsByName("adr_country")[0].disabled = false;
document.getElementsByName("adr_country")[0].style.backgroundColor = "#FFFFFF";
}
document.getElementsByName("link_facebook")[0].disabled = false;
document.getElementsByName("link_facebook")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("link_linkedin")[0].disabled = false; if (document.getElementsByName("telephone")[0]) {
document.getElementsByName("link_linkedin")[0].style.backgroundColor = "#FFFFFF"; document.getElementsByName("telephone")[0].disabled = false;
document.getElementsByName("telephone")[0].style.backgroundColor = "#FFFFFF";
}
document.getElementsByName("link_twitter")[0].disabled = false;
document.getElementsByName("link_twitter")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("adr_street")[0].disabled = false; if (document.getElementsByName("siret")[0]) {
document.getElementsByName("adr_street")[0].style.backgroundColor = "#FFFFFF"; document.getElementsByName("siret")[0].disabled = false;
document.getElementsByName("siret")[0].style.backgroundColor = "#FFFFFF";
}
document.getElementsByName("nom")[0].disabled = false;
document.getElementsByName("nom")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("contact_tel")[0].disabled = false; if (document.getElementsByName("num_nda")[0]) {
document.getElementsByName("contact_tel")[0].style.backgroundColor = "#FFFFFF"; document.getElementsByName("num_nda")[0].disabled = false;
document.getElementsByName("num_nda")[0].style.backgroundColor = "#FFFFFF";
}
document.getElementsByName("contact_nom")[0].disabled = false;
document.getElementsByName("contact_nom")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("contact_prenom")[0].disabled = false; if (document.getElementsByName("link_facebook")[0]) {
document.getElementsByName("contact_prenom")[0].style.backgroundColor = "#FFFFFF"; document.getElementsByName("link_facebook")[0].disabled = false;
document.getElementsByName("link_facebook")[0].style.backgroundColor = "#FFFFFF";
}
document.getElementsByName("contact_mail")[0].disabled = false;
document.getElementsByName("contact_mail")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("website")[0].disabled = false; if (document.getElementsByName("link_linkedin")[0]) {
document.getElementsByName("website")[0].style.backgroundColor = "#FFFFFF"; document.getElementsByName("link_linkedin")[0].disabled = false;
document.getElementsByName("link_linkedin")[0].style.backgroundColor = "#FFFFFF";
}
document.getElementsByName("isdatadock")[0].disabled = false;
document.getElementsByName("isdatadock")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("isqualiopi")[0].disabled = false; if (document.getElementsByName("link_twitter")[0]) {
document.getElementsByName("isqualiopi")[0].style.backgroundColor = "#FFFFFF"; document.getElementsByName("link_twitter")[0].disabled = false;
document.getElementsByName("link_twitter")[0].style.backgroundColor = "#FFFFFF";
}
document.getElementsByName("iscertifvoltaire")[0].disabled = false;
document.getElementsByName("iscertifvoltaire")[0].style.backgroundColor = "#FFFFFF"; if (document.getElementsByName("adr_street")[0]) {
document.getElementsByName("adr_street")[0].disabled = false;
document.getElementsByName("adr_street")[0].style.backgroundColor = "#FFFFFF";
}
if (String(is_partner_admin_account) === "1") {
if (document.getElementsByName("nom")[0]) {
document.getElementsByName("nom")[0].disabled = false;
document.getElementsByName("nom")[0].style.backgroundColor = "#FFFFFF";
}
}
if (document.getElementsByName("contact_tel")[0]) {
document.getElementsByName("contact_tel")[0].disabled = false;
document.getElementsByName("contact_tel")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_nom")[0]) {
document.getElementsByName("contact_nom")[0].disabled = false;
document.getElementsByName("contact_nom")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_prenom")[0]) {
document.getElementsByName("contact_prenom")[0].disabled = false;
document.getElementsByName("contact_prenom")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_mail")[0]) {
document.getElementsByName("contact_mail")[0].disabled = false;
document.getElementsByName("contact_mail")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("website")[0]) {
document.getElementsByName("website")[0].disabled = false;
document.getElementsByName("website")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("isdatadock")[0]) {
document.getElementsByName("isdatadock")[0].disabled = false;
document.getElementsByName("isdatadock")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("isqualiopi")[0]) {
document.getElementsByName("isqualiopi")[0].disabled = false;
document.getElementsByName("isqualiopi")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("iscertifvoltaire")[0]) {
document.getElementsByName("iscertifvoltaire")[0].disabled = false;
document.getElementsByName("iscertifvoltaire")[0].style.backgroundColor = "#FFFFFF";
}
setfields1desabled(false); setfields1desabled(false);
window.scrollTo({ window.scrollTo({
@ -722,11 +830,17 @@ function UpdateParnterInfo(props) {
var telephone = document.getElementsByName("telephone")[0].value; var telephone = document.getElementsByName("telephone")[0].value;
telephone = telephone.replace("undefined", ""); telephone = telephone.replace("undefined", "");
var siret = document.getElementsByName("siret")[0].value; var siret = "";
siret = siret.replace("undefined", ""); if (document.getElementsByName("siret")[0]) {
siret = document.getElementsByName("siret")[0].value;
siret = siret.replace("undefined", "");
}
var num_nda = document.getElementsByName("num_nda")[0].value; var num_nda = "";
num_nda = num_nda.replace("undefined", ""); if (document.getElementsByName("num_nda")[0]) {
num_nda = document.getElementsByName("num_nda")[0].value;
num_nda = num_nda.replace("undefined", "");
}
var website = document.getElementsByName("website")[0].value; var website = document.getElementsByName("website")[0].value;
@ -739,6 +853,7 @@ function UpdateParnterInfo(props) {
var nom = document.getElementsByName("nom")[0].value; var nom = document.getElementsByName("nom")[0].value;
var contact_nom = document.getElementsByName("contact_nom")[0].value; var contact_nom = document.getElementsByName("contact_nom")[0].value;
var contact_prenom = document.getElementsByName("contact_prenom")[0].value; var contact_prenom = document.getElementsByName("contact_prenom")[0].value;
var contact_tel = document.getElementsByName("contact_tel")[0].value; var contact_tel = document.getElementsByName("contact_tel")[0].value;
var contact_mail = document.getElementsByName("contact_mail")[0].value; var contact_mail = document.getElementsByName("contact_mail")[0].value;
@ -746,14 +861,23 @@ function UpdateParnterInfo(props) {
//var mycertitrace = document.getElementsByName("iscertitrace")[0].value; //var mycertitrace = document.getElementsByName("iscertitrace")[0].value;
//var mybureaucertitrace = document.getElementsByName("isbureaucertitrace")[0].value; //var mybureaucertitrace = document.getElementsByName("isbureaucertitrace")[0].value;
var mycertifvoltaire = document.getElementsByName("iscertifvoltaire")[0].value; var mycertifvoltaire = "0"
if (document.getElementsByName("iscertifvoltaire")[0]) {
mycertifvoltaire = document.getElementsByName("iscertifvoltaire")[0].value;
var mydatadock = document.getElementsByName("isdatadock")[0].value; }
var myqualiopi = document.getElementsByName("isqualiopi")[0].value;
var mydatadock = "0";
if (document.getElementsByName("isdatadock")[0]) {
mydatadock = document.getElementsByName("isdatadock")[0].value;
}
var myqualiopi = "0";
if (document.getElementsByName("isqualiopi")[0]) {
var myqualiopi = document.getElementsByName("isqualiopi")[0].value;
}
formData.append('partner_account_id', partner_account_id);
formData.append('token', stored_user); formData.append('token', stored_user);
formData.append('nom', nom); formData.append('nom', nom);
@ -811,16 +935,26 @@ function UpdateParnterInfo(props) {
desablefield1(); desablefield1();
setdatamodification(); setdatamodification();
getPartnerImages(); getPartnerImages();
alert(" La mise à jour a été faite ");
if( document.getElementsByName("isdatadock")[0]){
document.getElementsByName("isdatadock")[0].disabled = true; document.getElementsByName("isdatadock")[0].disabled = true;
document.getElementsByName("isdatadock")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("isdatadock")[0].style.backgroundColor = "#ECEFF1";
}
if( document.getElementsByName("isqualiopi")[0]){
document.getElementsByName("isqualiopi")[0].disabled = true; document.getElementsByName("isqualiopi")[0].disabled = true;
document.getElementsByName("isqualiopi")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("isqualiopi")[0].style.backgroundColor = "#ECEFF1";
}
if( document.getElementsByName("iscertifvoltaire")[0]){
document.getElementsByName("iscertifvoltaire")[0].disabled = true; document.getElementsByName("iscertifvoltaire")[0].disabled = true;
document.getElementsByName("iscertifvoltaire")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("iscertifvoltaire")[0].style.backgroundColor = "#ECEFF1";
}
alert(" La mise à jour a été faite ");
} else if (String(result['status']) === String("Err_Connexion")) { } else if (String(result['status']) === String("Err_Connexion")) {
alert('Erreur: ' + result['message']); alert('Erreur: ' + result['message']);
@ -1591,18 +1725,18 @@ function UpdateParnterInfo(props) {
<div className="div_row"> <div className="div_row">
<Button variant="outlined" onClick={submenu_donnee_entreprise} className="detail_submenu" id='submenu_donnee_entreprise' name='submenu_donnee_entreprise'>Données entreprises</Button> <Button variant="outlined" onClick={submenu_donnee_entreprise} className="detail_submenu" id='submenu_donnee_entreprise' name='submenu_donnee_entreprise'>Données entreprises</Button>
<Button variant="outlined" onClick={submenu_donnee_facturation} className="detail_submenu" id='submenu_donnee_facturation' name='submenu_donnee_facturation'>Données Facturation</Button> {String(is_partner_admin_account) === "1" && <Button variant="outlined" onClick={submenu_donnee_facturation} className="detail_submenu" id='submenu_donnee_facturation' name='submenu_donnee_facturation'>Données Facturation</Button>}
<Button variant="outlined" onClick={submenu_donnee_securite} className="detail_submenu" id='submenu_donnee_securite' name='submenu_donnee_securite'>Securité</Button> <Button variant="outlined" onClick={submenu_donnee_securite} className="detail_submenu" id='submenu_donnee_securite' name='submenu_donnee_securite'>Securité</Button>
{/*<Button variant="outlined" onClick={submenu_contact} className="detail_submenu" id='submenu_contact' name='submenu_contact'>Contact & Adresses</Button>*/} {/*<Button variant="outlined" onClick={submenu_contact} className="detail_submenu" id='submenu_contact' name='submenu_contact'>Contact & Adresses</Button>*/}
</div> </div>
{String(submenu).trim() === "submenu_donnee_securite" && <div className="training_data"> {String(submenu).trim() === "submenu_donnee_securite" && <div className="training_data">
<Partner_Securite_Data /> <Partner_Securite_Data partner_account_id={partner_account_id} />
</div>} </div>}
{String(submenu).trim() === "submenu_donnee_facturation" && <div className="training_data"> {String(submenu).trim() === "submenu_donnee_facturation" && <div className="training_data">
<Partner_Invoicing_Data /> <Partner_Invoicing_Data partner_account_id={partner_account_id} />
</div>} </div>}
{String(submenu).trim() === "submenu_contact" && <div className="training_data"> {String(submenu).trim() === "submenu_contact" && <div className="training_data">
@ -1625,11 +1759,11 @@ function UpdateParnterInfo(props) {
</div> </div>
} }
is_partner_admin_account = {is_partner_admin_account} <br />
&nbsp; &nbsp;
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }} onChange={DataUpdated}> <Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }} onChange={DataUpdated}>
<TextField {String(is_partner_admin_account) === "1" && <TextField
required required
label="Raison sociale" label="Raison sociale"
name="nom" name="nom"
@ -1644,9 +1778,26 @@ function UpdateParnterInfo(props) {
}} }}
value={p_nom} value={p_nom}
onChange={(e) => setp_nom(e.target.value)} onChange={(e) => setp_nom(e.target.value)}
/> />}
<TextField {String(is_partner_admin_account) !== "1" && <TextField
required
label="Structure de rattachement"
name="nom"
className="texte_area"
sx={{ m: 1, width: '48%' }}
InputProps={{
startAdornment: (
<InputAdornment position="start">
<AccountCircle />
</InputAdornment>
),
}}
value={p_nom}
/>}
{String(is_partner_admin_account) === "1" && <TextField
name="siret" name="siret"
label="SIRET" label="SIRET"
className="texte_area" className="texte_area"
@ -1661,7 +1812,7 @@ function UpdateParnterInfo(props) {
value={p_siret} value={p_siret}
onChange={(e) => setp_siret(e.target.value)} onChange={(e) => setp_siret(e.target.value)}
/> />
}
@ -1827,264 +1978,267 @@ function UpdateParnterInfo(props) {
value={p_adr_country} value={p_adr_country}
onChange={(e) => setp_adr_country(e.target.value)} onChange={(e) => setp_adr_country(e.target.value)}
/> />
{String(is_partner_admin_account) === "1" && <div>
<div style={{ "width": "10%" }}> &nbsp;</div>
<div className="div_row_gauche">
<div className="titre1"> Votre logo </div>
<div className="div_row_bis" style={{ "marginBottom": "10px", "marginTop": "1rem" }} >
<div className="div_row_gauche_image">
<img class="img_class_logo" src={userimgclassprofil} /><br />
<div style={{ "width": "10%" }}> &nbsp;</div> </div>
<div className="div_row_gauche"> <div className="div_row_droite_image">
<div className="titre1"> Votre logo </div> <input type="file" id="files_img_class" accept="image/*" onChange={imglogoclasschangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br />
<div className="div_row_bis" style={{ "marginBottom": "10px", "marginTop": "1rem" }} > {String(userformedited) === "1" && <nav> <label for="files_img_class" className="bton_image_class">Charger un logo</label><br />
<div className="div_row_gauche_image">
<img class="img_class_logo" src={userimgclassprofil} /><br /> {String(isimgclassSelected_recid) && String(isimgclassSelected_recid).length > 3 &&
<nav className="bton_supprime_image_class" onClick={removeRecodedLogoImage}>Supprimer le logo<br /> </nav>
}
</nav>}
{/*isimgclassSelected && <Button variant="outlined" onClick={sendClassImage} className="bton_image_class">Enregistrer image</Button>*/}
{isimgclassdeleted && String(isimgclassdeleted) === "1" && <nav className="koUpdateData"> {isimgclassdeleted_message}</nav>}
{isimgclassdeleted && String(isimgclassdeleted) === "0" && <nav className="okUpdateData"> {isimgclassdeleted_message}</nav>}
{isimgclassSelected && String(isimgclassSaved) === "0" && <nav className="koUpdateData"> {isimgclassSaved_message}</nav>}
</div>
</div> </div>
<div className="div_row_droite_image"> <div className="div_row_bis tips_img_class">
<input type="file" id="files_img_class" accept="image/*" onChange={imglogoclasschangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br /> <li>
{String(userformedited) === "1" && <nav> <label for="files_img_class" className="bton_image_class">Charger un logo</label><br /> L'image doit etre carrée.
</li>
{String(isimgclassSelected_recid) && String(isimgclassSelected_recid).length > 3 && <li>
<nav className="bton_supprime_image_class" onClick={removeRecodedLogoImage}>Supprimer le logo<br /> </nav> Les formats autorisés sont : <i>['jpg', 'jpeg', 'png', 'jpe', 'webp']</i>
} </li>
<li>
</nav>} Les dimensions recommandées: 128pixels X 128pixels -- 144pixels X 144pixels -- 168pixels X 168pixels<br />
Les dimensions maximales sont de 256pixels X 256pixels
{/*isimgclassSelected && <Button variant="outlined" onClick={sendClassImage} className="bton_image_class">Enregistrer image</Button>*/} </li>
{isimgclassdeleted && String(isimgclassdeleted) === "1" && <nav className="koUpdateData"> {isimgclassdeleted_message}</nav>} <li>
{isimgclassdeleted && String(isimgclassdeleted) === "0" && <nav className="okUpdateData"> {isimgclassdeleted_message}</nav>} La taille de l'image ne doit pas dépasser 1 mega octet
{isimgclassSelected && String(isimgclassSaved) === "0" && <nav className="koUpdateData"> {isimgclassSaved_message}</nav>} </li>
</div> </div>
</div> </div>
<div className="div_row_bis tips_img_class">
<li>
L'image doit etre carrée.
</li>
<li>
Les formats autorisés sont : <i>['jpg', 'jpeg', 'png', 'jpe', 'webp']</i>
</li>
<li>
Les dimensions recommandées: 128pixels X 128pixels -- 144pixels X 144pixels -- 168pixels X 168pixels<br />
Les dimensions maximales sont de 256pixels X 256pixels
</li>
<li>
La taille de l'image ne doit pas dépasser 1 mega octet
</li>
</div>
</div> <div className="div_row_droite">
<div className="titre1"> Votre cachet </div>
<div className="div_row_bis" style={{ "marginBottom": "10px", "marginTop": "1rem" }} >
<div className="div_row_gauche_image">
<img class="img_class_logo" src={isimgcachet} /><br />
<div className="div_row_droite"> </div>
<div className="titre1"> Votre cachet </div> <div className="div_row_droite_image">
<div className="div_row_bis" style={{ "marginBottom": "10px", "marginTop": "1rem" }} > <input type="file" id="files_img_cachet_class" accept="image/*" onChange={imgcachetchangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br />
<div className="div_row_gauche_image"> {String(userformedited) === "1" && <nav> <label for="files_img_cachet_class" className="bton_image_class">Charger un cachet</label><br />
<img class="img_class_logo" src={isimgcachet} /><br />
{String(isimgcachetSelected_recid) && String(isimgcachetSelected_recid).length > 3 &&
<nav className="bton_supprime_image_class" onClick={removeRecodedCachetImage}>Supprimer le cachet </nav>}
<br /> </nav>}
{/*isimgclassSelected && <Button variant="outlined" onClick={sendClassImage} className="bton_image_class">Enregistrer image</Button>*/}
{isimgcachetdeleted && String(isimgcachetdeleted) === "1" && <nav className="koUpdateData"> {isimgcachetdeleted_message}</nav>}
{isimgcachetdeleted && String(isimgcachetdeleted) === "0" && <nav className="okUpdateData"> {isimgcachetdeleted_message}</nav>}
{isimgcachetSelected && String(isimgcachetSaved) === "0" && <nav className="koUpdateData"> {isimgcachetSaved_message}</nav>}
</div>
</div> </div>
<div className="div_row_droite_image"> <div className="div_row_bis tips_img_class">
<input type="file" id="files_img_cachet_class" accept="image/*" onChange={imgcachetchangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br /> <li>
{String(userformedited) === "1" && <nav> <label for="files_img_cachet_class" className="bton_image_class">Charger un cachet</label><br /> L'image doit etre carrée.
</li>
<li>
{String(isimgcachetSelected_recid) && String(isimgcachetSelected_recid).length > 3 && Les formats autorisés sont : <i>['jpg', 'jpeg', 'png', 'jpe', 'webp']</i>
<nav className="bton_supprime_image_class" onClick={removeRecodedCachetImage}>Supprimer le cachet </nav>} </li>
<li>
<br /> </nav>} Les dimensions recommandées: 128pixels X 128pixels -- 144pixels X 144pixels -- 168pixels X 168pixels<br />
{/*isimgclassSelected && <Button variant="outlined" onClick={sendClassImage} className="bton_image_class">Enregistrer image</Button>*/} Les dimensions maximales sont de 256pixels X 256pixels
{isimgcachetdeleted && String(isimgcachetdeleted) === "1" && <nav className="koUpdateData"> {isimgcachetdeleted_message}</nav>} </li>
{isimgcachetdeleted && String(isimgcachetdeleted) === "0" && <nav className="okUpdateData"> {isimgcachetdeleted_message}</nav>} <li>
{isimgcachetSelected && String(isimgcachetSaved) === "0" && <nav className="koUpdateData"> {isimgcachetSaved_message}</nav>} La taille de l'image ne doit pas dépasser 1 mega octet
</li>
</div> </div>
</div>
<div className="div_row_bis tips_img_class">
<li>
L'image doit etre carrée.
</li>
<li>
Les formats autorisés sont : <i>['jpg', 'jpeg', 'png', 'jpe', 'webp']</i>
</li>
<li>
Les dimensions recommandées: 128pixels X 128pixels -- 144pixels X 144pixels -- 168pixels X 168pixels<br />
Les dimensions maximales sont de 256pixels X 256pixels
</li>
<li>
La taille de l'image ne doit pas dépasser 1 mega octet
</li>
</div> </div>
</div> <div style={{ "width": "10%" }}> &nbsp;</div>
<div className="titre1"> Certification </div>
<div className="div_row">
<div style={{ "width": "10%" }}> &nbsp;</div>
<div className="titre1"> Certification </div>
<div className="div_row">
<TextField
required
name="num_nda"
label="Numéro NDA"
className="texte_area"
sx={{ m: 1, width: '48%' }}
InputProps={{
startAdornment: (
<InputAdornment position="start">
<AccountCircle />
</InputAdornment>
),
}}
value={p_num_nda}
onChange={(e) => setp_num_nda(e.target.value)}
/>
{fields1desabled == true && String(myqualiopi) !== "1" &&
<TextField <TextField
name="isqualiopi" required
label="Qualiopi" name="num_nda"
label="Numéro NDA"
className="texte_area" className="texte_area"
sx={{ m: 1, width: '48%' }} sx={{ m: 1, width: '48%' }}
value="Non" InputProps={{
startAdornment: (
<InputAdornment position="start">
<AccountCircle />
</InputAdornment>
),
}}
value={p_num_nda}
onChange={(e) => setp_num_nda(e.target.value)}
/> />
} {fields1desabled == true && String(myqualiopi) !== "1" &&
{fields1desabled == true && String(myqualiopi) === "1" && <TextField
name="isqualiopi"
label="Qualiopi"
className="texte_area"
sx={{ m: 1, width: '48%' }}
value="Non"
<TextField />
name="isqualiopi"
label="Qualiopi" }
className="texte_area"
sx={{ m: 1, width: '48%' }} {fields1desabled == true && String(myqualiopi) === "1" &&
value="Oui"
<TextField
name="isqualiopi"
label="Qualiopi"
className="texte_area"
sx={{ m: 1, width: '48%' }}
value="Oui"
/> />
} }
{fields1desabled !== true && {fields1desabled !== true &&
<TextField <TextField
name="isqualiopi" name="isqualiopi"
label="Qualiopi" label="Qualiopi"
select select
className="texte_area" className="texte_area"
sx={{ m: 1, width: '48%' }} sx={{ m: 1, width: '48%' }}
value={myqualiopi} value={myqualiopi}
onChange={handleChangequaliopi} onChange={handleChangequaliopi}
>{qualiopi.map((option) => ( >{qualiopi.map((option) => (
<MenuItem key={option.value} value={option.value}> <MenuItem key={option.value} value={option.value}>
{option.label} &nbsp; <br /> {option.label} &nbsp; <br />
</MenuItem> </MenuItem>
))} ))}
</TextField> </TextField>
} }
</div> </div>
<div className="div_row"> <div className="div_row">
{fields1desabled == true && String(mydatadock) !== "1" && {fields1desabled == true && String(mydatadock) !== "1" &&
<TextField <TextField
name="isdatadock" name="isdatadock"
label="Datadock" label="Datadock"
className="texte_area" className="texte_area"
sx={{ m: 1, width: '48%' }} sx={{ m: 1, width: '48%' }}
value="Non" value="Non"
/> />
} }
{fields1desabled == true && String(mydatadock) === "1" && {fields1desabled == true && String(mydatadock) === "1" &&
<TextField <TextField
name="isdatadock" name="isdatadock"
label="Datadock" label="Datadock"
className="texte_area" className="texte_area"
sx={{ m: 1, width: '48%' }} sx={{ m: 1, width: '48%' }}
value="Oui" value="Oui"
/> />
} }
{fields1desabled !== true && {fields1desabled !== true &&
<TextField <TextField
name="isdatadock" name="isdatadock"
label="Datadock" label="Datadock"
select select
className="texte_area" className="texte_area"
sx={{ m: 1, width: '48%' }} sx={{ m: 1, width: '48%' }}
value={mydatadock} value={mydatadock}
onChange={handleChangedatadock} onChange={handleChangedatadock}
>{datadock.map((option) => ( >{datadock.map((option) => (
<MenuItem key={option.value} value={option.value}> <MenuItem key={option.value} value={option.value}>
{option.label} &nbsp; <br /> {option.label} &nbsp; <br />
</MenuItem> </MenuItem>
))} ))}
</TextField> </TextField>
} }
{fields1desabled == true && String(mycertifvoltaire) !== "1" && {fields1desabled == true && String(mycertifvoltaire) !== "1" &&
<TextField <TextField
name="iscertifvoltaire" name="iscertifvoltaire"
label="Certificat Voltaire" label="Certificat Voltaire"
className="texte_area" className="texte_area"
sx={{ m: 1, width: '48%' }} sx={{ m: 1, width: '48%' }}
value="Non" value="Non"
/> />
} }
{fields1desabled == true && String(mycertifvoltaire) === "1" && {fields1desabled == true && String(mycertifvoltaire) === "1" &&
<TextField <TextField
name="iscertifvoltaire" name="iscertifvoltaire"
label="Certificat Voltaire" label="Certificat Voltaire"
className="texte_area" className="texte_area"
sx={{ m: 1, width: '48%' }} sx={{ m: 1, width: '48%' }}
value="Oui" value="Oui"
/> />
} }
{fields1desabled !== true && {fields1desabled !== true &&
<TextField <TextField
name="iscertifvoltaire" name="iscertifvoltaire"
label="Certificat Voltaire" label="Certificat Voltaire"
select select
className="texte_area" className="texte_area"
sx={{ m: 1, width: '48%' }} sx={{ m: 1, width: '48%' }}
value={mycertifvoltaire} value={mycertifvoltaire}
onChange={handleChangecertifvoltaire} onChange={handleChangecertifvoltaire}
>{certifvoltaire.map((option) => ( >{certifvoltaire.map((option) => (
<MenuItem key={option.value} value={option.value} > <MenuItem key={option.value} value={option.value} >
{option.label} &nbsp; <br /> {option.label} &nbsp; <br />
</MenuItem> </MenuItem>
))} ))}
</TextField> </TextField>
} }
</div> </div>
</div>}
<div style={{ "width": "10%" }}> &nbsp;</div> <div style={{ "width": "10%" }}> &nbsp;</div>
<div className="titre1"> Info Contact </div> <div className="titre1"> Info Contact </div>