17/12/2023 - 21h12
parent
906ff4aad7
commit
49334cee17
|
@ -1200,6 +1200,13 @@ const AddParnerClient = (props) => {
|
||||||
if (document.getElementsByName("client_email")) {
|
if (document.getElementsByName("client_email")) {
|
||||||
client_email = document.getElementsByName("client_email")[0].value;
|
client_email = document.getElementsByName("client_email")[0].value;
|
||||||
}
|
}
|
||||||
|
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||||
|
|
||||||
|
if (!client_email.match(validRegex)) {
|
||||||
|
alert("L'adresse email est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
form.append("email", client_email);
|
form.append("email", client_email);
|
||||||
|
|
||||||
|
|
||||||
|
@ -1208,6 +1215,11 @@ const AddParnerClient = (props) => {
|
||||||
client_nom = document.getElementsByName("client_nom")[0].value;
|
client_nom = document.getElementsByName("client_nom")[0].value;
|
||||||
}
|
}
|
||||||
form.append("nom", client_nom);
|
form.append("nom", client_nom);
|
||||||
|
if (String(client_nom).trim() === "") {
|
||||||
|
alert("Le nom du client est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var client_raison_sociale = ""
|
var client_raison_sociale = ""
|
||||||
if (document.getElementsByName("client_raison_sociale")) {
|
if (document.getElementsByName("client_raison_sociale")) {
|
||||||
|
@ -1332,6 +1344,12 @@ const AddParnerClient = (props) => {
|
||||||
if (document.getElementsByName("client_email")) {
|
if (document.getElementsByName("client_email")) {
|
||||||
client_email = document.getElementsByName("client_email")[0].value;
|
client_email = document.getElementsByName("client_email")[0].value;
|
||||||
}
|
}
|
||||||
|
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||||
|
if (!client_email.match(validRegex)) {
|
||||||
|
alert("L'adresse email est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
form.append("email", client_email);
|
form.append("email", client_email);
|
||||||
|
|
||||||
|
|
||||||
|
@ -1339,6 +1357,11 @@ const AddParnerClient = (props) => {
|
||||||
if (document.getElementsByName("client_nom")) {
|
if (document.getElementsByName("client_nom")) {
|
||||||
client_nom = document.getElementsByName("client_nom")[0].value;
|
client_nom = document.getElementsByName("client_nom")[0].value;
|
||||||
}
|
}
|
||||||
|
if (String(client_nom).trim() === "") {
|
||||||
|
alert("Le nom du client est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
form.append("nom", client_nom);
|
form.append("nom", client_nom);
|
||||||
|
|
||||||
var client_raison_sociale = ""
|
var client_raison_sociale = ""
|
||||||
|
@ -2151,39 +2174,6 @@ const AddParnerClient = (props) => {
|
||||||
<Button variant="outlined" onClick={submenu_donnee_client} className="detail_submenu" id='submenu_donnee_client' name='submenu_donnee_client'>Données Client</Button>
|
<Button variant="outlined" onClick={submenu_donnee_client} className="detail_submenu" id='submenu_donnee_client' name='submenu_donnee_client'>Données Client</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract">
|
|
||||||
Email <br />
|
|
||||||
<TextField
|
|
||||||
required
|
|
||||||
name="client_email"
|
|
||||||
//label="Email"
|
|
||||||
InputLabelProps={{
|
|
||||||
shrink: true,
|
|
||||||
}}
|
|
||||||
disabled={false}
|
|
||||||
className="disabled_style"
|
|
||||||
value={p_client_email}
|
|
||||||
onChange={(e) => setclient_email(e.target.value)}
|
|
||||||
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Nom <br />
|
|
||||||
<TextField
|
|
||||||
required
|
|
||||||
name="client_nom"
|
|
||||||
//label="Nom"
|
|
||||||
InputLabelProps={{
|
|
||||||
shrink: true,
|
|
||||||
}}
|
|
||||||
disabled={false}
|
|
||||||
className="disabled_style"
|
|
||||||
value={p_client_nom}
|
|
||||||
onChange={(e) => setclient_nom(e.target.value)}
|
|
||||||
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Raison sociale <br />
|
<div className="session_caract"> Raison sociale <br />
|
||||||
|
@ -2200,6 +2190,24 @@ const AddParnerClient = (props) => {
|
||||||
onChange={(e) => setclient_raison_sociale(e.target.value)}
|
onChange={(e) => setclient_raison_sociale(e.target.value)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="session_caract"> <b>Nom </b> <br />
|
||||||
|
<TextField
|
||||||
|
required
|
||||||
|
name="client_nom"
|
||||||
|
//label="Nom"
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_client_nom}
|
||||||
|
onChange={(e) => setclient_nom(e.target.value)}
|
||||||
|
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Type client <br />
|
<div className="session_caract"> Type client <br />
|
||||||
<TextField
|
<TextField
|
||||||
|
@ -2262,6 +2270,22 @@ const AddParnerClient = (props) => {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="session_caract">
|
||||||
|
<b>Email</b> <br />
|
||||||
|
<TextField
|
||||||
|
required
|
||||||
|
name="client_email"
|
||||||
|
//label="Email"
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_client_email}
|
||||||
|
onChange={(e) => setclient_email(e.target.value)}
|
||||||
|
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<div className="session_caract"> Adresse <br />
|
<div className="session_caract"> Adresse <br />
|
||||||
<TextField
|
<TextField
|
||||||
required
|
required
|
||||||
|
@ -2426,24 +2450,24 @@ const AddParnerClient = (props) => {
|
||||||
|
|
||||||
{String(submenu).trim() === "submenu_donnee_client" && <div className="training_data" onChange={DataUpdated}>
|
{String(submenu).trim() === "submenu_donnee_client" && <div className="training_data" onChange={DataUpdated}>
|
||||||
|
|
||||||
<div className="session_caract"> Email<br />
|
|
||||||
|
<div className="session_caract"> Raison sociale <br />
|
||||||
<TextField
|
<TextField
|
||||||
required
|
required
|
||||||
name="client_email"
|
name="client_raison_sociale"
|
||||||
//label="Email"
|
//label="Raison sociale"
|
||||||
InputLabelProps={{
|
InputLabelProps={{
|
||||||
shrink: true,
|
shrink: true,
|
||||||
}}
|
}}
|
||||||
disabled={false}
|
disabled={false}
|
||||||
className="disabled_style"
|
className="disabled_style"
|
||||||
value={p_client_email}
|
value={p_client_raison_sociale}
|
||||||
onChange={(e) => setclient_email(e.target.value)}
|
onChange={(e) => setclient_raison_sociale(e.target.value)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Nom<br />
|
<div className="session_caract"><b> Nom </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
required
|
required
|
||||||
name="client_nom"
|
name="client_nom"
|
||||||
|
@ -2460,20 +2484,6 @@ const AddParnerClient = (props) => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Raison sociale <br />
|
|
||||||
<TextField
|
|
||||||
required
|
|
||||||
name="client_raison_sociale"
|
|
||||||
//label="Raison sociale"
|
|
||||||
InputLabelProps={{
|
|
||||||
shrink: true,
|
|
||||||
}}
|
|
||||||
disabled={false}
|
|
||||||
className="disabled_style"
|
|
||||||
value={p_client_raison_sociale}
|
|
||||||
onChange={(e) => setclient_raison_sociale(e.target.value)}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{String(formedit_mode) !== "1" && <div className="session_caract"> Type client<br />
|
{String(formedit_mode) !== "1" && <div className="session_caract"> Type client<br />
|
||||||
<TextField
|
<TextField
|
||||||
|
@ -2553,6 +2563,22 @@ const AddParnerClient = (props) => {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="session_caract"> <b> Email </b> <br />
|
||||||
|
<TextField
|
||||||
|
required
|
||||||
|
name="client_email"
|
||||||
|
//label="Email"
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_client_email}
|
||||||
|
onChange={(e) => setclient_email(e.target.value)}
|
||||||
|
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Adresse<br />
|
<div className="session_caract"> Adresse<br />
|
||||||
<TextField
|
<TextField
|
||||||
required
|
required
|
||||||
|
|
|
@ -32,6 +32,8 @@ import { Fab } from "@material-ui/core";
|
||||||
import fileDownload from 'js-file-download'
|
import fileDownload from 'js-file-download'
|
||||||
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
|
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
|
||||||
import Checkbox from '@mui/material/Checkbox';
|
import Checkbox from '@mui/material/Checkbox';
|
||||||
|
import Autocomplete from '@mui/material/Autocomplete';
|
||||||
|
|
||||||
|
|
||||||
const Config_Documents = (props) => {
|
const Config_Documents = (props) => {
|
||||||
const history = useHistory();
|
const history = useHistory();
|
||||||
|
@ -858,6 +860,11 @@ const Config_Documents = (props) => {
|
||||||
const [p_collection, setp_collection] = useState();
|
const [p_collection, setp_collection] = useState();
|
||||||
|
|
||||||
function add_selected_fields() {
|
function add_selected_fields() {
|
||||||
|
if(!p_champ_table || String(p_champ_table) === "undefined"){
|
||||||
|
alert(" vous devez choisir un champ ");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (String(partner_document_data_edit_mode) === "1") {
|
if (String(partner_document_data_edit_mode) === "1") {
|
||||||
// Cas d'un update
|
// Cas d'un update
|
||||||
if (document_principal_ou_corp_mail && String(document_principal_ou_corp_mail) == "2") {
|
if (document_principal_ou_corp_mail && String(document_principal_ou_corp_mail) == "2") {
|
||||||
|
@ -1146,6 +1153,9 @@ const Config_Documents = (props) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const [New_Get_Given_Personnalisable_Collection_and_Fields_result, setNew_Get_Given_Personnalisable_Collection_and_Fields_result] = useState([]);
|
||||||
|
|
||||||
|
|
||||||
const [Get_Given_Personnalisable_Collection_and_Fields_api, setGet_Given_Personnalisable_Collection_and_Fields_api] = useState();
|
const [Get_Given_Personnalisable_Collection_and_Fields_api, setGet_Given_Personnalisable_Collection_and_Fields_api] = useState();
|
||||||
const [Get_Given_Personnalisable_Collection_and_Fields_message, setGet_Given_Personnalisable_Collection_and_Fields_message] = useState();
|
const [Get_Given_Personnalisable_Collection_and_Fields_message, setGet_Given_Personnalisable_Collection_and_Fields_message] = useState();
|
||||||
const [Get_Given_Personnalisable_Collection_and_Fields_result, setGet_Given_Personnalisable_Collection_and_Fields_result] = useState();
|
const [Get_Given_Personnalisable_Collection_and_Fields_result, setGet_Given_Personnalisable_Collection_and_Fields_result] = useState();
|
||||||
|
@ -1172,6 +1182,30 @@ const Config_Documents = (props) => {
|
||||||
setGet_Given_Personnalisable_Collection_and_Fields_api("true");
|
setGet_Given_Personnalisable_Collection_and_Fields_api("true");
|
||||||
setGet_Given_Personnalisable_Collection_and_Fields_result(res.data.message);
|
setGet_Given_Personnalisable_Collection_and_Fields_result(res.data.message);
|
||||||
|
|
||||||
|
const new_data = res.data.message.map((x) => {
|
||||||
|
|
||||||
|
var localid = JSON.parse(x).id;
|
||||||
|
var local_id = JSON.parse(x)._id;
|
||||||
|
|
||||||
|
//---
|
||||||
|
var local_courrier_template_ref_interne = JSON.parse(x).courrier_template_ref_interne;
|
||||||
|
var local_nom_champ_technique = JSON.parse(x).nom_champ_technique;
|
||||||
|
var local_nom_champ_fonctionel = JSON.parse(x).nom_champ_fonctionel;
|
||||||
|
|
||||||
|
//---
|
||||||
|
return {
|
||||||
|
"id": localid, "_id": String(local_id), "label": local_nom_champ_fonctionel, "courrier_template_ref_interne": local_courrier_template_ref_interne,
|
||||||
|
"nom_champ_technique": local_nom_champ_technique, "nom_champ_fonctionel": local_nom_champ_fonctionel
|
||||||
|
}
|
||||||
|
|
||||||
|
// return {"_id": " + str(local_id) + ", "label": " + local_courrier_template_ref_interne + '" , "courrier_template_ref_interne": "' + local_courrier_template_ref_interne + '", "nom_champ_technique": "' + local_nom_champ_technique + '", "nom_champ_fonctionel": "' + local_nom_champ_fonctionel + '","valide": "1" };
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
setNew_Get_Given_Personnalisable_Collection_and_Fields_result(new_data);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
setGet_Given_Personnalisable_Collection_and_Fields_api("false");
|
setGet_Given_Personnalisable_Collection_and_Fields_api("false");
|
||||||
|
@ -1594,6 +1628,8 @@ const Config_Documents = (props) => {
|
||||||
clear_one_detail_fields();
|
clear_one_detail_fields();
|
||||||
setadd_one_document();
|
setadd_one_document();
|
||||||
setdisplay_add_one_document();
|
setdisplay_add_one_document();
|
||||||
|
setp_champ_table("");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2576,34 +2612,19 @@ const Config_Documents = (props) => {
|
||||||
</div>
|
</div>
|
||||||
<div className="div_row_droite_1_tier" style={{ "textAlign": "left" }}>
|
<div className="div_row_droite_1_tier" style={{ "textAlign": "left" }}>
|
||||||
{String(partner_document_data_edit_mode) === "1" &&
|
{String(partner_document_data_edit_mode) === "1" &&
|
||||||
<div className="div_row" > Choisir un champ <br />
|
<Autocomplete
|
||||||
<TextField
|
disablePortal
|
||||||
name="champ_table"
|
id="combo-box-demo"
|
||||||
id="champ_table"
|
options={New_Get_Given_Personnalisable_Collection_and_Fields_result}
|
||||||
select
|
onChange={(event, value) => {
|
||||||
InputLabelProps={{
|
setp_champ_table(value.nom_champ_technique);
|
||||||
shrink: true,
|
|
||||||
}}
|
}}
|
||||||
disabled={false}
|
|
||||||
className="disabled_style enable_style"
|
|
||||||
value={p_champ_table}
|
|
||||||
onChange={(e) => {
|
|
||||||
setp_champ_table(e.target.value);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
|
|
||||||
{Get_Given_Personnalisable_Collection_and_Fields_result &&
|
|
||||||
Get_Given_Personnalisable_Collection_and_Fields_result.filter((local_mymanager) => JSON.parse(local_mymanager).courrier_template_ref_interne === p_detail_ref_interne).map((mycollection) => (
|
|
||||||
<MenuItem key={JSON.parse(mycollection).nom_champ_technique}
|
|
||||||
value={JSON.parse(mycollection).nom_champ_technique}
|
|
||||||
style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontSize": "12px" }}>
|
|
||||||
{JSON.parse(mycollection).nom_champ_fonctionel}
|
|
||||||
|
|
||||||
</MenuItem>
|
renderInput={(params) => <TextField {...params} label="Choisir " />
|
||||||
))}
|
}
|
||||||
</TextField>
|
/>
|
||||||
|
}
|
||||||
</div>}
|
|
||||||
|
|
||||||
{String(partner_document_data_edit_mode) === "1" &&
|
{String(partner_document_data_edit_mode) === "1" &&
|
||||||
<div className="div_row">
|
<div className="div_row">
|
||||||
|
@ -2615,6 +2636,7 @@ const Config_Documents = (props) => {
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{p_detail_type_doc && String(p_detail_type_doc).toLocaleLowerCase() === "email" && <div className="div_row" style={{ "marginRight": "15px" }} >
|
{p_detail_type_doc && String(p_detail_type_doc).toLocaleLowerCase() === "email" && <div className="div_row" style={{ "marginRight": "15px" }} >
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -45,7 +45,9 @@ import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
|
||||||
import { confirmAlert } from 'react-confirm-alert';
|
import { confirmAlert } from 'react-confirm-alert';
|
||||||
import ToggleSwitch from "./ToggleSwitch";
|
import ToggleSwitch from "./ToggleSwitch";
|
||||||
import Module_Historique_Action from "./Module_Historique_Action";
|
import Module_Historique_Action from "./Module_Historique_Action";
|
||||||
|
import { HiDocumentCheck } from "react-icons/hi2";
|
||||||
|
import { BsSend } from "react-icons/bs";
|
||||||
|
import Autocomplete from '@mui/material/Autocomplete';
|
||||||
|
|
||||||
const DisplayPartnerSession = (props) => {
|
const DisplayPartnerSession = (props) => {
|
||||||
const history = useHistory();
|
const history = useHistory();
|
||||||
|
@ -1689,7 +1691,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("4");
|
|
||||||
|
|
||||||
if (document.getElementById('detail_session')) {
|
if (document.getElementById('detail_session')) {
|
||||||
//myRef.current.scrollIntoView({ behavior: "smooth" });
|
//myRef.current.scrollIntoView({ behavior: "smooth" });
|
||||||
|
@ -2069,7 +2071,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
|
|
||||||
if (one_prenom_part.trim() == "") {
|
if (one_prenom_part.trim() == "") {
|
||||||
alert(" Vous devez saisir le prenom du participant");
|
alert(" Vous devez saisir le prénom du participant");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2602,6 +2604,29 @@ const DisplayPartnerSession = (props) => {
|
||||||
form.append("nom", p_detail_nom);
|
form.append("nom", p_detail_nom);
|
||||||
form.append("prenom", p_detail_prenom);
|
form.append("prenom", p_detail_prenom);
|
||||||
form.append("email", p_detail_mail);
|
form.append("email", p_detail_mail);
|
||||||
|
form.append("telephone", p_detail_tel);
|
||||||
|
|
||||||
|
if (String(p_detail_nom).trim().length < 2) {
|
||||||
|
alert("Le nom est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (String(p_detail_prenom).trim().length < 2) {
|
||||||
|
alert("Le prénom est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (String(p_detail_tel).trim().length < 2) {
|
||||||
|
alert("Le Téléphone est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||||
|
if (!p_detail_mail.match(validRegex)) {
|
||||||
|
alert("L'adresse email est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (p_detail_employeur)
|
if (p_detail_employeur)
|
||||||
form.append("employeur", p_detail_employeur);
|
form.append("employeur", p_detail_employeur);
|
||||||
|
@ -2627,7 +2652,8 @@ const DisplayPartnerSession = (props) => {
|
||||||
form.append("opco", "");
|
form.append("opco", "");
|
||||||
|
|
||||||
form.append("_id", selected_inscription_id);
|
form.append("_id", selected_inscription_id);
|
||||||
if (p_detail_client_rattachement_nom)
|
|
||||||
|
if (p_detail_client_rattachement_id)
|
||||||
form.append("client_rattachement_id", p_detail_client_rattachement_id);
|
form.append("client_rattachement_id", p_detail_client_rattachement_id);
|
||||||
else
|
else
|
||||||
form.append("client_rattachement_id", "");
|
form.append("client_rattachement_id", "");
|
||||||
|
@ -4266,9 +4292,11 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
}
|
}
|
||||||
const [SessionendDateInscription, setSessionendDateInscription] = useState();
|
const [SessionendDateInscription, setSessionendDateInscription] = useState();
|
||||||
|
|
||||||
|
const [New_GetCurrentPartnerClass_result, setNew_GetCurrentPartnerClass_result] = useState([]);
|
||||||
|
|
||||||
const [GetCurrentPartnerClass_api, setGetCurrentPartnerClass_api] = useState();
|
const [GetCurrentPartnerClass_api, setGetCurrentPartnerClass_api] = useState();
|
||||||
const [GetCurrentPartnerClass_message, setGetCurrentPartnerClass_message] = useState();
|
const [GetCurrentPartnerClass_message, setGetCurrentPartnerClass_message] = useState();
|
||||||
const [GetCurrentPartnerClass_result, setGetCurrentPartnerClass_result] = useState();
|
const [GetCurrentPartnerClass_result, setGetCurrentPartnerClass_result] = useState([]);
|
||||||
function GetCurrentPartnerClass(event) {
|
function GetCurrentPartnerClass(event) {
|
||||||
var form = new FormData();
|
var form = new FormData();
|
||||||
|
|
||||||
|
@ -4308,11 +4336,39 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
|
|
||||||
if (String(res.data.status) === String("true")) {
|
if (String(res.data.status) === String("true")) {
|
||||||
//console.log(" In GetCurrentPartnerClass res.data.status = " + res.data.status);
|
//console.log(" In GetCurrentPartnerClass res.data.status = " + res.data.status);
|
||||||
//console.log(" In GetCurrentPartnerClass res.data.message r_class = " + res.data.message);
|
console.log(" In GetCurrentPartnerClass res.data.message r_class = " + res.data.message);
|
||||||
setGetCurrentPartnerClass_api("true");
|
setGetCurrentPartnerClass_api("true");
|
||||||
setGetCurrentPartnerClass_result(res.data.message);
|
setGetCurrentPartnerClass_result(res.data.message);
|
||||||
|
|
||||||
|
|
||||||
|
var new_data2 = [];
|
||||||
|
|
||||||
|
const new_data = res.data.message.map((x) => {
|
||||||
|
|
||||||
|
//---
|
||||||
|
var localid = JSON.parse(x).id;
|
||||||
|
var local_id = JSON.parse(x)._id;
|
||||||
|
var local_internal_url = JSON.parse(x).internal_url;
|
||||||
|
var local_title = JSON.parse(x).title;
|
||||||
|
|
||||||
|
|
||||||
|
//---
|
||||||
|
var node = {
|
||||||
|
"_id": local_id, "id": localid,
|
||||||
|
"label": local_title, "internal_url": local_internal_url,
|
||||||
|
"title": local_title
|
||||||
|
};
|
||||||
|
new_data2.push(node);
|
||||||
|
|
||||||
|
// return {"_id": " + str(local_id) + ", "label": " + local_courrier_template_ref_interne + '" , "courrier_template_ref_interne": "' + local_courrier_template_ref_interne + '", "nom_champ_technique": "' + local_nom_champ_technique + '", "nom_champ_fonctionel": "' + local_nom_champ_fonctionel + '","valide": "1" };
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
if (new_data2.length > 0)
|
||||||
|
setNew_GetCurrentPartnerClass_result(new_data2);
|
||||||
|
|
||||||
|
|
||||||
} else if (String(res.data.status) === String("Err_Connexion")) {
|
} else if (String(res.data.status) === String("Err_Connexion")) {
|
||||||
alert('Erreur: ' + res.data.message);
|
alert('Erreur: ' + res.data.message);
|
||||||
history.push("/Connexion");
|
history.push("/Connexion");
|
||||||
|
@ -7796,9 +7852,17 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
}
|
}
|
||||||
//form.append("File", list_files);
|
//form.append("File", list_files);
|
||||||
|
|
||||||
|
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Prepare_and_Send_Convention_From_Session_By_Email/";
|
||||||
|
|
||||||
|
if (String(selected_convention_id) === "default_mail") {
|
||||||
|
// Il s'agit d'envoyer les convention par defaut de type mail
|
||||||
|
myurl = process.env.REACT_APP_API_URL + "myclass/api/Prepare_and_Send_Default_Convention_From_Session_By_Email/";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
fetch(
|
fetch(
|
||||||
process.env.REACT_APP_API_URL + "myclass/api/Prepare_and_Send_Convention_From_Session_By_Email/",
|
myurl,
|
||||||
{
|
{
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: form,
|
body: form,
|
||||||
|
@ -9266,7 +9330,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
setselected_convention_email_test();
|
setselected_convention_email_test();
|
||||||
///Get_Stagiaire_List_Email_Com();
|
///Get_Stagiaire_List_Email_Com();
|
||||||
setDialog_convention_open(true);
|
setDialog_convention_open(true);
|
||||||
}} >Editer une convention</label><br />
|
}} ><HiDocumentCheck /> <BsSend /> Editer une convention</label> <br />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -10134,7 +10198,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
{String(addOneSession) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }} >
|
{String(addOneSession) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }} >
|
||||||
<h5> Ajout d'une session de formation</h5>
|
<h5> Ajout d'une session de formation</h5>
|
||||||
|
|
||||||
<div className="session_caract" > Choisir une formation *<br />
|
{/*<div className="session_caract" > Choisir une formation *<br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -10165,10 +10229,31 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
|
|
||||||
</TextField>
|
</TextField>
|
||||||
|
|
||||||
|
</div>*/}
|
||||||
|
|
||||||
|
<div className="session_caract" > Choisir une formation <br />
|
||||||
|
|
||||||
|
<Autocomplete
|
||||||
|
disablePortal
|
||||||
|
id="combo-box-demo"
|
||||||
|
className="disabled_style enable_style"
|
||||||
|
options={New_GetCurrentPartnerClass_result}
|
||||||
|
onChange={(event, value) => {
|
||||||
|
// setp_champ_table(value.nom_champ_technique);
|
||||||
|
setone_selected_internal_url(value.internal_url);
|
||||||
|
setp_one_myclass_title(value.internal_url)
|
||||||
|
Get_Class_Data(value.internal_url);
|
||||||
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
renderInput={(params) => <TextField {...params} label="Choisir " />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Code Session *<br />
|
<div className="session_caract"><b> Code Session </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11161,7 +11246,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
{String(addOneParticipant) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }}>
|
{String(addOneParticipant) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }}>
|
||||||
<div className="titre1"> Ajout d'un nouveau participant à la session <u> {selected_code_session} </u> de la formation <u> {selected_class_title} </u></div>
|
<div className="titre1"> Ajout d'un nouveau participant à la session <u> {selected_code_session} </u> de la formation <u> {selected_class_title} </u></div>
|
||||||
|
|
||||||
<div className="session_caract"> Nom *<br />
|
<div className="session_caract"> <b> Nom </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11182,7 +11267,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Prenom *<br />
|
<div className="session_caract"> <b> Prenom </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11202,7 +11287,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Email *<br />
|
<div className="session_caract"> <b> Email </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11222,7 +11307,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> téléphone *<br />
|
<div className="session_caract"> <b> téléphone </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11541,7 +11626,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
{String(addOneParticipant) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }}>
|
{String(addOneParticipant) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }}>
|
||||||
<h5> Ajout d'un nouveau participant</h5>
|
<h5> Ajout d'un nouveau participant</h5>
|
||||||
|
|
||||||
<div className="session_caract"> Nom *<br />
|
<div className="session_caract"> <b> Nom </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11559,7 +11644,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Prenom *<br />
|
<div className="session_caract"> <b> Prénom </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11576,7 +11661,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Email *<br />
|
<div className="session_caract"> <b> Email </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11595,7 +11680,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> téléphone *<br />
|
<div className="session_caract"> <b> Téléphone </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11612,7 +11697,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Statut Inscription ss*<br />
|
<div className="session_caract"> Statut Inscription <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11705,7 +11790,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
<div className="titre1"> Ajout d'un nouveau participant a la session <u> {selected_code_session} </u> de la formation <u> {selected_class_title} </u></div>
|
<div className="titre1"> Ajout d'un nouveau participant a la session <u> {selected_code_session} </u> de la formation <u> {selected_class_title} </u></div>
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Nom *<br />
|
<div className="session_caract"> <b> Nom </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11726,7 +11811,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Prenom *<br />
|
<div className="session_caract"> <b> Prénom </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11746,7 +11831,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Email *<br />
|
<div className="session_caract"> <b> Email </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -11766,7 +11851,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> téléphone *<br />
|
<div className="session_caract"> <b> Téléphone </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -12218,8 +12303,8 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
className="disabled_style"
|
className="disabled_style"
|
||||||
value={p_detail_client_rattachement_nom}
|
value={p_detail_client_rattachement_nom}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
//setp_detail_client_rattachement_id(e.target.value);
|
setp_detail_client_rattachement_id(e.target.value);
|
||||||
setp_detail_client_rattachement_nom(e.target.value);
|
//setp_detail_client_rattachement_nom(e.target.value);
|
||||||
setparticipant_data_changed("1");
|
setparticipant_data_changed("1");
|
||||||
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant");
|
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant");
|
||||||
}
|
}
|
||||||
|
@ -12299,7 +12384,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Nom<br />
|
<div className="session_caract"> <b> Nom </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -12321,7 +12406,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Prenom<br />
|
<div className="session_caract"> <b> Prénom </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -12342,7 +12427,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Email<br />
|
<div className="session_caract"> <b> Email </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -12363,7 +12448,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Téléphone <br />
|
<div className="session_caract"> <b> Téléphone </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
|
|
@ -48,6 +48,8 @@ import Switch from '@mui/material/Switch';
|
||||||
import { FcSearch } from "react-icons/fc";
|
import { FcSearch } from "react-icons/fc";
|
||||||
import { useHistory } from "react-router-dom";
|
import { useHistory } from "react-router-dom";
|
||||||
import Module_Historique_Action from "./Module_Historique_Action";
|
import Module_Historique_Action from "./Module_Historique_Action";
|
||||||
|
import ToggleSwitch from "./ToggleSwitch";
|
||||||
|
import Autocomplete from '@mui/material/Autocomplete';
|
||||||
|
|
||||||
const DisplayPartnerStagiaires = (props) => {
|
const DisplayPartnerStagiaires = (props) => {
|
||||||
const history = useHistory();
|
const history = useHistory();
|
||||||
|
@ -1969,7 +1971,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const [New_Getall_TrainingSession_result, setNew_Getall_TrainingSession_result] = useState();
|
||||||
|
|
||||||
const [Getall_TrainingSession_api, setGetall_TrainingSession_api] = useState();
|
const [Getall_TrainingSession_api, setGetall_TrainingSession_api] = useState();
|
||||||
const [Getall_TrainingSession_message, setGetall_TrainingSession_message] = useState();
|
const [Getall_TrainingSession_message, setGetall_TrainingSession_message] = useState();
|
||||||
|
@ -1987,10 +1989,41 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
|
|
||||||
if (String(res.data.status) === String("true")) {
|
if (String(res.data.status) === String("true")) {
|
||||||
//console.log(" In Getall_TrainingSession res.data.status = " + res.data.status);
|
//console.log(" In Getall_TrainingSession res.data.status = " + res.data.status);
|
||||||
//console.log(" In Getall_TrainingSession res.data.message r_class = " + res.data.message);
|
console.log(" In Getall_TrainingSession res.data.message r_class = " + res.data.message);
|
||||||
setGetall_TrainingSession_api("true");
|
setGetall_TrainingSession_api("true");
|
||||||
setGetall_TrainingSession_result(res.data.message);
|
setGetall_TrainingSession_result(res.data.message);
|
||||||
|
|
||||||
|
var new_data2 = [];
|
||||||
|
const new_data = res.data.message.map((x) => {
|
||||||
|
|
||||||
|
//---
|
||||||
|
var localid = JSON.parse(x).id;
|
||||||
|
var local_id = JSON.parse(x)._id;
|
||||||
|
var local_internal_url = JSON.parse(x).internal_url;
|
||||||
|
var local_title_session = JSON.parse(x).titre;
|
||||||
|
var local_code_session = JSON.parse(x).code_session;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//---
|
||||||
|
var node = {
|
||||||
|
"_id": local_id,
|
||||||
|
"id": localid,
|
||||||
|
"label": local_code_session,
|
||||||
|
"class_internal_url": local_internal_url,
|
||||||
|
"titre": local_title_session
|
||||||
|
};
|
||||||
|
new_data2.push(node);
|
||||||
|
|
||||||
|
// return {"_id": " + str(local_id) + ", "label": " + local_courrier_template_ref_interne + '" , "courrier_template_ref_interne": "' + local_courrier_template_ref_interne + '", "nom_champ_technique": "' + local_nom_champ_technique + '", "nom_champ_fonctionel": "' + local_nom_champ_fonctionel + '","valide": "1" };
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
if (new_data2.length > 0)
|
||||||
|
setNew_Getall_TrainingSession_result(new_data2);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
setGetall_TrainingSession_api("false");
|
setGetall_TrainingSession_api("false");
|
||||||
|
@ -2635,6 +2668,28 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
form.append("email", p_one_email_part);
|
form.append("email", p_one_email_part);
|
||||||
form.append("telephone", p_one_phone_part);
|
form.append("telephone", p_one_phone_part);
|
||||||
|
|
||||||
|
if (String(p_one_nom_part).trim().length < 2) {
|
||||||
|
alert("Le nom est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (String(p_one_prenom_part).trim().length < 2) {
|
||||||
|
alert("Le prenom est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (String(p_one_phone_part).trim().length < 2) {
|
||||||
|
alert("Le Téléphone est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||||
|
if (!p_one_email_part.match(validRegex)) {
|
||||||
|
alert("L'adresse email est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (p_one_adresse_part)
|
if (p_one_adresse_part)
|
||||||
form.append("adresse", p_one_adresse_part);
|
form.append("adresse", p_one_adresse_part);
|
||||||
else
|
else
|
||||||
|
@ -2772,6 +2827,30 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
form.append("nom", p_detail_nom);
|
form.append("nom", p_detail_nom);
|
||||||
form.append("prenom", p_detail_prenom);
|
form.append("prenom", p_detail_prenom);
|
||||||
form.append("email", p_detail_mail);
|
form.append("email", p_detail_mail);
|
||||||
|
form.append("telephone", p_detail_tel);
|
||||||
|
|
||||||
|
if (String(p_detail_nom).trim().length < 2) {
|
||||||
|
alert("Le nom est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (String(p_detail_prenom).trim().length < 2) {
|
||||||
|
alert("Le prenom est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (String(p_detail_tel).trim().length < 2) {
|
||||||
|
alert("Le Téléphone est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||||
|
if (!p_detail_mail.match(validRegex)) {
|
||||||
|
alert("L'adresse email est invalide.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (p_detail_employeur)
|
if (p_detail_employeur)
|
||||||
form.append("employeur", p_detail_employeur);
|
form.append("employeur", p_detail_employeur);
|
||||||
|
@ -2836,7 +2915,8 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
|
|
||||||
|
|
||||||
form.append("_id", selected_id);
|
form.append("_id", selected_id);
|
||||||
if (p_detail_client_rattachement_nom)
|
|
||||||
|
if (p_detail_client_rattachement_id)
|
||||||
form.append("client_rattachement_id", p_detail_client_rattachement_id);
|
form.append("client_rattachement_id", p_detail_client_rattachement_id);
|
||||||
else
|
else
|
||||||
form.append("client_rattachement_id", "");
|
form.append("client_rattachement_id", "");
|
||||||
|
@ -4153,7 +4233,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
else
|
else
|
||||||
form.append("tuteur1_prenom", "");
|
form.append("tuteur1_prenom", "");
|
||||||
|
|
||||||
if (p_detail_tuteur1_email && String(p_detail_tuteur2_email).trim() !== "") {
|
if (p_detail_tuteur1_email && String(p_detail_tuteur1_email).trim() !== "") {
|
||||||
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||||
if (!p_detail_tuteur1_email.match(validRegex)) {
|
if (!p_detail_tuteur1_email.match(validRegex)) {
|
||||||
alert("L'adresse email est invalide.");
|
alert("L'adresse email est invalide.");
|
||||||
|
@ -4828,11 +4908,43 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract_Dialog" > Inclure Communication
|
{/* <div className="session_caract_Dialog" > Inclure Communication
|
||||||
<Switch checked={p_detail_tuteur1_include_com} onChange={(e) => {
|
<Switch checked={p_detail_tuteur1_include_com} onChange={(e) => {
|
||||||
setp_detail_tuteur1_include_com(e.target.checked)
|
setp_detail_tuteur1_include_com(e.target.checked)
|
||||||
}} />
|
}} />
|
||||||
|
</div>*/}
|
||||||
|
|
||||||
|
<Tooltip id="tooltip_com1" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="tooltip_com1" data-tooltip-content="Si oui, ce tuteur recevra tous les emails échangés">
|
||||||
|
<div className="session_caract" style={{ "float": "right", "fontSize": "12px", 'fontWeight': 'bolder', "width": "100%" }}>
|
||||||
|
|
||||||
|
<nav onChange={(e) => {
|
||||||
|
|
||||||
|
|
||||||
|
//console.log("is_contact_include_com == ", is_contact_include_com);
|
||||||
|
if (p_detail_tuteur1_include_com === true)
|
||||||
|
setp_detail_tuteur1_include_com(false)
|
||||||
|
else {
|
||||||
|
// Pour activier la fontion de "include com", le contact foit avoir une adresse email
|
||||||
|
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||||
|
|
||||||
|
if (!p_detail_tuteur1_email.match(validRegex)) {
|
||||||
|
alert("L'adresse email est invalide. Pour activer cette fontion, vous devez saisir une adresse email valide");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
setp_detail_tuteur1_include_com(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
id="toggleSwitchNav" name="toggleSwitchNav">
|
||||||
|
<ToggleSwitch
|
||||||
|
label="Inclure / Exclure de la communication ? " id="toggleSwitch" name="toggleSwitch" checked={p_detail_tuteur1_include_com} style={{ height: "2rem" }} />
|
||||||
|
</nav>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
</DialogContent>}
|
</DialogContent>}
|
||||||
|
|
||||||
|
@ -4958,11 +5070,44 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract_Dialog" > Inclure Communication
|
{/*<div className="session_caract_Dialog" > Inclure Communication
|
||||||
<Switch checked={p_detail_tuteur2_include_com} onChange={(e) => {
|
<Switch checked={p_detail_tuteur2_include_com} onChange={(e) => {
|
||||||
setp_detail_tuteur2_include_com(e.target.checked)
|
setp_detail_tuteur2_include_com(e.target.checked)
|
||||||
}} />
|
}} />
|
||||||
|
</div>*/}
|
||||||
|
|
||||||
|
<Tooltip id="tooltip_com" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="tooltip_com" data-tooltip-content="Si oui, ce tuteur recevra tous les emails échangés">
|
||||||
|
<div className="session_caract" style={{ "float": "right", "fontSize": "12px", 'fontWeight': 'bolder', "width": "100%" }}>
|
||||||
|
|
||||||
|
<nav onChange={(e) => {
|
||||||
|
|
||||||
|
|
||||||
|
//console.log("is_contact_include_com == ", is_contact_include_com);
|
||||||
|
if (p_detail_tuteur2_include_com === true)
|
||||||
|
setp_detail_tuteur2_include_com(false)
|
||||||
|
else {
|
||||||
|
// Pour activier la fontion de "include com", le contact foit avoir une adresse email
|
||||||
|
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
|
||||||
|
|
||||||
|
if (!p_detail_tuteur2_email.match(validRegex)) {
|
||||||
|
alert("L'adresse email est invalide. Pour activer cette fontion, vous devez saisir une adresse email valide");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
setp_detail_tuteur2_include_com(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
id="toggleSwitchNav" name="toggleSwitchNav">
|
||||||
|
<ToggleSwitch
|
||||||
|
label="Inclure / Exclure de la communication ? " id="toggleSwitch" name="toggleSwitch" checked={p_detail_tuteur2_include_com} style={{ height: "2rem" }} />
|
||||||
|
</nav>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
</DialogContent>}
|
</DialogContent>}
|
||||||
|
|
||||||
|
@ -5957,7 +6102,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
</TextField>
|
</TextField>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Session <br />
|
<div className="session_caract"> <b> Session </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -5997,8 +6142,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="session_caract"> <b> Nom </b> <br />
|
||||||
<div className="session_caract"> Nom *<br />
|
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -6020,7 +6164,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Prenom *<br />
|
<div className="session_caract"> <b> Prenom </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -6040,7 +6184,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Email *<br />
|
<div className="session_caract"> <b> Email </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -6060,7 +6204,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> téléphone *<br />
|
<div className="session_caract"> <b> Téléphone </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -6191,7 +6335,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
</TextField>
|
</TextField>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Client <br />
|
<div className="session_caract"> Client 2<br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -6424,7 +6568,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
<div className="session_data" >
|
<div className="session_data" >
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
{String(participant_data_edit_mode) !== "1" && <div className="session_caract"> Session <br />
|
{String(participant_data_edit_mode) !== "1" && <div className="session_caract"> <b> Session </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -6444,7 +6588,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
{String(participant_data_edit_mode) === "1" && <div className="session_caract"> Session <br />
|
{String(participant_data_edit_mode) === "1" && <div className="session_caract"> <b> Session </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -6492,8 +6636,8 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
className="disabled_style"
|
className="disabled_style"
|
||||||
value={p_detail_client_rattachement_nom}
|
value={p_detail_client_rattachement_nom}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
//setp_detail_client_rattachement_id(e.target.value);
|
setp_detail_client_rattachement_id(e.target.value);
|
||||||
setp_detail_client_rattachement_nom(e.target.value);
|
//setp_detail_client_rattachement_nom(e.target.value);
|
||||||
setparticipant_data_changed("1");
|
setparticipant_data_changed("1");
|
||||||
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant");
|
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant");
|
||||||
}
|
}
|
||||||
|
@ -6622,7 +6766,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Nom<br />
|
<div className="session_caract"> <b> Nom </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -6644,7 +6788,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Prenom<br />
|
<div className="session_caract"> <b> Prenom </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -6664,7 +6808,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Email<br />
|
<div className="session_caract"> <b> Email </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -6686,7 +6830,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="session_caract"> Téléphone <br />
|
<div className="session_caract"> <b> Téléphone </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -7059,7 +7203,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="tuteur_field"> Téléphone <br />
|
<div className="tuteur_field"> <b> Téléphone </b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -7160,7 +7304,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="tuteur_field"> Téléphone <br />
|
<div className="tuteur_field"> <b> Téléphone </b> <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
|
|
@ -467,6 +467,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
padding-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1040,6 +1041,7 @@
|
||||||
width: 30%;
|
width: 30%;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
padding-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1209,6 +1211,7 @@
|
||||||
width: 30%;
|
width: 30%;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
padding-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1676,6 +1679,7 @@
|
||||||
width: 30%;
|
width: 30%;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
padding-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.selectsession {
|
.selectsession {
|
||||||
|
|
Loading…
Reference in New Issue