diff --git a/src/components/DisplayPartnerStagiaires.js b/src/components/DisplayPartnerStagiaires.js
index ffce1d4..24f3bfd 100644
--- a/src/components/DisplayPartnerStagiaires.js
+++ b/src/components/DisplayPartnerStagiaires.js
@@ -1470,6 +1470,7 @@ const DisplayPartnerStagiaires = (props) => {
for (let i = 0; i < rows_champs_specifics.length; i++) {
var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+
if (document.getElementsByName(String(field_name))[0]) {
document.getElementsByName(String(field_name))[0].disabled = true;
document.getElementsByName(String(field_name))[0].style.backgroundColor = "#ECEFF1";
@@ -1559,6 +1560,7 @@ const DisplayPartnerStagiaires = (props) => {
for (let i = 0; i < rows_champs_specifics.length; i++) {
var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+
if (document.getElementsByName(String(field_name))[0]) {
document.getElementsByName(String(field_name))[0].disabled = false;
document.getElementsByName(String(field_name))[0].style.backgroundColor = "#FFFFFF";
@@ -2201,6 +2203,10 @@ const DisplayPartnerStagiaires = (props) => {
for (let i = 0; i < rows_champs_specifics.length; i++) {
var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+ var field_type = JSON.parse(rows_champs_specifics[i]).field_type;
+ var field_label = JSON.parse(rows_champs_specifics[i]).field_label;
+ var is_mandatory = JSON.parse(rows_champs_specifics[i]).is_mandatory;
+
if (mylocalattendee.hasOwnProperty(field_name)) {
var local_valeur = mylocalattendee[String(field_name)]
@@ -2208,7 +2214,7 @@ const DisplayPartnerStagiaires = (props) => {
if (document.getElementById(String(field_name)))
document.getElementById(String(field_name)).value = local_valeur;
- var new_val = { 'field_name': field_name, 'field_value': local_valeur }
+ var new_val = { 'field_name': field_name, 'field_value': local_valeur, 'field_type': field_type }
var johnIndex = findIndexByProperty(spec_field_updated_values, 'field_name', field_name);
if (johnIndex > -1) {
@@ -2445,13 +2451,28 @@ const DisplayPartnerStagiaires = (props) => {
Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
*/
for (let i = 0; i < spec_field_updated_values_hooks.length; i++) {
- if( String(spec_field_updated_values_hooks[i].field_name) === "float"){
+
+ var local_value = String(spec_field_updated_values_hooks[i].field_value);
+
+ if (String(spec_field_updated_values_hooks[i].field_type) === "float") {
+ local_value = local_value.replaceAll(",", ".");
+
+ if (isNaN(local_value)) {
+ alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.")
+ return;
+ }
+ }
+ else if (String(spec_field_updated_values_hooks[i].field_type) === "string") {
}
- else if ( String(spec_field_updated_values_hooks[i].field_name) === "string"){
+ if (String(spec_field_updated_values_hooks[i].is_mandatory) === "1") {
+ if (String(local_value).trim().length <= 0) {
+ alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.")
+ return;
+ }
}
-
+
form.append(String(spec_field_updated_values_hooks[i].field_name), String(spec_field_updated_values_hooks[i].field_value));
}
@@ -2558,14 +2579,30 @@ const DisplayPartnerStagiaires = (props) => {
*/
for (let i = 0; i < spec_field_updated_values_hooks.length; i++) {
- if( String(spec_field_updated_values_hooks[i].field_name) === "float"){
+ var local_value = String(spec_field_updated_values_hooks[i].field_value);
+
+ if (String(spec_field_updated_values_hooks[i].field_type) === "float") {
+
+ local_value = local_value.replaceAll(",", ".");
+
+ if (isNaN(local_value)) {
+ alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.")
+ return;
+ }
}
- else if ( String(spec_field_updated_values_hooks[i].field_name) === "string"){
+ else if (String(spec_field_updated_values_hooks[i].field_type) === "string") {
}
- form.append(String(spec_field_updated_values_hooks[i].field_name), String(spec_field_updated_values_hooks[i].field_value));
+ if (String(spec_field_updated_values_hooks[i].is_mandatory) === "1") {
+ if (String(local_value).trim().length <= 0) {
+ alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.")
+ return;
+ }
+ }
+
+ form.append(String(spec_field_updated_values_hooks[i].field_name), local_value);
}
//console.log(" form == ", form);
@@ -3174,6 +3211,7 @@ const DisplayPartnerStagiaires = (props) => {
for (let i = 0; i < rows_champs_specifics.length; i++) {
var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+
if (document.getElementsByName(String(field_name))[0]) {
document.getElementsByName(String(field_name))[0].disabled = true;
document.getElementsByName(String(field_name))[0].style.backgroundColor = "#ECEFF1";
@@ -3752,12 +3790,15 @@ const DisplayPartnerStagiaires = (props) => {
for (let i = 0; i < rows_champs_specifics.length; i++) {
var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+ var field_type = JSON.parse(rows_champs_specifics[i]).field_type;
+ var field_label = JSON.parse(rows_champs_specifics[i]).field_label;
+ var is_mandatory = JSON.parse(rows_champs_specifics[i]).is_mandatory;
+
if (document.getElementsByName(String(field_name))[0]) {
var field_value = document.getElementsByName(String(field_name))[0].value;
- var new_val = { 'field_name': field_name, 'field_value': field_value }
-
+ var new_val = { 'field_name': field_name, 'field_value': field_value, 'field_type': field_type, 'field_label': field_label, 'is_mandatory': is_mandatory }
var johnIndex = findIndexByProperty(spec_field_updated_values, 'field_name', field_name);
if (johnIndex > -1) {
spec_field_updated_values[johnIndex] = new_val;
diff --git a/src/components/Employes.js b/src/components/Employes.js
index b884cc4..7866516 100644
--- a/src/components/Employes.js
+++ b/src/components/Employes.js
@@ -863,6 +863,10 @@ const Employes = (props) => {
for (let i = 0; i < rows_champs_specifics.length; i++) {
var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+ var field_type = JSON.parse(rows_champs_specifics[i]).field_type;
+ var field_label = JSON.parse(rows_champs_specifics[i]).field_label;
+ var is_mandatory = JSON.parse(rows_champs_specifics[i]).is_mandatory;
+
if (mylocal_employe.hasOwnProperty(field_name)) {
var local_valeur = mylocal_employe[String(field_name)]
@@ -870,7 +874,7 @@ const Employes = (props) => {
if (document.getElementById(String(field_name)))
document.getElementById(String(field_name)).value = local_valeur;
- var new_val = { 'field_name': field_name, 'field_value': local_valeur }
+ var new_val = { 'field_name': field_name, 'field_value': local_valeur, 'field_type': field_type }
var johnIndex = findIndexByProperty(spec_field_updated_values, 'field_name', field_name);
if (johnIndex > -1) {
@@ -1369,6 +1373,7 @@ const Employes = (props) => {
for (let i = 0; i < rows_champs_specifics.length; i++) {
var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+
if (document.getElementsByName(String(field_name))[0]) {
document.getElementsByName(String(field_name))[0].disabled = true;
document.getElementsByName(String(field_name))[0].style.backgroundColor = "#ECEFF1";
@@ -1443,6 +1448,7 @@ const Employes = (props) => {
for (let i = 0; i < rows_champs_specifics.length; i++) {
var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+
if (document.getElementsByName(String(field_name))[0]) {
document.getElementsByName(String(field_name))[0].disabled = false;
document.getElementsByName(String(field_name))[0].style.backgroundColor = "#FFFFFF";
@@ -1572,18 +1578,36 @@ const Employes = (props) => {
Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
*/
for (let i = 0; i < spec_field_updated_values_hooks.length; i++) {
- if( String(spec_field_updated_values_hooks[i].field_name) === "float"){
+ var local_value = String(spec_field_updated_values_hooks[i].field_value);
+
+
+ if (String(spec_field_updated_values_hooks[i].field_type) === "float") {
+
+ local_value = local_value.replaceAll(",", ".");
+
+ if (isNaN(local_value)) {
+ alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.")
+ return;
+ }
}
- else if ( String(spec_field_updated_values_hooks[i].field_name) === "string"){
+ else if (String(spec_field_updated_values_hooks[i].field_type) === "string") {
}
- form.append(String(spec_field_updated_values_hooks[i].field_name), String(spec_field_updated_values_hooks[i].field_value));
+
+ if (String(spec_field_updated_values_hooks[i].is_mandatory) === "1") {
+ if (String(local_value).trim().length <= 0) {
+ alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.")
+ return;
+ }
+
+ }
+
+ form.append(String(spec_field_updated_values_hooks[i].field_name), local_value);
}
-
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Ressource_Humaine/";
axios.post(myurl, form).then(res => {
@@ -2137,14 +2161,30 @@ const Employes = (props) => {
Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
*/
for (let i = 0; i < spec_field_updated_values_hooks.length; i++) {
- if( String(spec_field_updated_values_hooks[i].field_name) === "float"){
+ var local_value = String(spec_field_updated_values_hooks[i].field_value);
+
+ if (String(spec_field_updated_values_hooks[i].field_type) === "float") {
+
+ local_value = local_value.replaceAll(",", ".");
+
+ if (isNaN(local_value)) {
+ alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " doit être numérique.")
+ return;
+ }
}
- else if ( String(spec_field_updated_values_hooks[i].field_name) === "string"){
+ else if (String(spec_field_updated_values_hooks[i].field_type) === "string") {
}
-
- form.append(String(spec_field_updated_values_hooks[i].field_name), String(spec_field_updated_values_hooks[i].field_value));
+ if (String(spec_field_updated_values_hooks[i].is_mandatory) === "1") {
+ if (String(local_value).trim().length <= 0) {
+ alert("Le champ " + spec_field_updated_values_hooks[i].field_label + " est obligatoire.")
+ return;
+ }
+
+ }
+
+ form.append(String(spec_field_updated_values_hooks[i].field_name), local_value);
}
@@ -3548,12 +3588,16 @@ const Employes = (props) => {
for (let i = 0; i < rows_champs_specifics.length; i++) {
var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+ var field_type = JSON.parse(rows_champs_specifics[i]).field_type;
+ var field_label = JSON.parse(rows_champs_specifics[i]).field_label;
+ var is_mandatory = JSON.parse(rows_champs_specifics[i]).is_mandatory;
+
+
if (document.getElementsByName(String(field_name))[0]) {
var field_value = document.getElementsByName(String(field_name))[0].value;
- var new_val = { 'field_name': field_name, 'field_value': field_value }
-
+ var new_val = { 'field_name': field_name, 'field_value': field_value, 'field_type': field_type, 'field_label': field_label, 'is_mandatory': is_mandatory }
var johnIndex = findIndexByProperty(spec_field_updated_values, 'field_name', field_name);
if (johnIndex > -1) {
spec_field_updated_values[johnIndex] = new_val;
diff --git a/src/components/GestionAdministrative.js b/src/components/GestionAdministrative.js
index bbb1264..7d7615e 100644
--- a/src/components/GestionAdministrative.js
+++ b/src/components/GestionAdministrative.js
@@ -1940,14 +1940,31 @@ function GestionAdministrative(props) {
Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
*/
for (let i = 0; i < spec_field_updated_values_hooks_session.length; i++) {
- if (String(spec_field_updated_values_hooks_session[i].field_name) === "float") {
+ var local_value = String(spec_field_updated_values_hooks_session[i].field_value);
+
+ if (String(spec_field_updated_values_hooks_session[i].field_type) === "float") {
+
+ local_value = local_value.replaceAll(",", ".");
+
+ if (isNaN(local_value)) {
+ alert("Le champ " + spec_field_updated_values_hooks_session[i].field_label + " doit être numérique.")
+ return;
+ }
}
- else if (String(spec_field_updated_values_hooks_session[i].field_name) === "string") {
+ else if (String(spec_field_updated_values_hooks_session[i].field_type) === "string") {
}
- form.append(String(spec_field_updated_values_hooks_session[i].field_name), String(spec_field_updated_values_hooks_session[i].field_value));
+ if (String(spec_field_updated_values_hooks_session[i].is_mandatory) === "1") {
+ if (String(local_value).trim().length <= 0) {
+ alert("Le champ " + spec_field_updated_values_hooks_session[i].field_label + " est obligatoire.")
+ return;
+ }
+
+ }
+
+ form.append(String(spec_field_updated_values_hooks_session[i].field_name), local_value);
}
@@ -2177,14 +2194,32 @@ function GestionAdministrative(props) {
Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
*/
for (let i = 0; i < spec_field_updated_values_hooks_session.length; i++) {
- if (String(spec_field_updated_values_hooks_session[i].field_name) === "float") {
+ var local_value = String(spec_field_updated_values_hooks_session[i].field_value);
+
+ if (String(spec_field_updated_values_hooks_session[i].field_type) === "float") {
+
+ local_value = local_value.replaceAll(",", ".");
+
+ if (isNaN(local_value)) {
+ alert("Le champ " + spec_field_updated_values_hooks_session[i].field_label + " doit être numérique.")
+ return;
+ }
}
- else if (String(spec_field_updated_values_hooks_session[i].field_name) === "string") {
+ else if (String(spec_field_updated_values_hooks_session[i].field_type) === "string") {
}
- form.append(String(spec_field_updated_values_hooks_session[i].field_name), String(spec_field_updated_values_hooks_session[i].field_value));
+ if (String(spec_field_updated_values_hooks_session[i].is_mandatory) === "1") {
+ if (String(local_value).trim().length <= 0) {
+ alert("Le champ " + spec_field_updated_values_hooks_session[i].field_label + " est obligatoire.")
+ return;
+ }
+
+ }
+
+
+ form.append(String(spec_field_updated_values_hooks_session[i].field_name), local_value);
}
@@ -2428,6 +2463,10 @@ function GestionAdministrative(props) {
for (let i = 0; i < rows_champs_specifics_session.length; i++) {
var field_name = JSON.parse(rows_champs_specifics_session[i]).field_name;
+ var field_type = JSON.parse(rows_champs_specifics_session[i]).field_type;
+ var field_label = JSON.parse(rows_champs_specifics_session[i]).field_name;
+ var is_mandatory = JSON.parse(rows_champs_specifics_session[i]).is_mandatory;
+
if (mylocaltraining.hasOwnProperty(field_name)) {
var local_valeur = mylocaltraining[String(field_name)]
@@ -2435,7 +2474,7 @@ function GestionAdministrative(props) {
if (document.getElementById(String(field_name)))
document.getElementById(String(field_name)).value = local_valeur;
- var new_val = { 'field_name': field_name, 'field_value': local_valeur }
+ var new_val = { 'field_name': field_name, 'field_value': local_valeur, 'field_type': field_type, 'field_label': field_label, 'is_mandatory': is_mandatory }
var johnIndex = findIndexByProperty(spec_field_updated_values_session, 'field_name', field_name);
if (johnIndex > -1) {
@@ -3706,6 +3745,10 @@ function GestionAdministrative(props) {
for (let i = 0; i < rows_champs_specifics_stagiaire.length; i++) {
var field_name = JSON.parse(rows_champs_specifics_stagiaire[i]).field_name;
+ var field_type = JSON.parse(rows_champs_specifics_stagiaire[i]).field_type;
+ var field_label = JSON.parse(rows_champs_specifics_stagiaire[i]).field_label;
+ var is_mandatory = JSON.parse(rows_champs_specifics_stagiaire[i]).is_mandatory;
+
if (mylocalattendee.hasOwnProperty(field_name)) {
var local_valeur = mylocalattendee[String(field_name)]
@@ -3713,7 +3756,7 @@ function GestionAdministrative(props) {
if (document.getElementById(String(field_name)))
document.getElementById(String(field_name)).value = local_valeur;
- var new_val = { 'field_name': field_name, 'field_value': local_valeur }
+ var new_val = { 'field_name': field_name, 'field_value': local_valeur, 'field_type': field_type, 'field_label': field_label, 'is_mandatory': is_mandatory }
var johnIndex = findIndexByProperty(spec_field_updated_values_stagiaire, 'field_name', field_name);
if (johnIndex > -1) {
@@ -3930,6 +3973,10 @@ function GestionAdministrative(props) {
for (let i = 0; i < rows_champs_specifics_stagiaire.length; i++) {
var field_name = JSON.parse(rows_champs_specifics_stagiaire[i]).field_name;
+ var field_type = JSON.parse(rows_champs_specifics_stagiaire[i]).field_type;
+ var field_label = JSON.parse(rows_champs_specifics_stagiaire[i]).field_label;
+ var is_mandatory = JSON.parse(rows_champs_specifics_stagiaire[i]).is_mandatory;
+
if (mylocalattendee.hasOwnProperty(field_name)) {
var local_valeur = mylocalattendee[String(field_name)]
@@ -3937,7 +3984,7 @@ function GestionAdministrative(props) {
if (document.getElementById(String(field_name)))
document.getElementById(String(field_name)).value = local_valeur;
- var new_val = { 'field_name': field_name, 'field_value': local_valeur }
+ var new_val = { 'field_name': field_name, 'field_value': local_valeur, 'field_type': field_type, 'field_label': field_label, 'is_mandatory': is_mandatory }
var johnIndex = findIndexByProperty(spec_field_updated_values_stagiaire, 'field_name', field_name);
if (johnIndex > -1) {
@@ -4631,14 +4678,32 @@ function GestionAdministrative(props) {
Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
*/
for (let i = 0; i < spec_field_updated_values_hooks_stagiaire.length; i++) {
- if (String(spec_field_updated_values_hooks_stagiaire[i].field_name) === "float") {
+ var local_value = String(spec_field_updated_values_hooks_stagiaire[i].field_value);
+
+ if (String(spec_field_updated_values_hooks_stagiaire[i].field_type) === "float") {
+
+ local_value = local_value.replaceAll(",", ".");
+
+ if (isNaN(local_value)) {
+ alert("Le champ " + spec_field_updated_values_hooks_stagiaire[i].field_label + " doit être numérique.")
+ return;
+ }
}
- else if (String(spec_field_updated_values_hooks_stagiaire[i].field_name) === "string") {
+ else if (String(spec_field_updated_values_hooks_stagiaire[i].field_type) === "string") {
}
- form.append(String(spec_field_updated_values_hooks_stagiaire[i].field_name), String(spec_field_updated_values_hooks_stagiaire[i].field_value));
+ if (String(spec_field_updated_values_hooks_stagiaire[i].is_mandatory) === "1") {
+ if (String(local_value).trim().length <= 0) {
+ alert("Le champ " + spec_field_updated_values_hooks_stagiaire[i].field_label + " est obligatoire.")
+ return;
+ }
+
+ }
+
+
+ form.append(String(spec_field_updated_values_hooks_stagiaire[i].field_name), local_value);
}
var myurl = process.env.REACT_APP_API_URL + "myclass/api/AddStagiairetoClass/";
@@ -5132,14 +5197,31 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
*/
for (let i = 0; i < spec_field_updated_values_hooks_stagiaire.length; i++) {
- if (String(spec_field_updated_values_hooks_stagiaire[i].field_name) === "float") {
+ var local_value = String(spec_field_updated_values_hooks_stagiaire[i].field_value);
+
+ if (String(spec_field_updated_values_hooks_stagiaire[i].field_type) === "float") {
+
+ local_value = local_value.replaceAll(",", ".");
+
+ if (isNaN(local_value)) {
+ alert("Le champ " + spec_field_updated_values_hooks_stagiaire[i].field_label + " doit être numérique.")
+ return;
+ }
}
- else if (String(spec_field_updated_values_hooks_stagiaire[i].field_name) === "string") {
+ else if (String(spec_field_updated_values_hooks_stagiaire[i].field_type) === "string") {
}
- form.append(String(spec_field_updated_values_hooks_stagiaire[i].field_name), String(spec_field_updated_values_hooks_stagiaire[i].field_value));
+ if (String(spec_field_updated_values_hooks_stagiaire[i].is_mandatory) === "1") {
+ if (String(local_value).trim().length <= 0) {
+ alert("Le champ " + spec_field_updated_values_hooks_stagiaire[i].field_label + " est obligatoire.")
+ return;
+ }
+
+ }
+
+ form.append(String(spec_field_updated_values_hooks_stagiaire[i].field_name), local_value);
}
var myurl = process.env.REACT_APP_API_URL + "myclass/api/UpdateStagiairetoClass/";
@@ -5678,12 +5760,14 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
for (let i = 0; i < rows_champs_specifics_session.length; i++) {
var field_name = JSON.parse(rows_champs_specifics_session[i]).field_name;
+ var field_type = JSON.parse(rows_champs_specifics_session[i]).field_type;
+ var field_label = JSON.parse(rows_champs_specifics_session[i]).field_label;
+ var is_mandatory = JSON.parse(rows_champs_specifics_session[i]).is_mandatory;
if (document.getElementsByName(String(field_name))[0]) {
var field_value = document.getElementsByName(String(field_name))[0].value;
- var new_val = { 'field_name': field_name, 'field_value': field_value }
-
+ var new_val = { 'field_name': field_name, 'field_value': field_value, 'field_type': field_type, 'field_label': field_label, 'is_mandatory': is_mandatory }
var johnIndex = findIndexByProperty(spec_field_updated_values_session, 'field_name', field_name);
if (johnIndex > -1) {
spec_field_updated_values_session[johnIndex] = new_val;
@@ -5770,12 +5854,14 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
for (let i = 0; i < rows_champs_specifics_stagiaire.length; i++) {
var field_name = JSON.parse(rows_champs_specifics_stagiaire[i]).field_name;
+ var field_type = JSON.parse(rows_champs_specifics_stagiaire[i]).field_type;
+ var field_label = JSON.parse(rows_champs_specifics_stagiaire[i]).field_label;
+ var is_mandatory = JSON.parse(rows_champs_specifics_stagiaire[i]).is_mandatory;
if (document.getElementsByName(String(field_name))[0]) {
var field_value = document.getElementsByName(String(field_name))[0].value;
- var new_val = { 'field_name': field_name, 'field_value': field_value }
-
+ var new_val = { 'field_name': field_name, 'field_value': field_value, 'field_type': field_type, 'field_label': field_label, 'is_mandatory': is_mandatory, 'is_mandatory':is_mandatory }
var johnIndex = findIndexByProperty(spec_field_updated_values_stagiaire, 'field_name', field_name);
if (johnIndex > -1) {
spec_field_updated_values_stagiaire[johnIndex] = new_val;
diff --git a/src/components/Inscription_Information.js b/src/components/Inscription_Information.js
index 570040e..9e03cdc 100644
--- a/src/components/Inscription_Information.js
+++ b/src/components/Inscription_Information.js
@@ -9,6 +9,7 @@ import TextField from '@mui/material/TextField';
import AccountCircle from '@mui/icons-material/AccountCircle';
import PhoneIcon from '@mui/icons-material/Phone'
import HomeWorkIcon from '@mui/icons-material/HomeWork';
+import AssignmentSharpIcon from '@mui/icons-material/AssignmentSharp';
import EmailIcon from '@mui/icons-material/Email'
import HomeIcon from '@mui/icons-material/Home'
import { Button, Form, FormGroup, Label } from "reactstrap";
@@ -160,9 +161,6 @@ function Inscription_Information(props) {
}
-
-
-
var employeur = ""
if (document.getElementById('employeur') && document.getElementById('employeur').value) {
employeur = document.getElementById('employeur').value;
@@ -181,9 +179,22 @@ function Inscription_Information(props) {
formData.append('class_internal_url', props.internal_url);
formData.append('price', props.trainig_price);
- /* Ceci est une preinscription faite par un end user, depuis le font, donc on force le 'status' à 0 (0 = préinscription)*/
- formData.append('status', '0');
+ /* Ceci est une preinscription faite par un end user, depuis le font, donc on force le 'status' à 0 (0 = préinscription)*/
+ formData.append('status', '0');
+ /*
+ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
+ */
+ for (let i = 0; i < spec_field_updated_values_hooks.length; i++) {
+ if (String(spec_field_updated_values_hooks[i].field_name) === "float") {
+
+ }
+ else if (String(spec_field_updated_values_hooks[i].field_name) === "string") {
+
+ }
+
+ formData.append(String(spec_field_updated_values_hooks[i].field_name), String(spec_field_updated_values_hooks[i].field_value));
+ }
fetch(
url,
@@ -292,6 +303,8 @@ function Inscription_Information(props) {
useEffect(() => {
+ Get_Partner_Object_Specific_Fields("inscription");
+
if (String(props.action).toLocaleLowerCase() !== "inscription" &&
String(props.action).toLocaleLowerCase() !== "information") {
@@ -641,6 +654,141 @@ function Inscription_Information(props) {
setvalemployeur_info(val);
};
+ // Gestion champs specifiques
+
+ /*
+ *** ALGORITHME
+ 1 - Récuperer la liste des champs specifiques de la collection concernée - Array : list_nom_champs_spec
+ 2 - Récupérer les caracteristiques de champs champs spécifique : "id, nom, label, type valeur, etc"
+ - avec un champ 'value' à vide. Mettre dans le tableau JSON, 'spec_champs_valeur'
+
+ 3 - Créer une nouvelle table qui permettra de gerer les hook : const [rows_champs_specifics, setrows_champs_specifics] = useState([]);
+ 4 - Afficher en html les elements 'rows_champs_specifics'
+ 5 - Gerer la modification avec la fonction 'change_champs_spec_handle'
+ 6 - On recuperer les valeur lors du click d'enregistrement.
+
+ */
+
+
+ const list_nom_champs_spec = []
+ const [spec_champs_valeur, setspec_champs_valeur] = useState([]);
+
+ //const spec_champs_valeur = ""
+
+ const [Get_Partner_Object_Specific_Fields_api, setGet_Partner_Object_Specific_Fields_api] = useState();
+ const [Get_Partner_Object_Specific_Fields_message, setGet_Partner_Object_Specific_Fields_message] = useState();
+ const [Get_Partner_Object_Specific_Fields_result, setGet_Partner_Object_Specific_Fields_result] = useState();
+ function Get_Partner_Object_Specific_Fields(local_collection_obj_metier) {
+
+ var form = new FormData();
+ const stored_cookie = getCookie('tokenmysypart');
+ form.append("token", stored_cookie);
+ form.append("object_name", local_collection_obj_metier);
+
+ var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/";
+
+ axios.post(myurl, form).then(res => {
+
+ if (String(res.data.status) === String("true")) {
+ //console.log(" In Get_Partner_Object_Specific_Fields res.data.status = " + res.data.status);
+ //console.log(" In Get_Partner_Object_Specific_Fields res.data.message r_class = " + res.data.message);
+
+ setGet_Partner_Object_Specific_Fields_api("true");
+ setGet_Partner_Object_Specific_Fields_result(res.data.message);
+
+
+ setrows_champs_specifics(res.data.message);
+
+
+ }
+ else {
+ setGet_Partner_Object_Specific_Fields_api("false");
+ setGet_Partner_Object_Specific_Fields_message(res.data.message);
+ alert(res.data.message)
+ }
+
+ }).catch((error) => {
+ console.warn('Not good man :( Get_Partner_Object_Specific_Fields = ', error);
+ setGet_Partner_Object_Specific_Fields_api("false");
+ alert(" Impossible de recuperer la liste des collection et champs personnalisables");
+ //setmyApimyApiMessage("")
+ })
+ }
+
+
+ const [rows_champs_specifics, setrows_champs_specifics] = useState([]);
+ const [display_champs_specifics, setdisplay_champs_specifics] = useState("0");
+
+ function afficher_champs_spec() {
+
+ setdisplay_champs_specifics("1");
+ //setrows_champs_specifics(spec_champs_valeur);
+
+ }
+
+ function findIndexByProperty(data, key, value) {
+ for (var i = 0; i < data.length; i++) {
+
+ if (data[i][key] == value) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+
+ function findValueByProperty(data, key, value) {
+ for (var i = 0; i < data.length; i++) {
+ if (data[i][key] == value) {
+
+ var tmp_val = JSON.parse(data[i]);
+
+ return tmp_val.field_value
+
+ }
+ }
+ return "";
+ }
+
+
+ const spec_field_updated_values = []
+ const [spec_field_updated_values_hooks, setspec_field_updated_values_hooks] = useState([]);
+
+
+ function change_champs_spec_handle() {
+
+ for (let i = 0; i < rows_champs_specifics.length; i++) {
+
+ var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+ var field_type = JSON.parse(rows_champs_specifics[i]).field_type;
+ var field_label = JSON.parse(rows_champs_specifics[i]).field_label;
+ var is_mandatory = JSON.parse(rows_champs_specifics[i]).is_mandatory;
+
+
+ if (document.getElementsByName(String(field_name))[0]) {
+
+ var field_value = document.getElementsByName(String(field_name))[0].value;
+ var new_val = { 'field_name': field_name, 'field_value': field_value, 'field_type':field_type, 'field_label':field_label, 'is_mandatory':is_mandatory }
+ var johnIndex = findIndexByProperty(spec_field_updated_values, 'field_name', field_name);
+ if (johnIndex > -1) {
+ spec_field_updated_values[johnIndex] = new_val;
+
+ } else {
+ spec_field_updated_values.push(new_val);
+ }
+ }
+
+ }
+
+ //setrows_champs_specifics(spec_champs_valeur);
+
+ //console.log(" OUTT spec_field_updated_values = ", spec_field_updated_values);
+ setspec_field_updated_values_hooks(spec_field_updated_values)
+ }
+ // -- end champs specifiques
+
+
+
return (
@@ -692,7 +840,7 @@ function Inscription_Information(props) {
+ {/* -- debut champs specifiques **/}
+
+
+
+
Vos champs spécifiques 2
+
+ {rows_champs_specifics &&
+ rows_champs_specifics.map((champ_spec) => (
+
+
{JSON.parse(champ_spec).field_label}
+
+ {
+ change_champs_spec_handle(e.target.value);
+ //setEmployee_data_changed("1");
+ }}
+ //onChange={change_champs_spec_handle}
+
+
+ />
+
+ ))}
+
+
+
+
+ {/* -- end champs specifiques **/}
diff --git a/src/components/TestUrl_new.js b/src/components/TestUrl_new.js
index 8db00ae..dfeed2c 100644
--- a/src/components/TestUrl_new.js
+++ b/src/components/TestUrl_new.js
@@ -399,13 +399,16 @@ const TestUrl_New = (props) => {
for (let i = 0; i < rows_champs_specifics.length; i++) {
- var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+ var field_name = JSON.parse(rows_champs_specifics[i]).field_name;
+ var field_type = JSON.parse(rows_champs_specifics[i]).field_type;
+ var field_label = JSON.parse(rows_champs_specifics[i]).field_label;
+ var is_mandatory = JSON.parse(rows_champs_specifics[i]).is_mandatory;
+
if (document.getElementsByName(String(field_name))[0]) {
var field_value = document.getElementsByName(String(field_name))[0].value;
- var new_val = { 'field_name': field_name, 'field_value': field_value }
-
+ var new_val = { 'field_name': field_name, 'field_value': field_value, 'field_type':field_type, 'field_label':field_label, 'is_mandatory':is_mandatory }
var johnIndex = findIndexByProperty(spec_field_updated_values, 'field_name', field_name);
if (johnIndex > -1) {
spec_field_updated_values[johnIndex] = new_val;
diff --git a/src/styles/components/_inscription.scss b/src/styles/components/_inscription.scss
index d33f284..68e658b 100644
--- a/src/styles/components/_inscription.scss
+++ b/src/styles/components/_inscription.scss
@@ -113,6 +113,14 @@
color: #104277 !important;
height: 2rem;
}
+
+ .block_spec_fields {
+ width: 100%;
+ }
+
+ .champs_specifique {
+ width: 100%;
+ }
}
@media only screen and (min-width: 601px) and (max-width: 991px) {
@@ -205,6 +213,7 @@
float: right;
padding: 1px;
}
+
.bton_envoyer {
border-radius: 5px;
font-size: small;
@@ -223,6 +232,14 @@
background-color: white;
color: #104277 !important;
}
+
+ .block_spec_fields {
+ width: 100%;
+ }
+
+ .champs_specifique {
+ width: 90%;
+ }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
@@ -337,6 +354,13 @@
height: 2rem;
}
+ .block_spec_fields {
+ width: 100%;
+ }
+
+ .champs_specifique {
+ width: 50%;
+ }
}
@media only screen and (min-width: 1200px) {
@@ -454,26 +478,26 @@
height: 2rem;
}
- .survey_block{
+ .survey_block {
background-color: white;
margin: 10px;
}
- .survey_page{
+ .survey_page {
background-color: #f7f7f7;
display: block;
margin: 10px;
}
- .survey_title{
+ .survey_title {
font-size: calc(2 * var(--base-unit, 8px));
line-height: calc(3 * var(--base-unit, 8px));
padding: 5px;
}
- .survey_desc{
+ .survey_desc {
font-family: var(--font-family);
font-style: normal;
font-weight: normal;
@@ -482,7 +506,18 @@
word-break: break-word;
padding: 5px;
}
+
+ .block_spec_fields {
+ width: 100%;
+ }
+
+ .champs_specifique {
+ width: 50%;
+ }
+
}
-}
+ // end media
+
+}
\ No newline at end of file