20/03/23 - 19h45

recette2
cherif 2023-03-20 19:27:58 +01:00
parent e4824fa451
commit 243d736481
2 changed files with 145 additions and 1 deletions

View File

@ -646,6 +646,9 @@ function Abonnement(props) {
setchangepartnb_ftion(true);
setnew_nb_formations(parnternbformation);
get_production_service_by_pack();
get_current_active_class_mysy_and_lms();
if (String(currentpack2).toLowerCase() === String("standard")) {
setpackprice("50");
}
@ -708,6 +711,54 @@ function Abonnement(props) {
})
}
const [active_class_in_mysy, setactive_class_in_mysy] = useState();
const [active_class_in_lms, setactive_class_in_lms] = useState();
const [get_current_active_class_mysy_and_lms_api, setget_current_active_class_mysy_and_lms_api] = useState();
const [get_current_active_class_mysy_and_lms_result, setget_current_active_class_mysy_and_lms_result] = useState();
function get_current_active_class_mysy_and_lms() {
const formData = new FormData();
const url = process.env.REACT_APP_API_URL + "myclass/api/Get_Active_Ftions_Mysy_and_Lms/";
formData.append('token', stored_part);
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.mysy_nb_active_class = " + res.data.mysy_nb_active_class);
setget_current_active_class_mysy_and_lms_api("true");
setget_current_active_class_mysy_and_lms_result(res.data.message);
if (res.data.lms_nb_active_class) {
setactive_class_in_lms(res.data.lms_nb_active_class);
}
else {
setactive_class_in_lms("0");
}
if (res.data.mysy_nb_active_class) {
setactive_class_in_mysy(res.data.mysy_nb_active_class);
}
else {
setactive_class_in_mysy("0");
}
}
else {
//console.log(" In test res.data.status = " + res.data.status);
//console.log(" In test res.data.message = " + res.data.message);
setget_current_active_class_mysy_and_lms_api("false");
}
}).catch((error) => {
console.warn('get_current_active_class_mysy_and_lms = ', error);
setget_current_active_class_mysy_and_lms_api("false");
})
}
const [neworderid, setneworderid] = useState("");
const [New_Ordervalidation_api, setNew_Ordervalidation_api] = useState();
const [New_Ordervalidation_message, setNew_Ordervalidation_message] = useState();
@ -761,6 +812,12 @@ function Abonnement(props) {
setchangepartnb_ftion(false);
setparnternbformation(new_nb_formations);
// Mise à jour du module LMS si les conditions sont remplies.
MySy_LMS_Account_Management();
// Mise à jour du plan de payement
Update_Payement_Plan_Qty();
}
else {
setNew_Ordervalidation_api("false");
@ -778,6 +835,72 @@ function Abonnement(props) {
}
// Mise à jour du compte LMs Mysy
const [MySy_LMS_Account_Management_api, setMySy_LMS_Account_Management_api] = useState("");
const [MySy_LMS_Account_Management_message, setMySy_LMS_Account_Management_message] = useState("");
function MySy_LMS_Account_Management() {
var formData_tpm = new FormData();
formData_tpm.append('token', stored_part);
//formData_tpm.append('stripe_payment_id', stripe_pi);
//formData_tpm.append('packs', packs);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Check_MySy_LMS_Account/";
axios.post(myurl, formData_tpm).then(res => {
console.log('In MySy_LMS_Account_Management status = ', res.data.status, " -- message = ", res.data.message);
if (String(res.data.status) === String("true")) {
setMySy_LMS_Account_Management_api("true");
}
else {
setMySy_LMS_Account_Management_api("false")
setMySy_LMS_Account_Management_message(String(res.data.message))
}
}).catch((error) => {
console.log('In MySy_LMS_Account_Management ', error);
setMySy_LMS_Account_Management_api("false")
})
}
// Mise à jour du compte LMs Mysy
const [Update_Payement_Plan_Qty_api, setUpdate_Payement_Qty_Plan_api] = useState("");
const [Update_Payement_Plan_Qty_message, setUpdate_Payement_Qty_Plan_message] = useState("");
function Update_Payement_Plan_Qty() {
var formData_tpm = new FormData();
formData_tpm.append('token', stored_part);
formData_tpm.append('qty', new_nb_formations);
formData_tpm.append('old_qty', parnternbformation);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/strip_update_subscription_qty/";
axios.post(myurl, formData_tpm).then(res => {
console.log('In Update_Payement_Plan status = ', res.data.status, " -- message = ", res.data.message);
if (String(res.data.status) === String("true")) {
setUpdate_Payement_Qty_Plan_api("true");
}
else {
setUpdate_Payement_Qty_Plan_api("false")
setUpdate_Payement_Qty_Plan_message(String(res.data.message))
}
}).catch((error) => {
console.log('In Update_Payement_Plan_Qty ', error);
setUpdate_Payement_Qty_Plan_api("false")
})
}
function confirmSNEwAbonnement() {
confirmAlert({
title: '',
@ -803,6 +926,27 @@ function Abonnement(props) {
alert(" Le nombre de formations est identique à l'abonnement actuel.");
return;
}
/*
Important :
Pour reduire le nombre de formation, l'utilisateur doit desactiver les formations dans le LMS et dans mysy
de sorte à ce que le nouveau nombre de formation acheté ne soit pas inferieurs aux nombres de formations active
si non le systeme refuse.
*/
if (active_class_in_lms && parseInt(active_class_in_lms) > parseInt(new_nb_formations)) {
alert("Vous avez " + active_class_in_lms + " formation(s) active(s) dans le LMS, vous devez réduire ce nombre à au moins " + new_nb_formations + ".");
return;
}
if (active_class_in_mysy && parseInt(active_class_in_mysy) > parseInt(new_nb_formations)) {
alert("Vous avez " + active_class_in_mysy + " formation(s) publiée(s) dans le moteur de recherche, vous devez réduire ce nombre à au moins " + new_nb_formations + ".");
return;
}
confirmSNEwAbonnement();
}

View File

@ -176,7 +176,7 @@ function UpdateParnterInfo() {
function UpdatePartnerPwd() {
setupdatepwd(false);
//setupdatepwd(false);
const url = process.env.REACT_APP_API_URL + "myclass/api/update_partner_pwd/";
const formData = new FormData();
formData.append('token', stored_user);