diff --git a/src/components/Abonnement.js b/src/components/Abonnement.js
index f4acfc8..824aab8 100644
--- a/src/components/Abonnement.js
+++ b/src/components/Abonnement.js
@@ -28,7 +28,7 @@ import PayementComponent_Carte from "./PaymentMethode_Carte"
import img_logo_stripe from "./../mysy_img/logo-stripe-secure.png";
import SendIcon from '@mui/icons-material/Send';
import { confirmAlert } from 'react-confirm-alert'; // Import
-
+import { RiAddCircleLine } from "react-icons/ri";
function Abonnement(props) {
@@ -42,6 +42,7 @@ function Abonnement(props) {
const [selectedpacks, setselectedpacks] = useState("");
const [currentpack, setcurrentpack] = useState(props.currentpack);
const [currentpack2, setcurrentpack2] = useState("");
+ const [parnternbformation, setparnternbformation] = useState("");
const columns = [
{ field: 'id', headerName: 'id', hide: true },
@@ -449,6 +450,11 @@ function Abonnement(props) {
}
+ if (mylocaltraining.nb_formation) {
+ setparnternbformation(String(mylocaltraining.nb_formation));
+
+ }
+
desablefield1();
}
@@ -625,7 +631,6 @@ function Abonnement(props) {
-
function returntoorder() {
setgotocheckout("0");
@@ -633,6 +638,174 @@ function Abonnement(props) {
const [packprice, setpackprice] = useState();
+ const [changepartnb_ftion, setchangepartnb_ftion] = useState();
+
+ const [new_nb_formations, setnew_nb_formations] = useState();
+
+ function Change_Partne_Nb_Ftion() {
+ setchangepartnb_ftion(true);
+ setnew_nb_formations(parnternbformation);
+ get_production_service_by_pack();
+ if (String(currentpack2).toLowerCase() === String("standard")) {
+ setpackprice("50");
+ }
+ else if (String(currentpack2).toLowerCase() === String("gold")) {
+ setpackprice("90");
+ }
+ else if (String(currentpack2).toLowerCase() === String("decouverte")) {
+ setpackprice("0");
+ }
+
+
+ }
+
+ const change_nb_formations = event => {
+
+ let valeur = event.target.value;
+
+
+ setnew_nb_formations(event.target.value);
+
+ // document.getElementById('div_nb_formation').style.color = "#104277";
+ //document.getElementById('div_ttc').style.color = "#104277";
+
+ }
+
+ function annule_enreg_new_ftion() {
+ setchangepartnb_ftion(false);
+ }
+
+ const [getpackproducts, setgetpackproducts] = useState();
+
+ const [get_production_service_by_pack_api, setget_production_service_by_pack_api] = useState();
+ const [get_production_service_by_pack_result, setget_production_service_by_pack_result] = useState();
+ function get_production_service_by_pack() {
+ const formData = new FormData();
+ const url = process.env.REACT_APP_API_URL + "myclass/api/get_product_service/";
+ formData.append('token', stored_part);
+ formData.append('pack_name', currentpack);
+
+ axios.post(url, formData).then(res => {
+ if (res.data.status != "False") {
+ //console.log(" In test res.data.status = " + res.data.status);
+ //console.log(" In test res.data.message = " + res.data.message);
+ setget_production_service_by_pack_api("True");
+ setget_production_service_by_pack_result(res.data.message);
+ setgetpackproducts(res.data.message);
+ }
+ else {
+ //console.log(" In test res.data.status = " + res.data.status);
+ //console.log(" In test res.data.message = " + res.data.message);
+ setget_production_service_by_pack_api("False");
+ setgetpackproducts("");
+ }
+
+ }).catch((error) => {
+ console.warn('Not good man :( mysearchtext = ');
+ setget_production_service_by_pack_api("False");
+ setgetpackproducts("");
+ //setmyApimyApiMessage("")
+ })
+ }
+
+ const [neworderid, setneworderid] = useState("");
+ const [New_Ordervalidation_api, setNew_Ordervalidation_api] = useState();
+ const [New_Ordervalidation_message, setNew_Ordervalidation_message] = useState();
+
+ function New_Ordervalidation() {
+ //alert(" confirmation ok");
+
+
+ var form = new FormData();
+ const stored_cookie = getCookie('tokenmysypart');
+ form.append("token", stored_cookie);
+ form.append("periodicite", "mensuel");
+
+ form.append("discount", "0");
+ form.append("pack", currentpack);
+
+ /*
+ /!\ : Important, il faut preciser le nombre d'article envoyé avec ceci : form.append("nb_product", nb_article);
+ */
+
+ form.append("nb_product", "1");
+
+
+ var prod_service = ""
+ getpackproducts.map((service) => (
+ prod_service = prod_service + " -- " + JSON.parse(service).designation
+ ))
+ //alert("prod_ser = " + prod_service);
+
+
+ form.append("0", JSON.stringify({
+ "code": currentpack, "prix": packprice, "comment": "nc", "qty": new_nb_formations, "pack_products": prod_service
+ }));
+
+
+ //form.append("1", JSON.stringify({ "code": "art_supp", "prix": "120", "comment": "nc" }));
+
+ var myurl = process.env.REACT_APP_API_URL + "myclass/api/createOrder/";
+
+ fetch(myurl,
+ {
+ method: 'POST',
+ body: form,
+ })
+ .then((data) => data.json())
+ .then((data) => {
+ console.log('Success:', data['message'], "data['status'] = ", data['status'], "ORDER ID = ", data['order_id']);
+ if (String(data['status']) === String("true")) {
+ setneworderid(data['order_id']);
+ setNew_Ordervalidation_api("true");
+ setchangepartnb_ftion(false);
+ setparnternbformation(new_nb_formations);
+
+ }
+ else {
+ setNew_Ordervalidation_api("false");
+ setNew_Ordervalidation_message(data['message']);
+ }
+
+
+ }).catch((error) => {
+ console.error('Error:', error);
+ setneworderid("");
+ setNew_Ordervalidation_api("false");
+
+ });
+
+ }
+
+
+ function confirmSNEwAbonnement() {
+ confirmAlert({
+ title: '',
+ message: "Confirmez la modification du nombre de formations",
+ buttons: [
+ {
+ label: 'Yes',
+ onClick: () => { New_Ordervalidation(); }
+ },
+ {
+ label: 'No',
+ onClick: () => { return }
+ }
+ ]
+ });
+ }
+
+
+ function make_new_abonnement() {
+
+ //console.log(" old qty = ", parnternbformation, " New qty = ", new_nb_formations);
+ if (parnternbformation == new_nb_formations) {
+ alert(" Le nombre de formations est identique à l'abonnement actuel.");
+ return;
+ }
+ confirmSNEwAbonnement();
+ }
+
return (
@@ -659,7 +832,97 @@ function Abonnement(props) {
Votre plan actuel
- Vous êtes actuellement sur un plan : {String(currentpack2).toUpperCase()}
+ Vous êtes actuellement sur un plan : {String(currentpack2).toUpperCase()}
+
+
+
+ Nombre de formations : {String(parnternbformation)}
+ {result && !(JSON.parse(result).end_date_abonnement) && !changepartnb_ftion &&
+ Modifier
+ }
+
+ {String(New_Ordervalidation_api) === "true" &&
+ la commande N° {neworderid} a été créée. Vous allez recevoir la confirmation de la commande et la facture par email. Merci.
+
+ }
+
+ {String(New_Ordervalidation_api) === "false" &&
+ Impossible de créer la commande. {New_Ordervalidation_message}
+
+ }
+
+ {changepartnb_ftion &&
+
+
+
+ Mesnuel
+
+
+ {packprice} €
+
+
+
+
+
+
+
+
+
+
+
+
+
+
}
+
+
+
{result && (JSON.parse(result).end_date_abonnement) &&
Cet abonnement expire le {(JSON.parse(result).end_date_abonnement)} }
@@ -949,7 +1212,7 @@ function Abonnement(props) {
{fields1desabled == false &&
- Enregister
+ Enregistrer
Annuler
@@ -1186,7 +1449,7 @@ function Abonnement(props) {
onClick={(e) => {
confirmAbonnement("Decouverte");
}}
- > Activez ce pack
+ > Activer ce pack
}
{String(currentpack2).toLowerCase() === String("decouverte") && (!JSON.parse(result).end_date_abonnement) &&
@@ -1197,7 +1460,7 @@ function Abonnement(props) {
onClick={(e) => {
confirmSTOPAbonnement("decouverte");
}}
- > Arretez
+ > Arreter
}
{String(currentpack2).toLowerCase() === String("decouverte") && (JSON.parse(result).end_date_abonnement) &&
@@ -1261,7 +1524,7 @@ function Abonnement(props) {
className="btn_abonnement"
onClick={(e) => {
confirmAbonnement("Standard");
- }}> Activez ce pack
+ }}> Activer ce pack
}
{String(currentpack2).toLowerCase() === String("standard") && (!JSON.parse(result).end_date_abonnement) &&
@@ -1271,9 +1534,10 @@ function Abonnement(props) {
onClick={(e) => {
confirmSTOPAbonnement("standard");
}}
- > Arretez
+ > Arreter
}
+
{String(currentpack2).toLowerCase() === String("standard") && (JSON.parse(result).end_date_abonnement) &&
{
confirmAbonnement("Gold");
}}
- > Activez ce pack
+ > Activer ce pack
}
{String(currentpack2).toLowerCase() === String("gold") && (!JSON.parse(result).end_date_abonnement) &&
@@ -1349,7 +1613,7 @@ function Abonnement(props) {
onClick={(e) => {
confirmSTOPAbonnement("Gold");
}}
- > Arretez
+ > Arreter
}
{String(currentpack2).toLowerCase() === String("gold") && (JSON.parse(result).end_date_abonnement) &&
diff --git a/src/components/Partner.js b/src/components/Partner.js
index 0a0f67c..a4cebb7 100644
--- a/src/components/Partner.js
+++ b/src/components/Partner.js
@@ -27,6 +27,7 @@ import { FaHandPointRight } from "react-icons/fa";
import OrderConfirmation from "./OrderConfirmation";
import Pricing from "./Pricing";
+
const Partner = (props) => {
const { commingmenu, commingpack } = useParams();
const [myApiResponse, setmyApiResponse] = useState("");
@@ -34,6 +35,7 @@ const Partner = (props) => {
const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']);
const stored_part = getCookie('tokenmysypart');
const [parntername, setparntername] = useState("");
+ const [parnternbformation, setparnternbformation] = useState("");
const [selectedfilt1, setselectedfilt1] = useState("");
const [selectedfilt2, setselectedfilt2] = useState("");
const [selectedfilt3, setselectedfilt3] = useState("");
@@ -400,6 +402,14 @@ const Partner = (props) => {
setpartnerPackService("Aucun Service");
}
+ if (JSON.parse(res.data.message).nb_formation) {
+ setparnternbformation(JSON.parse(res.data.message).nb_formation);
+ }
+ else {
+ setparnternbformation("");
+ }
+
+
if (JSON.parse(res.data.message).ispending) {
setpartnerstatus(JSON.parse(res.data.message).ispending);
}
@@ -534,7 +544,7 @@ const Partner = (props) => {
}
- {parntername &&
{parntername} - {String(partnerPackService).toUpperCase()} }
+
{parntername && {parntername} - {String(partnerPackService).toUpperCase()} ({parnternbformation}) }
{!parntername && Partenaire }
{String(menu) !== "infopartner" &&
INFORMATIONS PERSONNELLES
}
diff --git a/src/components/PaymentMethode.js b/src/components/PaymentMethode.js
index 025d4d5..d2784d2 100644
--- a/src/components/PaymentMethode.js
+++ b/src/components/PaymentMethode.js
@@ -473,7 +473,7 @@ function PaymentMethode(props) {
}}>J'ai lu et j'accepte les conditions ci-dessus.
- Enregister
+ Enregistrer
diff --git a/src/components/PaymentMethode_Carte.js b/src/components/PaymentMethode_Carte.js
index 54fc299..b8f5cc9 100644
--- a/src/components/PaymentMethode_Carte.js
+++ b/src/components/PaymentMethode_Carte.js
@@ -407,7 +407,7 @@ function PaymentMethodeNoConnect(props) {
- Enregister
+ Enregistrer
);
diff --git a/src/components/PaymentMethode_WO_connect.js b/src/components/PaymentMethode_WO_connect.js
index 793dec4..d6194bf 100644
--- a/src/components/PaymentMethode_WO_connect.js
+++ b/src/components/PaymentMethode_WO_connect.js
@@ -354,7 +354,7 @@ function PaymentMethodeNoConnect(props) {
- Enregister
+ Enregistrer
diff --git a/src/components/UpdatePartnerInfo.js b/src/components/UpdatePartnerInfo.js
index d6608ed..4f6e766 100644
--- a/src/components/UpdatePartnerInfo.js
+++ b/src/components/UpdatePartnerInfo.js
@@ -1532,7 +1532,7 @@ function UpdateParnterInfo() {
{fields1desabled == false &&
- Enregister
+ Enregistrer
Annuler
@@ -1658,7 +1658,7 @@ function UpdateParnterInfo() {
{pwdfieldsdesabled == false &&
- Enregister
+ Enregistrer
Annuler
@@ -1749,7 +1749,7 @@ function UpdateParnterInfo() {
{mailfieldsdesabled == false &&
- Enregister
+ Enregistrer
Annuler
@@ -1879,7 +1879,7 @@ function UpdateParnterInfo() {
{insert_keyfieldsdesabled == false &&
- Enregister
+ Enregistrer
diff --git a/src/components/UpdateUserGoals.js b/src/components/UpdateUserGoals.js
index d119a24..66c84f7 100644
--- a/src/components/UpdateUserGoals.js
+++ b/src/components/UpdateUserGoals.js
@@ -372,7 +372,7 @@ function UpdateUserGoals(props) {
{(!props.name_obj || fiedsupdated) &&
-
Enregister
+
Enregistrer
Annuler
diff --git a/src/components/UpdateUserInfo.js b/src/components/UpdateUserInfo.js
index 6a6621e..15a6aa7 100644
--- a/src/components/UpdateUserInfo.js
+++ b/src/components/UpdateUserInfo.js
@@ -690,7 +690,7 @@ function UpdateUserInfo() {
{fields1desabled == false &&
- Enregister
+ Enregistrer
Annuler
@@ -796,7 +796,7 @@ function UpdateUserInfo() {
{pwdfieldsdesabled == false &&
- Enregister
+ Enregistrer
Annuler
diff --git a/src/components/UpdateUserProfil.js b/src/components/UpdateUserProfil.js
index 0caabb6..9ed8ce5 100644
--- a/src/components/UpdateUserProfil.js
+++ b/src/components/UpdateUserProfil.js
@@ -296,7 +296,7 @@ function UpdateUserProfil(props) {
{fiedsupdated &&
-
Enregister
+
Enregistrer
Annuler
diff --git a/src/components/UpgradeToPro.js b/src/components/UpgradeToPro.js
index c2a4fdd..b23159e 100644
--- a/src/components/UpgradeToPro.js
+++ b/src/components/UpgradeToPro.js
@@ -561,7 +561,7 @@ function UpgradeToPro() {
onClick={(e) => {
confirmAbonnement("Decouverte");
}}
- > Activez le compte PRO
+ > Activer le compte PRO
@@ -629,7 +629,7 @@ function UpgradeToPro() {
className="btn_abonnement"
onClick={(e) => {
confirmAbonnement("Standard");
- }}> Activez le compte PRO
+ }}> Activer le compte PRO
@@ -699,7 +699,7 @@ function UpgradeToPro() {
onClick={(e) => {
confirmAbonnement("Gold");
}}
- > Activez le compte PRO
+ > Activer le compte PRO
@@ -780,7 +780,7 @@ function UpgradeToPro() {
{fields1desabled == false &&
- Enregister
+ Enregistrer
Annuler
diff --git a/src/styles/components/_abonnement.scss b/src/styles/components/_abonnement.scss
index fc95bee..05f8840 100644
--- a/src/styles/components/_abonnement.scss
+++ b/src/styles/components/_abonnement.scss
@@ -658,7 +658,7 @@
.list_produits_service {
font-size: small;
- }
+ }
.btn_retour_ps {
background-color: rgb(228, 236, 228) !important;
@@ -666,7 +666,36 @@
padding-right: 5px;
}
-
+ .btn_modif_nb_ftion {
+ width: 10rem;
+ background-color: green !important;
+ color: white;
+ border-radius: 5rem;
+ font-size: small;
+ }
+
+ .nb_ftion{
+ text-align: center;
+ width: 50%;
+ }
+
+ .btn_enreg_new_nb_ftion {
+ width: 95%;
+ background-color: green !important;
+ color: white;
+ border-radius: 5rem;
+ font-size: small;
+ }
+
+
+ .btn_annule_new_nb_ftion {
+ width: 95%;
+ background-color: black !important;
+ color: white;
+ border-radius: 5rem;
+ font-size: small;
+ }
+
}