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

View File

@ -1316,11 +1316,11 @@ const DisplayDetailClass_new_v2 = (props) => {
{partnair_name && <nav {partnair_name && <nav
style={{ "cursor": "pointer" }} style={{ "cursor": "pointer" }}
onClick={(e) => { onClick={(e) => {
/*e.preventDefault(); e.preventDefault();
window.open( window.open(
website_partenaire, website_partenaire,
'_blank' '_blank'
);*/ );
}} }}
> {partnair_name} </nav>} > {partnair_name} </nav>}
@ -1508,7 +1508,7 @@ const DisplayDetailClass_new_v2 = (props) => {
{String(iscertifvoltaire) === "1" && <div className="sticky_img_hilight1"> {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>} </div>}
@ -2206,7 +2206,7 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>} </div>}
{String(iscertifvoltaire) === "1" && <div className="sticky_img_hilight1"> {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>} </div>}
@ -2242,11 +2242,11 @@ const DisplayDetailClass_new_v2 = (props) => {
{partnair_name && <nav {partnair_name && <nav
style={{ "cursor": "pointer" }} style={{ "cursor": "pointer" }}
onClick={(e) => { onClick={(e) => {
/*e.preventDefault(); e.preventDefault();
window.open( window.open(
website_partenaire, website_partenaire,
'_blank' '_blank'
);*/ );
}} }}
> {partnair_name} </nav>} > {partnair_name} </nav>}

View File

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

View File

@ -1691,7 +1691,7 @@ function GestionAdministrative(props) {
var nom_fiche_detaillee = "Attestation.pdf"; 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 /> <br />
{/* <Button variant="contained" onClick={GetAllClass_new}>Contained</Button>*/} {/* <Button variant="contained" onClick={GetAllClass_new}>Contained</Button>*/}
@ -2912,13 +2927,11 @@ function GestionAdministrative(props) {
<DataGrid <DataGrid
checkboxSelection checkboxSelection
onSelectionModelChange={(newSelectionModel_insc) => { onSelectionModelChange={(newSelectionModel_insc) => {
setSelectionModel(newSelectionModel_insc); setSelectionModel_insc(newSelectionModel_insc);
//console.log("ch selected--" + newSelectionModel); //console.log("ch selected--" + newSelectionModel);
}} }}
selectionModel={selectionModel_insc} selectionModel={selectionModel_insc}
localeText={frFR.components.MuiDataGrid.defaultProps.localeText} localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
rows={rowss_insc.map((item, index) => ( 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 /> <br />
{/* <Button variant="contained" onClick={GetAllClass_new}>Contained</Button>*/} {/* <Button variant="contained" onClick={GetAllClass_new}>Contained</Button>*/}
@ -3047,7 +3074,7 @@ function GestionAdministrative(props) {
<DataGrid <DataGrid
checkboxSelection checkboxSelection
onSelectionModelChange={(newSelectionModel_evaluation) => { onSelectionModelChange={(newSelectionModel_evaluation) => {
setSelectionModel_emarg(newSelectionModel_evaluation); setSelectionModel_evaluation(newSelectionModel_evaluation);
//console.log("ch selected--" + newSelectionModel_emarg); //console.log("ch selected--" + newSelectionModel_emarg);
}} }}
@ -3415,8 +3442,8 @@ function GestionAdministrative(props) {
</div> </div>
<div className="div_row" style={{ "border": "None" }}> <div className="div_row" style={{ "border": "None" }}>
<div className="session_caract"> {detailuser_date_certification && <div className="session_caract">
Date attestation Attestation delivrée le
<DatePicker <DatePicker
name="certif_date" name="certif_date"
id="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>
<div className="div_row" style={{ "border": "None" }}> <div className="div_row" style={{ "border": "None" }}>
@ -3466,13 +3509,13 @@ function GestionAdministrative(props) {
</div>} </div>}
<Button variant="contained" className="bton_envoyer" onClick={SendAttendeeAttestation}>Delivrer une attestation {!detailuser_date_certification && <Button variant="contained" className="bton_envoyer" onClick={SendAttendeeAttestation}>Delivrer l'attestation de formation
</Button> </Button>}
</div> </div>
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}> <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> </Button>

View File

@ -869,8 +869,32 @@
margin-left: 10rem; 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 { .css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input:invalid {
padding-top: 5px !important; padding-top: 5px !important;
padding-bottom: 5px !important; padding-bottom: 5px !important;