14/02/23 - 21h

recette2
cherif 2023-02-14 21:34:09 +01:00
parent ed341aca80
commit 86e1566a06
5 changed files with 97 additions and 25 deletions

View File

@ -459,7 +459,7 @@ const AddClassManual = (props) => {
const [title_limite, settitle_limite] = useState(70);
const [title_limite, settitle_limite] = useState(90);
const editorRef_description = useRef(null);
const [editorRef_description_limite, seteditorRef_description_limite] = useState(1000);
@ -1028,7 +1028,7 @@ const AddClassManual = (props) => {
<TextField
required
name="title"
label="Titre (max 60 caractères) "
label="Titre (max 90 caractères) "
InputLabelProps={{
shrink: true,
}}

View File

@ -1229,7 +1229,7 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>
<div className="mob_caracteristic_list_title_desc_desc">
{DetailTraining["duration"]} &nbsp; {DetailTraining["duration_unit"]}(s)
{DetailTraining["duration"]} &nbsp; {DetailTraining["duration_unit"]} (s)
</div>
@ -1316,11 +1316,11 @@ const DisplayDetailClass_new_v2 = (props) => {
{partnair_name && <nav
style={{ "cursor": "pointer" }}
onClick={(e) => {
/*e.preventDefault();
e.preventDefault();
window.open(
website_partenaire,
'_blank'
);*/
);
}}
> {partnair_name} </nav>}
@ -1508,7 +1508,7 @@ const DisplayDetailClass_new_v2 = (props) => {
{String(iscertifvoltaire) === "1" && <div className="sticky_img_hilight1">
<img src="https://img.mysy-training.com/certificat_img/IMG_CertifVoltaire.png" alt="Certitrace" className="img_hili" />
<img src="https://img.mysy-training.com/certificat_img/IMG_CertifVoltaire.gif" alt="Certitrace" className="img_hili" />
</div>}
@ -2036,7 +2036,7 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>
<div className="block_sticky_info_caracteristique_list_title_desc_desc">
{DetailTraining["duration"]} &nbsp; {DetailTraining["duration_unit"]}(s)
{DetailTraining["duration"]} &nbsp; {DetailTraining["duration_unit"]} (s)
</div>
@ -2206,7 +2206,7 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>}
{String(iscertifvoltaire) === "1" && <div className="sticky_img_hilight1">
<img src="https://img.mysy-training.com/certificat_img/IMG_CertifVoltaire.png" alt="Certitrace" className="img_hili" />
<img src="https://img.mysy-training.com/certificat_img/IMG_CertifVoltaire.gif" alt="Certitrace" className="img_hili" />
</div>}
@ -2234,7 +2234,7 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="sticky_organisme_title_desc">
<div className="sticky_organisme_title_desc_title">
Organisme de formation :
Organisme de formation :
</div>
<div className="sticky_organisme_title_desc_desc">
@ -2242,11 +2242,11 @@ const DisplayDetailClass_new_v2 = (props) => {
{partnair_name && <nav
style={{ "cursor": "pointer" }}
onClick={(e) => {
/*e.preventDefault();
e.preventDefault();
window.open(
website_partenaire,
'_blank'
);*/
);
}}
> {partnair_name} </nav>}

View File

@ -321,8 +321,8 @@ const Formation = (props) => {
<div className="div_row row_formation_title">
<p className="p_class training_title">
<b>
{String(parse(String(props.formation.title).replace(/(<([^>]+)>)/ig, ''))).substring(0, 60)}
<b>
{String(parse(String(props.formation.title).replace(/(<([^>]+)>)/ig, ''))).substring(0, 100)}
</b>
</p>
@ -367,7 +367,7 @@ const Formation = (props) => {
{props.formation.duration_unit &&
<div style={{ "width": "100%" }}>
<div className="criteres ftion_tab_gauche">Durée
<div className="criteres ftion_tab_gauche">Durée
</div>
{String(props.formation.duration_unit) === "heure" &&
@ -386,6 +386,11 @@ const Formation = (props) => {
{props.formation.duration} jr(s) &nbsp;
</div>}
{String(props.formation.duration_unit) === "mois" &&
<div className="criteres ftion_tab_droite">
{props.formation.duration} mois(s)
</div>}
</div>
}

View File

@ -1691,7 +1691,7 @@ function GestionAdministrative(props) {
var nom_fiche_detaillee = "Attestation.pdf";
var url = process.env.REACT_APP_API_URL + "myclass/api/PrintAttendeeCertification/" + stored_cookie + "/" + mysession + "/" + selectedattendeeemail;
var url = process.env.REACT_APP_API_URL + "myclass/api/PrintAttendeeCertification/" + stored_cookie + "/" + mysession + "/" + selectedattendeeemail + "/" + internal_url;
@ -2898,7 +2898,22 @@ function GestionAdministrative(props) {
/>
<br />
{selectionModel && selectionModel.length >= 1 && <div style={{ "width": "50%", "float": "left" }}>
<nav className='traitement_mass'>Traitement en masse</nav>
&nbsp;<select
id={"actionmass_preinsc"} name={"actionmass_preinsc"}
onChange={"actionmass_preinsc"}
className="action_mass">
<option selected value="n/a">Action</option>
<option value="valider">Valider</option>
<option value="refuser">Refuser</option>
</select>
<br/>
</div>
}
<br />
{/* <Button variant="contained" onClick={GetAllClass_new}>Contained</Button>*/}
@ -2912,13 +2927,11 @@ function GestionAdministrative(props) {
<DataGrid
checkboxSelection
onSelectionModelChange={(newSelectionModel_insc) => {
setSelectionModel(newSelectionModel_insc);
setSelectionModel_insc(newSelectionModel_insc);
//console.log("ch selected--" + newSelectionModel);
}}
selectionModel={selectionModel_insc}
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
rows={rowss_insc.map((item, index) => (
{
@ -2947,7 +2960,21 @@ function GestionAdministrative(props) {
/>
<br />
{selectionModel_insc && selectionModel_insc.length >= 1 && <div style={{ "width": "50%", "float": "left" }}>
<nav className='traitement_mass'>Traitement en masse</nav>
&nbsp;<select
id={"actionmass"} name={"actionmass"}
onChange={"ActionMass"}
className="action_mass">
<option selected value="n/a">Action</option>
<option value="publier">Publier</option>
<option value="depublier">Depublier</option>
<option value="supprimer">Supprimer</option>
</select>
</div>
}
<br />
{/* <Button variant="contained" onClick={GetAllClass_new}>Contained</Button>*/}
@ -3047,7 +3074,7 @@ function GestionAdministrative(props) {
<DataGrid
checkboxSelection
onSelectionModelChange={(newSelectionModel_evaluation) => {
setSelectionModel_emarg(newSelectionModel_evaluation);
setSelectionModel_evaluation(newSelectionModel_evaluation);
//console.log("ch selected--" + newSelectionModel_emarg);
}}
@ -3415,8 +3442,8 @@ function GestionAdministrative(props) {
</div>
<div className="div_row" style={{ "border": "None" }}>
<div className="session_caract">
Date attestation
{detailuser_date_certification && <div className="session_caract">
Attestation delivrée le
<DatePicker
name="certif_date"
id="certif_date"
@ -3428,7 +3455,23 @@ function GestionAdministrative(props) {
/>
</div>
</div>}
{!detailuser_date_certification && <div className="session_caract">
Attestation NON délivrée encore
<nav style={{ "visibility": "hidden" }}> <DatePicker
name="certif_date"
id="certif_date"
selected={detailuser_date_certification}
dateFormat="dd/MM/yyyy HH:mm"
className="disabled_style"
locale='fr-FR'
style={{ "visibility": "hidden" }}
/>
</nav>
</div>}
</div>
<div className="div_row" style={{ "border": "None" }}>
@ -3466,13 +3509,13 @@ function GestionAdministrative(props) {
</div>}
<Button variant="contained" className="bton_envoyer" onClick={SendAttendeeAttestation}>Delivrer une attestation
</Button>
{!detailuser_date_certification && <Button variant="contained" className="bton_envoyer" onClick={SendAttendeeAttestation}>Delivrer l'attestation de formation
</Button>}
</div>
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
<Button variant="contained" className="bton_fermer" onClick={DownloadAttendeeAttestation}>Imprimer une attestation
<Button variant="contained" className="bton_fermer" onClick={DownloadAttendeeAttestation}>Imprimer l'attestation de formation
</Button>

View File

@ -869,8 +869,32 @@
margin-left: 10rem;
}
.action_mass {
font-family: "Roboto", "Helvetica", "Arial", sans-serif;
font-weight: 500;
text-align: left;
font-size: small;
line-height: 1.75;
letter-spacing: 0.02857em;
text-transform: uppercase;
min-width: 64px;
transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
color: #fff;
background-color: #81bc3a;
margin-bottom: 1rem;
width: 10rem;
box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2),
0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
}
// end media
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input:invalid {
padding-top: 5px !important;
padding-bottom: 5px !important;