recette2
cherif 2023-11-01 13:26:44 +01:00
parent 0a54eb2802
commit 4a3eb57ca9
9 changed files with 756 additions and 130 deletions

View File

@ -527,7 +527,11 @@ const AddClassManual = (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 (mylocaltraining.hasOwnProperty(field_name)) {
var local_valeur = mylocaltraining[String(field_name)]
@ -793,14 +797,30 @@ const AddClassManual = (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") {
}
formData.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;
}
}
formData.append(String(spec_field_updated_values_hooks[i].field_name), local_value);
}
//console.log(" formData = "+formData);
@ -1344,13 +1364,16 @@ const AddClassManual = (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;

View File

@ -63,6 +63,18 @@ const Config_Champs_Personnalise = (props) => {
return "?";
},
},
{
field: 'is_public', headerName: 'Champ Public', width: 150, hide: true, editable: false,
valueFormatter: (params) => {
if (String(params.value) === "0")
return "Non";
else if (String(params.value) === "1")
return "Oui";
else
return "?";
},
},
{
field: 'field_type', headerName: 'Type', width: 150, hide: false, editable: false,
valueFormatter: (params) => {
@ -265,12 +277,20 @@ const Config_Champs_Personnalise = (props) => {
setp_detail_is_displayed_label("Non");
}
if (mylocal_spec_field.field_type){
if (mylocal_spec_field.is_public) {
setp_detail_is_public(mylocal_spec_field.is_public);
if (String(mylocal_spec_field.is_public) === "1")
setp_detail_is_public_label("Oui");
else
setp_detail_is_public_label("Non");
}
if (mylocal_spec_field.field_type) {
setp_detail_field_type(mylocal_spec_field.field_type);
if (String(mylocal_spec_field.field_type) === "string")
setp_detail_field_type_label("Alphanumérique");
setp_detail_field_type_label("Alphanumérique");
else if (String(mylocal_spec_field.field_type) === "float")
setp_detail_field_type_label("Numérique");
setp_detail_field_type_label("Numérique");
}
@ -550,7 +570,7 @@ const Config_Champs_Personnalise = (props) => {
Getall_Partner_Personalised_Fields_No_filter();
// myRef_head.current.scrollIntoView({ behavior: "smooth" });
window.scrollTo({
top: 0,
@ -620,6 +640,11 @@ const Config_Champs_Personnalise = (props) => {
document.getElementsByName("is_displayed")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("is_public")[0]) {
document.getElementsByName("is_public")[0].disabled = true;
document.getElementsByName("is_public")[0].style.backgroundColor = "#ECEFF1";
}
}
@ -662,6 +687,11 @@ const Config_Champs_Personnalise = (props) => {
document.getElementsByName("is_displayed")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("is_public")[0]) {
document.getElementsByName("is_public")[0].disabled = false;
document.getElementsByName("is_public")[0].style.backgroundColor = "#FFFFFF";
}
}
@ -702,6 +732,11 @@ const Config_Champs_Personnalise = (props) => {
const [p_detail_related_collection_name, setp_detail_related_collection_name] = useState("");
const [p_detail_is_displayed, setp_detail_is_displayed] = useState("");
const [p_detail_is_displayed_label, setp_detail_is_displayed_label] = useState("");
const [p_detail_is_public, setp_detail_is_public] = useState("");
const [p_detail_is_public_label, setp_detail_is_public_label] = useState("");
const [p_detail_field_type, setp_detail_field_type] = useState("");
const [p_detail_field_type_label, setp_detail_field_type_label] = useState("");
const [p_detail_is_mandatory, setp_detail_is_mandatory] = useState("");
@ -712,6 +747,7 @@ const Config_Champs_Personnalise = (props) => {
const [p_one_detail_field_label, setp_one_detail_field_label] = useState("");
const [p_one_detail_related_collection, setp_one_detail_related_collection] = useState("");
const [p_one_detail_is_displayed, setp_one_detail_is_displayed] = useState("");
const [p_one_detail_is_public, setp_one_detail_is_public] = useState("");
const [p_one_detail_field_type, setp_one_detail_field_type] = useState("");
const [p_one_detail_is_mandatory, setp_one_detail_is_mandatory] = useState("");
@ -721,11 +757,13 @@ const Config_Champs_Personnalise = (props) => {
setp_detail_related_collection("");
setp_detail_related_collection_name("");
setp_detail_is_displayed("");
setp_detail_is_public("");
setp_detail_field_type("");
setp_detail_field_type_label("");
setp_detail_is_mandatory("");
setp_detail_is_mandatory_label("");
setp_detail_is_displayed_label("");
setp_detail_is_public_label("");
}
@ -736,6 +774,7 @@ const Config_Champs_Personnalise = (props) => {
setp_one_detail_field_label();
setp_one_detail_related_collection("");
setp_one_detail_is_displayed("");
setp_one_detail_is_public("");
setp_one_detail_field_type("");
setp_one_detail_is_mandatory("");
}
@ -813,6 +852,12 @@ const Config_Champs_Personnalise = (props) => {
return;
}
if (p_detail_is_public)
form.append("is_public", p_detail_is_public);
else {
form.append("is_public", "0");
}
if (p_detail_field_type)
form.append("field_type", p_detail_field_type);
@ -925,6 +970,12 @@ const Config_Champs_Personnalise = (props) => {
return;
}
if (p_one_detail_is_public)
form.append("is_public", p_one_detail_is_public);
else {
form.append("is_public", "0");
}
if (p_one_detail_field_type)
form.append("field_type", p_one_detail_field_type);
@ -1271,6 +1322,7 @@ const Config_Champs_Personnalise = (props) => {
is_displayed: JSON.parse(item).is_displayed,
field_type: JSON.parse(item).field_type,
is_mandatory: JSON.parse(item).is_mandatory,
is_public: JSON.parse(item).is_public,
}
))}
@ -1350,21 +1402,21 @@ const Config_Champs_Personnalise = (props) => {
{String(personal_field_data_edit_mode) !== "1" &&
<div className="session_caract">
Entité métier <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="related_collection"
id="related_collection"
Entité métier <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="related_collection"
id="related_collection"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_detail_related_collection_name}
/>
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_detail_related_collection_name}
/>
</div>}
{String(personal_field_data_edit_mode) === "1" && <div className="session_caract"> Entité métier <br />
@ -1400,27 +1452,27 @@ const Config_Champs_Personnalise = (props) => {
</div>}
<div className="session_caract">
<Tooltip id="my-related_collection" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-related_collection" data-tooltip-content="Le champ commence par 'my_' et finit par une chaine alphanumerique de 3 à 50 caractères">
Nom Technique (commence par <i>my_</i>)<br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="field_name"
id="field_name"
<div className="session_caract">
<Tooltip id="my-related_collection" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-related_collection" data-tooltip-content="Le champ commence par 'my_' et finit par une chaine alphanumerique de 3 à 50 caractères">
Nom Technique (commence par <i>my_</i>)<br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="field_name"
id="field_name"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_detail_field_name}
onChange={(e) => {
setp_detail_field_name(e.target.value);
setpersonal_field_data_changed("1");
}}
/>
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_detail_field_name}
onChange={(e) => {
setp_detail_field_name(e.target.value);
setpersonal_field_data_changed("1");
}}
/>
</a>
</div>
@ -1544,7 +1596,28 @@ const Config_Champs_Personnalise = (props) => {
/>
</div>}
{String(personal_field_data_edit_mode) === "1" && <div className="session_caract"> Affichable <br />
{String(personal_field_data_edit_mode) !== "1" && <div className="session_caract">
<Tooltip id="my-related_collection_02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-related_collection_02" data-tooltip-content=" Si, oui, le champ est visible par tous les utilisateurs">
Champ public<br />
</a>
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="is_public"
id="is_public"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_detail_is_public_label}
/>
</div>}
{String(personal_field_data_edit_mode) === "1" && <div className="session_caract"> Affichable <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -1568,7 +1641,33 @@ const Config_Champs_Personnalise = (props) => {
</TextField>
</div>}
{String(personal_field_data_edit_mode) === "1" && <div className="session_caract">
<Tooltip id="my-related_collection_02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-related_collection_02" data-tooltip-content=" Si, oui, le champ est visible par tous les utilisateurs">
Champ public <br />
</a>
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="is_public"
id="is_public"
InputLabelProps={{
shrink: true,
}}
select
disabled={false}
className="disabled_style"
value={p_detail_is_public}
onChange={(e) => {
setp_detail_is_public(e.target.value);
setpersonal_field_data_changed("1");
}}
>
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Oui &nbsp;&nbsp;</MenuItem>
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Non &nbsp;</MenuItem>
</TextField>
</div>}
<div className="div_row" style={{ "border": "None" }}>
@ -1657,27 +1756,27 @@ const Config_Champs_Personnalise = (props) => {
</div>
<div className="session_caract">
<Tooltip id="my-related_collection" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-related_collection" data-tooltip-content="Le champ commence par 'my_' et finit par une chaine alphanumerique de 3 à 50 caractères">
Nom Technique (commence par <i>my_</i>)<br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="one_field_name"
id="one_one_field_name"
<div className="session_caract">
<Tooltip id="my-related_collection" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-related_collection" data-tooltip-content="Le champ commence par 'my_' et finit par une chaine alphanumerique de 3 à 50 caractères">
Nom Technique (commence par <i>my_</i>)<br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="one_field_name"
id="one_one_field_name"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_one_detail_field_name}
onChange={(e) => {
setp_one_detail_field_name(e.target.value);
setpersonal_field_data_changed("1");
}}
/>
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_one_detail_field_name}
onChange={(e) => {
setp_one_detail_field_name(e.target.value);
setpersonal_field_data_changed("1");
}}
/>
</a>
</div>
@ -1780,6 +1879,34 @@ const Config_Champs_Personnalise = (props) => {
</TextField>
</div>
<div className="session_caract">
<Tooltip id="my-related_collection_02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-related_collection_02" data-tooltip-content=" Si, oui, le champ est visible par tous les utilisateurs">
Champ public <br />
</a>
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="one_is_public"
id="one_is_public"
InputLabelProps={{
shrink: true,
}}
select
disabled={false}
className="disabled_style"
value={p_one_detail_is_public}
onChange={(e) => {
setp_one_detail_is_public(e.target.value);
setpersonal_field_data_changed("1");
}}
>
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Oui &nbsp;&nbsp;</MenuItem>
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Non &nbsp;</MenuItem>
</TextField>
</div>

View File

@ -2078,6 +2078,10 @@ const DisplayPartnerSession = (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]) {
document.getElementsByName(String(field_name))[0].disabled = true;
document.getElementsByName(String(field_name))[0].style.backgroundColor = "#ECEFF1";
@ -2156,6 +2160,10 @@ const DisplayPartnerSession = (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]) {
document.getElementsByName(String(field_name))[0].disabled = false;
document.getElementsByName(String(field_name))[0].style.backgroundColor = "#FFFFFF";
@ -2498,14 +2506,31 @@ const DisplayPartnerSession = (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);
}
@ -2697,14 +2722,30 @@ const DisplayPartnerSession = (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++) {
var local_value = String(spec_field_updated_values_hooks[i].field_value);
if( String(spec_field_updated_values_hooks[i].field_name) === "float"){
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") {
}
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));
}
@ -2987,6 +3028,11 @@ const DisplayPartnerSession = (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 (mylocaltraining.hasOwnProperty(field_name)) {
var local_valeur = mylocaltraining[String(field_name)]
@ -2994,7 +3040,7 @@ const DisplayPartnerSession = (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, 'field_name', field_name);
if (johnIndex > -1) {
@ -4435,6 +4481,7 @@ const DisplayPartnerSession = (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";
@ -5131,12 +5178,15 @@ const DisplayPartnerSession = (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;
@ -5667,7 +5717,7 @@ const DisplayPartnerSession = (props) => {
</div>
</div>
<div className="div_row"> &nbsp; </div>
{selectionModel && selectionModel.length === 1 && <div className="div_row">
{selectionModel && selectionModel.length === 1 && <div className="div_row">
<Button variant="outlined" ref={myRef} onClick={submenu_detail_session} className="detail_class_submenu" id='detail_session' name='detail_session'>Détail Session</Button>
<Button variant="outlined" onClick={submenu_preinscrit} className="detail_class_submenu" id='preinscrit' name='preinscrit'>Preinscription ({String(nb_stagiaire_Preinscrit)}) </Button>
<Button variant="outlined" onClick={submenu_inscrit} className="detail_class_submenu" id='inscrit' name='inscrit'>Inscription ({String(nb_stagiaire_Inscrit)}) </Button>

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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 (
<div className='inscription'>
@ -692,7 +840,7 @@ function Inscription_Information(props) {
<option value={JSON.parse(formation)._id} style={{ "height": "3rem", "borderRadius": "0px" }}>
{(JSON.parse(formation).session_ondemande) === "1" && " A la Demande - "}
{(!JSON.parse(formation).session_ondemande || JSON.parse(formation).session_ondemande === "0") &&
(JSON.parse(formation).date_debut).substring(0, 10) + " au " + (JSON.parse(formation).date_fin).substring(0, 10)}
@ -806,6 +954,37 @@ function Inscription_Information(props) {
variant="standard"
/>
{/* -- debut champs specifiques **/}
<div className="div_row" style={{ "padding": "5px", "width": "100%" }}>
{rows_champs_specifics &&
rows_champs_specifics.filter((spec_field) => JSON.parse(spec_field).is_public === "1").map((champ_spec) => (
<TextField
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
label={JSON.parse(champ_spec).field_label}
className="texte_area"
sx={{ m: 1, width: '48%' }}
InputProps={{
startAdornment: (
<InputAdornment position="start">
<AssignmentSharpIcon />
</InputAdornment>
),
}}
variant="standard"
/>
))}
<br />
</div>
{/* -- end champs specifiques **/}
<div style={{ "width": "10%" }}> &nbsp;</div>
@ -1088,6 +1267,44 @@ function Inscription_Information(props) {
</div>
{/* -- debut champs specifiques **/}
<div className="div_row">
<hr />
</div>
<div className="div_row" style={{ "padding": "5px" }}> Vos champs spécifiques 2<br />
{rows_champs_specifics &&
rows_champs_specifics.map((champ_spec) => (
<div className="session_caract"> {JSON.parse(champ_spec).field_label} <br />
<br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
InputLabelProps={{
shrink: true,
}}
className="disabled_style"
onChange={(e) => {
change_champs_spec_handle(e.target.value);
//setEmployee_data_changed("1");
}}
//onChange={change_champs_spec_handle}
/>
</div>
))}
<br />
</div>
{/* -- end champs specifiques **/}
<div className="div_info_droite">

View File

@ -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;

View File

@ -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
}