03/01/2024 - 17h30

recette2
cherif 2024-01-03 17:19:41 +01:00
parent a6abe58b2f
commit 1e76baafcf
5 changed files with 327 additions and 66 deletions

View File

@ -11,7 +11,7 @@ import { Alert } from "@mui/material";
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
import profileimg from "../mysy_img/MYSY-profil-2.png";
import Abonnement from "./Abonnement";
import { PropaneSharp, ResetTvRounded } from "@mui/icons-material";
import { ContentPasteSearchOutlined, PropaneSharp, ResetTvRounded } from "@mui/icons-material";
import { useHistory } from "react-router-dom";
import CheckOut from "./CheckOut";
@ -34,13 +34,30 @@ const AddClassManual = (props) => {
const history = useHistory();
const url = process.env.REACT_APP_API_URL + "/myclass/api/add_partner_account/";
const [inputs, setInputs] = useState({});
const [mypresence, setmypresence] = useState("");
const [mypublished, setmypublished] = useState("");
const [mydistance, setmydistance] = useState("");
const [mypublished, setmypublished] = useState("0");
const [mypublished_label, setmypublished_label] = useState("");
const [mytrainingsupport, setmytrainingsupport] = useState("n/a");
const [mytrainingdurationunit, setmytrainingdurationunit] = useState("");
const [mytrainingsupport_label, setmytrainingsupport_label] = useState("");
const [mytrainingdurationunit, setmytrainingdurationunit] = useState("heure");
const [mycpf, setmycpf] = useState("");
const [mycpf_label, setmycpf_label] = useState("");
const [mycertif, setmycertif] = useState("");
const [mycertif_label, setmycertif_label] = useState("");
const [mypresence, setmypresence] = useState("");
const [mypresence_label, setmypresence_label] = useState("");
const [mydistance, setmydistance] = useState("");
const [mydistance_label, setmydistance_label] = useState("");
const [importmessage, setimportmessage] = useState("");
const [myApiResponse, setmyApiResponse] = useState("");
const setText = "coucou";
@ -165,6 +182,34 @@ const AddClassManual = (props) => {
];
const New_support_training_list = [
{
value: 'video',
label: 'Video',
},
{
value: 'document',
label: 'Document',
},
{
value: 'réalité virtuelle',
label: 'Réalité Virtuelle',
},
{
value: 'mixte',
label: 'Mixte',
},
{
value: 'autre',
label: 'Autre',
},
{
value: 'n/a',
label: 'n/a',
},
];
const duration_unit_list = [
{
value: 'heure',
@ -190,6 +235,32 @@ const AddClassManual = (props) => {
];
const New_duration_unit_list = [
{
value: 'heure',
label: 'Heures',
},
{
value: 'jour',
label: 'Jours',
},
{
value: 'semaine',
label: 'Semaines',
},
{
value: 'mois',
label: 'Mois',
},
{
value: 'user_rythme',
label: 'Rythme stagiaire',
}
];
const publiee = [
{
value: '1',
@ -501,27 +572,65 @@ const AddClassManual = (props) => {
}
if (mylocaltraining.presentiel.distantiel) {
setmydistance(mylocaltraining.presentiel.distantiel);
setmypresence(mylocaltraining.presentiel.presentiel);
var result2 = presentiel.filter((local_mymanager) => local_mymanager.value === String((mylocaltraining.presentiel.distantiel)))
if (result2[0])
setmydistance_label(result2[0].label);
} else {
setmydistance("0");
setmydistance_label("Non");
}
if (mylocaltraining.published)
if (mylocaltraining.presentiel.presentiel) {
setmypresence(mylocaltraining.presentiel.distantiel);
var result2 = presentiel.filter((local_mymanager) => local_mymanager.value === String((mylocaltraining.presentiel.presentiel)))
if (result2[0])
setmypresence_label(result2[0].label);
} else {
setmypresence("0");
setmypresence_label("Non");
}
//setmypresence(mylocaltraining.presentiel.presentiel);
if (mylocaltraining.published) {
setmypublished(mylocaltraining.published);
else
var result2 = publiee.filter((local_mymanager) => local_mymanager.value === String((mylocaltraining.published)))
if (result2[0])
setmypublished_label(result2[0].label);
}
else {
setmypublished("0");
setmypublished_label("Non");
}
if (mylocaltraining.cpf) {
setmycpf(mylocaltraining.cpf);
var result2 = cpf.filter((local_mymanager) => local_mymanager.value === String((mylocaltraining.cpf)))
if (result2[0])
setmycpf_label(result2[0].label);
}
else
else {
setmycpf("0");
setmycpf_label("Non");
}
if (mylocaltraining.support) {
setmytrainingsupport(mylocaltraining.support);
var result2 = New_support_training_list.filter((local_mymanager) => local_mymanager.value === String((mylocaltraining.support)))
if (result2[0])
setmytrainingsupport_label(result2[0].label);
}
else {
setmytrainingsupport("n/a");
setmytrainingsupport_label("Autre");
}
if (mylocaltraining.duration_unit) {
@ -529,16 +638,25 @@ const AddClassManual = (props) => {
//console.log(" ### duration_unit = ", mylocaltraining.duration_unit);
}
else {
setmytrainingdurationunit("");
setmytrainingdurationunit("heure");
}
if (mylocaltraining.certif) {
setmycertif(mylocaltraining.certif);
var result2 = certif.filter((local_mymanager) => local_mymanager.value === String((mylocaltraining.certif)));
console.log(" CERTIFFF = ",result2 )
if (result2[0]){
setmycertif_label(result2[0].label);
console.log(" result2[0].label = ",result2[0].label )
}
else
}
else {
setmycertif("0");
setmycertif_label("Non");
}
if (mylocaltraining.class_level) {
setp_class_level(mylocaltraining.class_level);
@ -724,10 +842,10 @@ const AddClassManual = (props) => {
}
var presentiel = document.getElementsByName("presentiel")[0].value;
var distentiel = document.getElementsByName("distentiel")[0].value;
var presentiel = mypresence;
var distentiel = mydistance;
var domaine = document.getElementsByName("domaine")[0].value;
var mypublier = document.getElementsByName("published")[0].value;
var mypublier = mypublished;
var niveau_ftion = p_class_level;
var price = document.getElementsByName("price")[0].value;
var duree = document.getElementsByName("duree")[0].value;
@ -736,10 +854,10 @@ const AddClassManual = (props) => {
var class_inscription_url = document.getElementsByName("class_inscription_url")[0].value;
var mymetier = mytrainingmetier;
var mynote = document.getElementsByName("note")[0].value;
var mycpf = document.getElementsByName("cpf")[0].value;
var mycertif = document.getElementsByName("certif")[0].value;
var mycpf = mycpf;
var mycertif = mycertif;
var trainingSupport = document.getElementsByName("training_support")[0].value;
var trainingSupport = mytrainingsupport;
var banniereImg = document.getElementsByName("class_banner_img_url")[0].value;
@ -1791,7 +1909,29 @@ const AddClassManual = (props) => {
<div className="training_caract">
<TextField
<Autocomplete
disablePortal
name="certif"
id="certif"
className="disabled_style"
options={cpf}
value={mycpf_label}
onChange={(event, value) => {
if (value && value.value) {
setmycpf(value.value);
setmycpf_label(value.label);
setdatamodification("1");
}
}}
renderInput={(params) => <TextField {...params} label="ligible CPF" />
}
/>
{/* <TextField
name="cpf"
select
label="Eligible CPF"
@ -1808,10 +1948,33 @@ const AddClassManual = (props) => {
{option.label} &nbsp; <br />
</MenuItem>
))}
</TextField>
</TextField> */}
</div>
<div className="training_caract">
<Autocomplete
disablePortal
name="certif"
id="certif"
className="disabled_style"
options={certif}
value={mycertif_label}
onChange={(event, value) => {
if (value && value.value) {
setmycertif(value.value);
setmycertif_label(value.label);
setdatamodification("1");
}
}}
renderInput={(params) => <TextField {...params} label="Certification" />
}
/>
{/*
<TextField
name="certif"
select
@ -1830,6 +1993,7 @@ const AddClassManual = (props) => {
</MenuItem>
))}
</TextField>
*/}
</div>
<div className="training_caract">
@ -1858,28 +2022,55 @@ const AddClassManual = (props) => {
<div className="training_caract">
<TextField
<Autocomplete
disablePortal
name="published"
select
label="Publié"
value={mypublished}
InputLabelProps={{
shrink: true,
}}
onChange={handleChangePublished}
disabled={false}
id="published"
className="disabled_style"
>
{publiee.map((option) => (
<MenuItem key={option.value} value={option.value}>
{option.label} &nbsp;<br />
</MenuItem>
))}
</TextField>
options={publiee}
value={mypublished_label}
onChange={(event, value) => {
if (value && value.value) {
console.log(" value = ", value);
setmypublished(value.value);
setmypublished_label(value.label);
setdatamodification("1");
}
}}
renderInput={(params) => <TextField {...params} label="Publié" />
}
/>
</div>
<div className="training_caract">
<TextField
<Autocomplete
disablePortal
name="presentiel"
id="presentiel"
className="disabled_style"
options={presentiel}
value={mydistance_label}
onChange={(event, value) => {
if (value && value.value) {
setmydistance(value.value);
setmydistance_label(value.label);
setdatamodification("1");
}
}}
renderInput={(params) => <TextField {...params} label="Présentiel" />
}
/>
{/*<TextField
name="presentiel"
select
label="Présentiel"
@ -1896,11 +2087,32 @@ const AddClassManual = (props) => {
{option.label} &nbsp; <br />
</MenuItem>
))}
</TextField>
</TextField>*/}
</div>
<div className="training_caract">
<TextField
<Autocomplete
disablePortal
name="distentiel"
id="distentiel"
className="disabled_style"
options={presentiel}
value={mypresence_label}
onChange={(event, value) => {
if (value && value.value) {
setmypresence(value.value);
setmypresence_label(value.label);
setdatamodification("1");
}
}}
renderInput={(params) => <TextField {...params} label="A distance" />
}
/>
{/*<TextField
name="distentiel"
select
label="A distance"
@ -1917,12 +2129,35 @@ const AddClassManual = (props) => {
{option.label} &nbsp; <br />
</MenuItem>
))}
</TextField>
</TextField>**/}
</div>
<div className="training_caract">
<TextField
<Autocomplete
disablePortal
name="training_support"
id="training_support"
className="disabled_style"
options={New_support_training_list}
value={mytrainingsupport_label}
onChange={(event, value) => {
if (value && value.value) {
setmytrainingsupport(value.value);
setdatamodification("1");
setmytrainingsupport_label(value.label)
}
}}
renderInput={(params) => <TextField {...params} label="Support de formation" />
}
/>
{/* <TextField
name="training_support"
id="training_support"
select
@ -1940,7 +2175,7 @@ const AddClassManual = (props) => {
{option.label} &nbsp;
</MenuItem>
))}
</TextField>
</TextField>*/}
</div>
@ -2063,7 +2298,29 @@ const AddClassManual = (props) => {
<Tooltip className="tooltip_css" id="my-tooltip11" />
<a data-tooltip-id="my-tooltip11" data-tooltip-html="Les durée autorisées sont : 'heure', 'jour', 'semaine', 'mois', 'annee', 'rythme participant'">
<div className="training_caract">
<TextField
<Autocomplete
disablePortal
name="duration_unit"
id="duration_unit"
className="disabled_style"
options={New_duration_unit_list}
value={mytrainingdurationunit}
onChange={(event, value) => {
if (value && value.value) {
setmytrainingdurationunit(value.value);
setdatamodification("1");
}
}}
renderInput={(params) => <TextField {...params} label="Unité de durée" />
}
/>
{/* <TextField
name="duration_unit"
id="duration_unit"
select
@ -2083,7 +2340,7 @@ const AddClassManual = (props) => {
</MenuItem>
))}
</TextField>
</TextField> */}
</div>
</a>

View File

@ -1813,8 +1813,6 @@ const DisplayPartnerSession = (props) => {
}
//myRef.current.scrollIntoView({ behavior: "smooth" });
var divh = document.getElementById('myRef_add_session').offsetTop;
window.scrollTo({
@ -5949,6 +5947,8 @@ const DisplayPartnerSession = (props) => {
const Dialog_2_handleClose_buton = () => {
setDialog_2_open(false);
setsession_selected_row_id('');
setgridline_id('');
};
@ -6978,6 +6978,7 @@ const DisplayPartnerSession = (props) => {
setdisplay_detail_sequence();
setselected_sequence_id();
setupdate_sequence();
setgridline_id('');
alert(res.data.message)
@ -9481,7 +9482,8 @@ const DisplayPartnerSession = (props) => {
<a href='/sample/template_import_session_formation.csv' download>Télécharger un fichier modèle</a>
</div>
</div>
<div className="div_row"> &nbsp; </div>
<div className="div_row" ref={myRef_add_session} id="myRef_add_session"> &nbsp; </div>
{selected_code_session && String(selected_code_session).length > 0 && <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" ref={myRef} onClick={submenu_sequence_session} className="detail_class_submenu" id='sequence_session' name='sequence_session'>Séquences </Button>
@ -10255,7 +10257,7 @@ const DisplayPartnerSession = (props) => {
<div className="div_row" style={{ "border": "None" }}>
{!fields1desabled && <div className="session_caract">Choisir un modèle d'attestation :
{/* {!fields1desabled && <div className="session_caract">Choisir un modèle d'attestation :
<select id="certif_liste" name="certif_liste" value={selectedCertif} onChange={handleChangeselectedCertif} className="selectsession">
<option value="">Choisir un modèle </option>
@ -10276,6 +10278,7 @@ const DisplayPartnerSession = (props) => {
</div>}
*/}
<div className="session_caract"> Contenu de la formation (max 800 caractères)<br />
<i> (à afficher sur l'attestation) </i>
{!fields1desabled && <br />}
@ -10925,7 +10928,7 @@ const DisplayPartnerSession = (props) => {
<div className="div_row" style={{ "border": "None" }}>
<div className="session_caract">Choisir un modèle d'attestation :
{/* <div className="session_caract">Choisir un modèle d'attestation :
<TextField sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -10951,7 +10954,7 @@ const DisplayPartnerSession = (props) => {
<img className="preview_certif" src={urlpreview_certif} />
</div>
</div>*/}
<div className="session_caract"> Contenu de la formation (max 800 caractères)<br />
@ -11894,7 +11897,7 @@ const DisplayPartnerSession = (props) => {
</div>}
<div className="div_row" ref={myRef_add_session} id="myRef_add_session"> &nbsp; </div>
{String(submenu) === String("inscrit") && <div style={{ "border": "None" }}>
<div className="div_row" style={{ "border": "None" }}>

View File

@ -116,7 +116,7 @@ const Footer = () => {
<br />
<hr />
<i className='copyright'>
Copyright © 2023 MySy. Tous droits réservés. &nbsp;
Copyright © 2024 MySy. Tous droits réservés. &nbsp;
<a href='/sample/MYSY_POLITIQUE_CONFIDENTIALITE.pdf' download target = "_blank">| Confidentialité | Cookies | données personnelles &nbsp; </a>
<a href='/sample/MYSY_CGU.pdf' download target = "_blank">| Conditions dutilisation &nbsp; </a>
<a href='/sample/MYSY_MENTIONS_LEGALES.pdf' download target = "_blank">| Mentions légales </a>

View File

@ -6682,7 +6682,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
<div className="div_row" style={{ "border": "None" }}>
<div className="session_caract">Choisir un modèle d'attestation :
{/*<div className="session_caract">Choisir un modèle d'attestation :
<select id="one_certif_liste" name="one_certif_liste" value={one_selectedCertif} onChange={handleChangeone_selectedCertif} className="selectsession enable_style">
<option value="">Choisir un modèle </option>
@ -6696,7 +6696,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
</select>
<img className="preview_certif" src={urlpreview_certif} />
</div>
</div>*/}
<div className="session_caract"> Contenu de la formation (max 800 caractères)<br />
@ -7454,7 +7454,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
<div className="div_row" style={{ "border": "None" }}>
{!fields1desabled && <div className="session_caract">Choisir un modèle d'attestation :
{/*{!fields1desabled && <div className="session_caract">Choisir un modèle d'attestation :
<select id="certif_liste" name="certif_liste" value={selectedCertif} onChange={handleChangeselectedCertif} className="selectsession">
<option value="">Choisir un modèle </option>
@ -7474,6 +7474,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
<img className="preview_certif" src={urlpreview_certif} />
</div>}
*/}
<div className="session_caract"> Contenu de la formation (max 800 caractères)<br />
<i> (à afficher sur l'attestation) </i>

View File

@ -550,10 +550,10 @@ function HebergementLms(props) {
</select>
</div>
{/*
<div className="session_caract">Le modèle d'attestation :
<img className="preview_certif" src={urlpreview_lms_theme} />
</div>
</div>*/}
<div className="div_row">
<div className="div_row" style={{ "border": "None" }}>