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_country = document.getElementsByName("adr_country")[0].value;
formData.append('partner_account_id', partner_account_id);
formData.append('token', stored_part);
formData.append('invoice_vat_num', vat_num);
formData.append('invoice_nom', nom);
@ -401,6 +402,8 @@ function Abonnement(props) {
const [getCurrentUserData_result, setgetCurrentUserData_result] = 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() {
@ -421,9 +424,17 @@ function Abonnement(props) {
var mylocaltraining = JSON.parse(res.data.message);
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) {
setClient_end_date_abonnement(mylocaltraining.end_date_abonnement);
}

View File

@ -81,7 +81,7 @@ function CheckOut(props) {
var adr_country = document.getElementsByName("adr_country")[0].value;
formData.append('partner_account_id', partner_account_id);
formData.append('token', stored_part);
formData.append('invoice_vat_num', vat_num);
formData.append('invoice_nom', nom);
@ -154,6 +154,9 @@ function CheckOut(props) {
const [stripe_account_id, setstripe_account_id] = useState("aaa");
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() {
settestval('d'); // ==> Do not delete
@ -174,6 +177,14 @@ function CheckOut(props) {
var mylocaltraining = JSON.parse(res.data.message);
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_paymentmethod_id(mylocaltraining.stripe_paymentmethod_id);
@ -811,6 +822,7 @@ function CheckOut(props) {
var adr_city = document.getElementsByName("adr_city")[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('invoice_vat_num', vat_num);
formData.append('invoice_nom', nom);
@ -910,6 +922,7 @@ function CheckOut(props) {
createSubscription(price_ch);
}
const createSubscription = async (priceId) => {
var cust_strip_id = "";

View File

@ -264,6 +264,7 @@ function Facture(props) {
var adr_city = document.getElementsByName("adr_city")[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('invoice_vat_num', vat_num);
formData.append('invoice_nom', nom);
@ -354,6 +355,9 @@ function Facture(props) {
//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() {
settestval('d'); // ==> Do not delete
@ -371,6 +375,15 @@ function Facture(props) {
var mylocaltraining = JSON.parse(res.data.message);
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) {
document.getElementsByName("vat_num")[0].value = mylocaltraining.invoice_vat_num;
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 stored_part = getCookie('tokenmysypart');
const [parntername, setparntername] = useState("");
const [parnter_user_employee, setparnter_user_employee] = useState("");
const [parnternbformation, setparnternbformation] = useState("");
const [selectedfilt1, setselectedfilt1] = useState("");
const [selectedfilt2, setselectedfilt2] = useState("");
@ -281,7 +282,7 @@ const Partner = (props) => {
}
}
return 0;
}else{
} else {
return 0;
}
@ -340,15 +341,12 @@ const Partner = (props) => {
}
function PersonnalData(event) {
var security_retval = check_user_acces_right("compte_partner", "read");
if (security_retval === 1) {
setmenu("infopartner");
setapiexcelimportmessage();
setformation_file_name();
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) {
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.message = " + res.data.message);
setparntername(JSON.parse(res.data.message).nom);
if (JSON.parse(res.data.message).pack_service) {
setpartnerPackService(JSON.parse(res.data.message).pack_service);
}
@ -663,6 +665,27 @@ const Partner = (props) => {
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) {
setpartnerstatus(JSON.parse(res.data.message).ispending);
@ -890,7 +913,7 @@ const Partner = (props) => {
<DialogTitle>MySy Warning</DialogTitle>
<DialogContent>
<DialogContentText>
<ImWarning style={{"color":"red", "fontSize":"40px"}} /> {Dialog_1_message}
<ImWarning style={{ "color": "red", "fontSize": "40px" }} /> {Dialog_1_message}
</DialogContentText>
</DialogContent>
@ -906,7 +929,7 @@ const Partner = (props) => {
<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" }} />
<label for="files" className="label">Changer image</label>
@ -918,10 +941,13 @@ const Partner = (props) => {
</div>}
<div className="nom_prenom"> {parntername && <b> {parntername}&nbsp;-&nbsp;{String(partnerPackService).toUpperCase()} ({parnternbformation})</b>}
{!parntername && <b> Partenaire </b>} </div>
{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>}
{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>
{String(menu) !== "infopartner" && <div className="sousmenu" onClick={PersonnalData}> <FcHome className="icone_menu" /> MES INFORMATIONS</div>}
@ -1041,7 +1067,7 @@ const Partner = (props) => {
<div className="div_droite firstConnexion">
<div className="firstConnexion_text">
<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 />
&nbsp; <br /> Merci.
</div>
@ -1231,7 +1257,7 @@ const Partner = (props) => {
{String(menu) === "mes_cmd" &&
<div className="div_droite">
<Partner_Commande />
<Partner_Commande conntected_employee_id={conntected_employee_id}/>
</div>
}

View File

@ -748,6 +748,7 @@ const Partner_Commande = (props) => {
clean_order_detail_fields();
setselectionModel_order_lines([]);
setLoading(true);
Get_Order_Data(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);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Partner_Order_Lines/";
setLoading(true);
axios.post(myurl, form).then(res => {
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.message r_class = " + res.data.message);
setGet_Partner_Orders_Lines_from_header_id_api("true");
@ -1028,12 +1030,14 @@ const Partner_Commande = (props) => {
setrows_order_lines(res.data.message);
}
else {
setLoading(false);
setGet_Partner_Orders_Lines_from_header_id_api("false");
setGet_Partner_Orders_Lines_from_header_id_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( Get_Partner_Orders_Lines_from_header_id = ', error);
setGet_Partner_Orders_Lines_from_header_id_api("false");
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_description, setp_add_cmd_header_description] = 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_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("");
@ -2059,7 +2063,7 @@ const Partner_Commande = (props) => {
setp_add_cmd_header_client_id();
setp_add_cmd_header_description();
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_expiration_cmd(date_today_90j.toLocaleDateString('fr-FR'));
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);
setConvert_Quotation_To_Order_Data_api("false");
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>
<DialogContentText>
Edition d'un ligne de commande / devis
</DialogContentText>
<div className="session_caract_Dialog" > Article
{String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="session_caract_Dialog" > Article
<TextField
autoFocus
@ -2548,9 +2650,13 @@ const Partner_Commande = (props) => {
onChange={(e) => {
setp_add_line_item(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 mysy_item_class_title = div1.getAttribute('mysy_item_class_title');
setp_add_line_item_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) => (
<MenuItem key={JSON.parse(myclass).internal_url} value={JSON.parse(myclass).internal_url} style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}
id="mysy_item_class"
mysy_item_class_title={JSON.parse(myclass).title}>
{JSON.parse(myclass).title}
mysy_item_class_title={JSON.parse(myclass).title}
mysy_item_class_default_price={JSON.parse(myclass).price}
>
{JSON.parse(myclass).title} - {JSON.parse(myclass).price}
</MenuItem>
))}
</TextField>
</div>
<div className="session_caract_Dialog" > Quantité
</div>}
{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
autoFocus
margin="dense"
id="ref_article_qty"
//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
//variant="standard"
value={p_add_line_item_qty}
@ -2583,17 +2728,21 @@ const Partner_Commande = (props) => {
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
autoFocus
margin="dense"
id="ref_article_unit_price"
name="ref_article_unit_price"
//label="Prix Unitaire"
type="number"
fullWidth
//variant="standard"
value={p_add_line_item_price}
@ -2602,10 +2751,29 @@ const Partner_Commande = (props) => {
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
autoFocus
margin="dense"
@ -2631,27 +2799,61 @@ const Partner_Commande = (props) => {
<MenuItem value="percent" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Pourcentage &nbsp;</MenuItem>
</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
autoFocus
margin="dense"
id="ref_article_reduction_value"
//label="Reduction"
type="number"
fullWidth
//variant="standard"
value={p_add_line_item_reduction_value}
onChange={(e) => {
setp_add_line_item_reduction_value(e.target.value);
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
<TextField
@ -2659,18 +2861,17 @@ const Partner_Commande = (props) => {
margin="dense"
id="ref_article_reduction_total_amount"
//label="Total Reduction"
type="text"
fullWidth
disabled
//variant="standard"
value={p_add_line_item_reduction_total_amount}
/>
</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
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
@ -2682,7 +2883,6 @@ const Partner_Commande = (props) => {
value={p_add_line_item_comment}
onChange={(e) => {
setp_add_line_item_comment(e.target.value);
}
}
//label="Commentaire"
@ -2692,9 +2892,33 @@ const Partner_Commande = (props) => {
maxRows={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
<TextField
@ -2707,11 +2931,7 @@ const Partner_Commande = (props) => {
//variant="standard"
disabled={true}
value={p_add_line_item_total_amount_ht}
onChange={(e) => {
setp_add_line_item_total_amount_ht(e.target.value);
}
}
/>
</div>
@ -2741,7 +2961,7 @@ const Partner_Commande = (props) => {
<DialogActions>
<div className="div_row">
{String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="div_row">
<div className="div_row_gauche">
<Button onClick={Update_Dialog_Detail_Article_open} className="bton_enreg_dialog">Mettre à jour</Button>
</div>
@ -2749,7 +2969,16 @@ const Partner_Commande = (props) => {
<Button onClick={Close_Dialog_Detail_Article_open} className="bton_annule_dialog" >Annuler</Button>
</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>
</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="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="3" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Facturé &nbsp;</MenuItem>
<MenuItem value="-1" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Annulé &nbsp;</MenuItem>
</TextField>
@ -3622,13 +3851,14 @@ const Partner_Commande = (props) => {
/>
</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
name="detail_header_date_expiration"
id="detail_header_date_expiration"
selected={new Date(moment(p_detail_header_date_expiration, "DD/MM/YYYY HH:mm:ss"))}
onChange={(date) => {
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");
}
}
@ -3785,7 +4015,7 @@ const Partner_Commande = (props) => {
/>
</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
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -4220,17 +4450,22 @@ const Partner_Commande = (props) => {
</div>
</div>}
</div>
<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>}
<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é" &&
String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <Popup
trigger={<Button variant="outlined" className="detail_class_submenu bton_add_sous_menu"> Supprimer </Button>}
modal
@ -4272,12 +4507,16 @@ const Partner_Commande = (props) => {
</div>
</div>
)}
</Popup>
</Popup>}
<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>
<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>
{String(p_detail_header_statut_label).toLowerCase() === "en cours" &&
<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>
@ -4307,7 +4546,7 @@ const Partner_Commande = (props) => {
</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>

View File

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

View File

@ -227,6 +227,7 @@ const Partner_Securite_Data = (props) => {
formData.append('pwd', pwd);
formData.append('new_pwd', 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";
if (new_pwd !== conf_new_pwd) {
@ -307,6 +308,7 @@ const Partner_Securite_Data = (props) => {
formData.append('mail', mail);
formData.append('new_mail', new_mail);
formData.append('conf_new_mail', conf_new_mail);
formData.append('partner_account_id', props.partner_account_id);
fetch(
@ -462,6 +464,7 @@ const Partner_Securite_Data = (props) => {
formData.append('current_insert_key', current_key);
formData.append('new_insert_key', 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('new_insert_key', 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('new_pwd', 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";
if (new_pwd !== conf_new_pwd) {
@ -276,6 +278,7 @@ function UpdateParnterInfo(props) {
formData.append('mail', mail);
formData.append('new_mail', new_mail);
formData.append('conf_new_mail', conf_new_mail);
formData.append('partner_account_id', partner_account_id);
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() {
@ -323,6 +328,15 @@ function UpdateParnterInfo(props) {
var mylocaltraining = JSON.parse(res.data.message);
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) {
setp_adr_street(mylocaltraining.adr_city);
document.getElementsByName("adr_city")[0].disabled = true;
@ -489,68 +503,105 @@ function UpdateParnterInfo(props) {
function desablefield1() {
setdatamodification();
if (document.getElementsByName("adr_city")[0]) {
document.getElementsByName("adr_city")[0].disabled = true;
document.getElementsByName("adr_city")[0].style.backgroundColor = "#ECEFF1";
}
document.getElementsByName("adr_city")[0].disabled = true;
document.getElementsByName("adr_city")[0].style.backgroundColor = "#ECEFF1";
if (document.getElementsByName("adr_zip")[0]) {
document.getElementsByName("adr_zip")[0].disabled = true;
document.getElementsByName("adr_zip")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("adr_country")[0]) {
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";
}
if (document.getElementsByName("siret")[0]) {
document.getElementsByName("siret")[0].disabled = true;
document.getElementsByName("siret")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("num_nda")[0]) {
document.getElementsByName("num_nda")[0].disabled = true;
document.getElementsByName("num_nda")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("link_facebook")[0]) {
document.getElementsByName("link_facebook")[0].disabled = true;
document.getElementsByName("link_facebook")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("link_linkedin")[0]) {
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);
}
@ -559,65 +610,122 @@ function UpdateParnterInfo(props) {
function enablefieds1() {
setuserformedited("1");
if (document.getElementsByName("adr_city")[0]) {
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";
if (document.getElementsByName("adr_zip")[0]) {
document.getElementsByName("adr_zip")[0].disabled = false;
document.getElementsByName("adr_zip")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("adr_country")[0]) {
document.getElementsByName("adr_country")[0].disabled = false;
document.getElementsByName("adr_country")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("telephone")[0]) {
document.getElementsByName("telephone")[0].disabled = false;
document.getElementsByName("telephone")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("siret")[0]) {
document.getElementsByName("siret")[0].disabled = false;
document.getElementsByName("siret")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("num_nda")[0]) {
document.getElementsByName("num_nda")[0].disabled = false;
document.getElementsByName("num_nda")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("link_facebook")[0]) {
document.getElementsByName("link_facebook")[0].disabled = false;
document.getElementsByName("link_facebook")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("link_linkedin")[0]) {
document.getElementsByName("link_linkedin")[0].disabled = false;
document.getElementsByName("link_linkedin")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("link_twitter")[0]) {
document.getElementsByName("link_twitter")[0].disabled = false;
document.getElementsByName("link_twitter")[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);
window.scrollTo({
@ -722,11 +830,17 @@ function UpdateParnterInfo(props) {
var telephone = document.getElementsByName("telephone")[0].value;
telephone = telephone.replace("undefined", "");
var siret = document.getElementsByName("siret")[0].value;
var siret = "";
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 = "";
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;
@ -739,6 +853,7 @@ function UpdateParnterInfo(props) {
var nom = document.getElementsByName("nom")[0].value;
var contact_nom = document.getElementsByName("contact_nom")[0].value;
var contact_prenom = document.getElementsByName("contact_prenom")[0].value;
var contact_tel = document.getElementsByName("contact_tel")[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 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 = "0";
if (document.getElementsByName("isdatadock")[0]) {
mydatadock = document.getElementsByName("isdatadock")[0].value;
}
var 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('nom', nom);
@ -811,16 +935,26 @@ function UpdateParnterInfo(props) {
desablefield1();
setdatamodification();
getPartnerImages();
alert(" La mise à jour a été faite ");
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";
}
alert(" La mise à jour a été faite ");
} else if (String(result['status']) === String("Err_Connexion")) {
alert('Erreur: ' + result['message']);
@ -1591,18 +1725,18 @@ function UpdateParnterInfo(props) {
<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_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_contact} className="detail_submenu" id='submenu_contact' name='submenu_contact'>Contact & Adresses</Button>*/}
</div>
{String(submenu).trim() === "submenu_donnee_securite" && <div className="training_data">
<Partner_Securite_Data />
<Partner_Securite_Data partner_account_id={partner_account_id} />
</div>}
{String(submenu).trim() === "submenu_donnee_facturation" && <div className="training_data">
<Partner_Invoicing_Data />
<Partner_Invoicing_Data partner_account_id={partner_account_id} />
</div>}
{String(submenu).trim() === "submenu_contact" && <div className="training_data">
@ -1625,11 +1759,11 @@ function UpdateParnterInfo(props) {
</div>
}
is_partner_admin_account = {is_partner_admin_account} <br />
&nbsp;
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }} onChange={DataUpdated}>
<TextField
{String(is_partner_admin_account) === "1" && <TextField
required
label="Raison sociale"
name="nom"
@ -1644,9 +1778,26 @@ function UpdateParnterInfo(props) {
}}
value={p_nom}
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"
label="SIRET"
className="texte_area"
@ -1661,7 +1812,7 @@ function UpdateParnterInfo(props) {
value={p_siret}
onChange={(e) => setp_siret(e.target.value)}
/>
}
@ -1827,7 +1978,7 @@ function UpdateParnterInfo(props) {
value={p_adr_country}
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>
@ -1913,6 +2064,7 @@ function UpdateParnterInfo(props) {
</div>
<div style={{ "width": "10%" }}> &nbsp;</div>
<div className="titre1"> Certification </div>
<div className="div_row">
@ -2085,6 +2237,8 @@ function UpdateParnterInfo(props) {
</TextField>
}
</div>
</div>}
<div style={{ "width": "10%" }}> &nbsp;</div>
<div className="titre1"> Info Contact </div>