diff --git a/src/components/AddClassManual.js b/src/components/AddClassManual.js
index d7d7664..a16fa12 100644
--- a/src/components/AddClassManual.js
+++ b/src/components/AddClassManual.js
@@ -771,6 +771,9 @@ const AddClassManual = (props) => {
document.getElementsByName("zone_diffusion_v2")[0].value = mylocaltraining.zone_diffusion_str;
}
+
+
+ getClassImage(mylocaltraining._id);
/*
* Update 22/10/2023 :
Gestion des champs spécifiques. ils commencent tous par 'my_'
@@ -813,6 +816,7 @@ const AddClassManual = (props) => {
*/
}
+
}
else {
//console.log(" In test res.data.status = "+res.data.status);
@@ -1151,14 +1155,20 @@ const AddClassManual = (props) => {
)
.then((response) => response.json())
.then((result) => {
- //console.log('Success:', result['message'], "result['status'] = ", result['status']);
+ console.log('Success:', result['message'], "result['status'] = ", result['status'], "result['class_id'] = ", result['class_id']);
setLoading(false);
setimportmessage(result['message']);
setmyApiResponse(result['status']);
setdatamodification("0");
- if (String(userimgclassprofilchanged) === "1")
- sendClassImage();
+ if ( String(result['status']) === "true") {
+
+ var myclass_id = String(result['class_id']);
+ console.log(" ####GRRRRR myclass_id = ", myclass_id);
+
+ if (String(userimgclassprofilchanged) === "1")
+ sendClassImage(myclass_id);
+ }
//alert(result['status'] + " -- " + myApiResponse + ' mess = ' + result['message']);
@@ -1392,6 +1402,8 @@ const AddClassManual = (props) => {
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("class_external_code", class_external_code);
+ form.append("related_collection", "myclass");
+ form.append("related_collection_recid", selected_class_id);
form.append("type", "partner");
setLoading(true);
fetch(
@@ -1438,9 +1450,10 @@ const AddClassManual = (props) => {
const [isimgclassSaved, setisimgclassSaved] = useState("");
const [isimgclassSaved_message, setisimgclassSaved_message] = useState("");
- function sendClassImage(e) {
+ function sendClassImage(local_myclass_id) {
var class_external_code = "";
+
if (document.getElementsByName("external_code")[0].value && document.getElementsByName("external_code")[0].value.length > 3) {
class_external_code = document.getElementsByName("external_code")[0].value;
} else {
@@ -1448,13 +1461,16 @@ const AddClassManual = (props) => {
return;
}
+
var formData = new FormData();
formData.append('File', isimgclassSelected);
const stored_cookie = getCookie('tokenmysypart');
formData.append("token", stored_cookie);
formData.append("class_external_code", class_external_code);
+ formData.append("related_collection", "myclass");
+ formData.append("related_collection_recid", local_myclass_id);
+ formData.append("type", "myclass");
- formData.append("type", "partner");
setLoading(true);
fetch(
process.env.REACT_APP_API_URL + "myclass/api/recordClassImage/",
@@ -1492,7 +1508,7 @@ const AddClassManual = (props) => {
const [myclassimage, setmyclassimage] = useState();
const [isclassimage, setisclassimage] = useState();
- function getClassImage(e) {
+ function getClassImage( local_class_id) {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedClassImage/";
var class_external_code = props.mytrainingclass['class_external_code'];
@@ -1507,6 +1523,8 @@ const AddClassManual = (props) => {
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("type", "partner");
+ form.append("related_collection", "myclass");
+ form.append("related_collection_recid", local_class_id);
form.append("class_external_code", class_external_code);
setLoading(true);
@@ -1595,7 +1613,7 @@ const AddClassManual = (props) => {
fillfield();
if (props.mytrainingclass['class_external_code']) {
- getClassImage();
+
//console.log("props.mytrainingclass['plus_produit'] = " + props.mytrainingclass['plus_produit']);
setplus_produit_enabled(props.mytrainingclass['plus_produit']);
setmots_cle_enabled(props.mytrainingclass['mots_cle']);
@@ -3594,14 +3612,14 @@ const AddClassManual = (props) => {
-
+
-
+
diff --git a/src/components/DisplayDetailClass_new_v2.js b/src/components/DisplayDetailClass_new_v2.js
index 94f1221..a28e7ed 100644
--- a/src/components/DisplayDetailClass_new_v2.js
+++ b/src/components/DisplayDetailClass_new_v2.js
@@ -96,7 +96,6 @@ const DisplayDetailClass_new_v2 = (props) => {
var form = new FormData();
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
-
form.append("eval_token", action);
form.append("class_internal_url", classId);
@@ -129,7 +128,7 @@ const DisplayDetailClass_new_v2 = (props) => {
async function funclocaltoken() {
-
+
if (action && String(action).toLocaleLowerCase() !== "inscription" &&
String(action).toLocaleLowerCase() !== "information") {
@@ -174,12 +173,12 @@ const DisplayDetailClass_new_v2 = (props) => {
}
fetchData();
-
+
GetCurrentClass_trainingsession();
- Display();
+ Display();
GetAssociatedTraning();
-
+
funclocaltoken();
window.scrollTo({
top: 0,
@@ -290,6 +289,59 @@ const DisplayDetailClass_new_v2 = (props) => {
const [class_sales_price, setclass_sales_price] = useState("0");
+ const [myclassimage, setmyclassimage] = useState();
+ const [isclassimage, setisclassimage] = useState("False");
+ const [userimgclassprofil, setuserimgclassprofil] = useState("");
+
+ const [class_img_stored_in_bdd, setclass_img_stored_in_bdd] = useState("");
+
+ function getClassImage_no_token(class_id, class_external_code) {
+
+ var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedClassImage_no_token/";
+
+ var form = new FormData();
+
+ form.append("type", "partner");
+ form.append("related_collection", "myclass");
+ form.append("related_collection_recid", class_id);
+ form.append("class_external_code", class_external_code);
+
+
+ axios.post(myurl, form).then(res => {
+
+ if (res.data.status != "False") {
+
+ //console.log(" getClassImage : In test res.data.status = " + res.data.status);
+ console.log(" getClassImage: res.data.message.img = " + res.data.message);
+
+ if (res.data.message.img.length > 0) {
+ setisclassimage("True");
+ }
+ else {
+ setisclassimage("False");
+ }
+ setisclassimage(res.data.message.img);
+ var ch_img = "data:image/png;base64," + res.data.message.img;
+ setclass_img_stored_in_bdd(ch_img);
+ }
+ else {
+ //console.log(" In Erreur res.data.status = " + res.data.status);
+ //console.log(" In Erreur res.data.message = " + res.data.message);
+ setisclassimage("False");
+ setuserimgclassprofil();
+ setclass_img_stored_in_bdd();
+ }
+ }).catch((error) => {
+
+ console.warn('getClassImage ee: Not good man :( getClassImage = ');
+ setisclassimage("False");
+ setuserimgclassprofil("");
+ setclass_img_stored_in_bdd("");
+ })
+
+ }
+
+
function Display(e) {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_class/";
@@ -339,8 +391,8 @@ const DisplayDetailClass_new_v2 = (props) => {
//alert("myurl = "+myurl);
axios.post(myurl, form).then(res => {
- console.log(" In Display res.data.status = " + res.data.status);
- console.log(" In Display res.data.message = " + res.data.message);
+ // console.log(" In Display res.data.status = " + res.data.status);
+ //console.log(" In Display res.data.message = " + res.data.message);
if (String(res.data.status) === String("true")) {
if (res.data.message.length > 0) {
@@ -411,6 +463,9 @@ const DisplayDetailClass_new_v2 = (props) => {
setDetailTraining(JSON.parse(res.data.message));
+ getClassImage_no_token(JSON.parse(res.data.message)._id, JSON.parse(res.data.message).external_code);
+
+
if (JSON.parse(res.data.message).note) {
setratingvalue(JSON.parse(res.data.message).note);
}
@@ -902,7 +957,7 @@ const DisplayDetailClass_new_v2 = (props) => {
axios.post(myurl, form).then(res => {
//console.log(" In GetCurrentClass_trainingsession res.data.status = " + res.data.status);
- console.log(" In GetCurrentClass_trainingsession res.data.message r_class = " + res.data.message);
+ // console.log(" In GetCurrentClass_trainingsession res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true")) {
//console.log(" In GetCurrentClass_trainingsession res.data.status = " + res.data.status);
@@ -2074,8 +2129,15 @@ const DisplayDetailClass_new_v2 = (props) => {
}
+
+ {class_img_stored_in_bdd && String(class_img_stored_in_bdd).length > 50 &&
+
+

+
+ }
- {String(ismetiermanaged) !== "0" && String(ismetiermanaged) !== "1" &&
+
+ {(!class_img_stored_in_bdd || String(class_img_stored_in_bdd).length < 50 ) && String(ismetiermanaged) !== "0" && String(ismetiermanaged) !== "1" &&
{(!DetailTraining.img_url || String(DetailTraining.img_url).length <= 0) &&
DetailTraining.metier && String(DetailTraining.metier).toLocaleLowerCase() === String("it") &&
@@ -2121,12 +2183,12 @@ const DisplayDetailClass_new_v2 = (props) => {
}
- {String(ismetiermanaged) === "0" &&
+ {(!class_img_stored_in_bdd || String(class_img_stored_in_bdd).length < 50 ) && String(ismetiermanaged) === "0" &&
}
- {String(ismetiermanaged) === "1" &&
+ {(!class_img_stored_in_bdd || String(class_img_stored_in_bdd).length < 50 ) && String(ismetiermanaged) === "1" &&
}
diff --git a/src/components/Formation.js b/src/components/Formation.js
index b226b3f..286b0cf 100644
--- a/src/components/Formation.js
+++ b/src/components/Formation.js
@@ -86,56 +86,57 @@ const Formation = (props) => {
const [isclassimage, setisclassimage] = useState("False");
const [userimgclassprofil, setuserimgclassprofil] = useState("");
- function getClassImage(e) {
- var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedClassImage_from_front/";
+ const [class_img_stored_in_bdd, setclass_img_stored_in_bdd] = useState("");
- var class_external_code = props.formation.external_code;
+ function getClassImage_no_token() {
+
+ var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedClassImage_no_token/";
- if (class_external_code.length < 3) {
- //console.log("Le code externe prend au moins 3 caractères");
- return;
- }
- //console.log(" class_external_code = " + class_external_code);
var form = new FormData();
- form.append("class_external_code", class_external_code);
+
+ form.append("type", "partner");
+ form.append("related_collection", "myclass");
+ form.append("related_collection_recid", props.formation._id);
+ form.append("class_external_code", props.formation.external_code);
+
axios.post(myurl, form).then(res => {
if (res.data.status != "False") {
+
//console.log(" getClassImage : In test res.data.status = " + res.data.status);
//console.log(" getClassImage: res.data.message.img = " + res.data.message);
- if (res.data.message.img && res.data.message.img.length > 0) {
+ if (res.data.message.img.length > 0) {
setisclassimage("True");
- //console.log(" getClassImage : In test res.data.status = " + res.data.status);
- //console.log(" getClassImage: res.data.message.img = " + res.data.message);
-
- var ch_img = "data:image/png;base64," + res.data.message.img;
- setuserimgclassprofil(ch_img);
- //console.log("ch_img = "+ch_img);
}
else {
setisclassimage("False");
}
-
+ setisclassimage(res.data.message.img);
+ var ch_img = "data:image/png;base64," + res.data.message.img;
+ setclass_img_stored_in_bdd(ch_img);
}
else {
//console.log(" In Erreur res.data.status = " + res.data.status);
//console.log(" In Erreur res.data.message = " + res.data.message);
setisclassimage("False");
setuserimgclassprofil();
- //alert("4");
+ setclass_img_stored_in_bdd();
}
}).catch((error) => {
- console.warn('getClassImageee : Not good man :( getClassImage = ', error);
+
+ console.warn('getClassImage ee: Not good man :( getClassImage = ');
setisclassimage("False");
- setuserimgclassprofil(profileimg);
+ setuserimgclassprofil("");
+ setclass_img_stored_in_bdd("");
})
}
+
/* Cette variable accompagne la gestion des images par defaut.
idée : si la valeur de "DetailTraining.metier" != "management, digital, office, rh, vente, dev_perso"
alors l'utilisateur à créer une formation avec un metier qui n'est pas geré, donc on met une image par defaut
@@ -158,7 +159,7 @@ const Formation = (props) => {
setpartnerconnected("1");
}
- getClassImage();
+ getClassImage_no_token();
GetCurrentClass_trainingsession();
GetCurrentClass_trainingsession_cities();
@@ -252,8 +253,14 @@ const Formation = (props) => {
+
+ {class_img_stored_in_bdd && String(class_img_stored_in_bdd).length > 50 &&
+

+
+ }
- {String(ismetiermanaged) !== "0" && String(ismetiermanaged) !== "1" &&
+
+ { (!class_img_stored_in_bdd || String(class_img_stored_in_bdd).length < 50 ) && String(ismetiermanaged) !== "0" && String(ismetiermanaged) !== "1" &&
{(!props.formation.img_url || String(props.formation.img_url).length <= 0) &&
props.formation.metier && String(props.formation.metier).toLocaleLowerCase() === String("it") &&
@@ -294,22 +301,22 @@ const Formation = (props) => {
}
- {String(ismetiermanaged) === "0" && String(userimgclassprofil).length > 100 &&
+ {(!class_img_stored_in_bdd || String(class_img_stored_in_bdd).length < 50 ) && String(ismetiermanaged) === "0" && String(userimgclassprofil).length > 100 &&

{props.formation.institut_formation &&
Dispensé par :
{String(props.formation.institut_formation)}
}
}
- {String(ismetiermanaged) === "0" && String(userimgclassprofil).length <= 100 &&
+ {(!class_img_stored_in_bdd || String(class_img_stored_in_bdd).length < 50 ) && String(ismetiermanaged) === "0" && String(userimgclassprofil).length <= 100 &&

{props.formation.institut_formation &&
Dispensé par :
{String(props.formation.institut_formation)}
}
}
- {String(ismetiermanaged) === "1" &&
+ {(!class_img_stored_in_bdd || String(class_img_stored_in_bdd).length < 50 ) && String(ismetiermanaged) === "1" &&

{props.formation.institut_formation &&
Dispensé par :
{String(props.formation.institut_formation)}
}
}
-
+
{
e.preventDefault();