From b432fe1b91cc38002edde59c2ac802e7297aff03 Mon Sep 17 00:00:00 2001 From: cherif Date: Tue, 4 Apr 2023 21:14:05 +0200 Subject: [PATCH] 04/04/23 - 21h --- src/components/AddClassManual.js | 70 ++++++--- src/components/GestionAdministrative.js | 56 ++++++- src/components/Partner.js | 4 +- src/components/Recherche_new_v2.js | 60 ++++---- src/styles/components/_addclassmanual.scss | 2 +- src/styles/components/_partner.scss | 4 + src/styles/components/_reherche_new_v2.scss | 162 ++++++++++++++++++-- 7 files changed, 290 insertions(+), 68 deletions(-) diff --git a/src/components/AddClassManual.js b/src/components/AddClassManual.js index cb2f381..15f37aa 100644 --- a/src/components/AddClassManual.js +++ b/src/components/AddClassManual.js @@ -481,13 +481,24 @@ const AddClassManual = (props) => { function RecordTraining(event) { var code = document.getElementsByName("external_code")[0].value; + + if (code.length < 1) { + alert(" Le Champ 'code' est obligatoire") + return; + } + var title = document.getElementsByName("title")[0].value; if (String(title).length > title_limite) { - alert(" Champ 'Titre', limite depassée !") - return; - } - - + alert(" Champ 'Titre', limite depassée !") + return; + } + + if (title.length < 1) { + alert(" Le Champ 'Titre' est obligatoire") + return; + } + + var trainer = document.getElementsByName("trainer")[0].value; var presentiel = document.getElementsByName("presentiel")[0].value; var distentiel = document.getElementsByName("distentiel")[0].value; @@ -514,18 +525,22 @@ const AddClassManual = (props) => { var objectif = ""; if (editorRef_objectif.current) { objectif = editorRef_objectif.current.getContent(); - if( parse(objectif.replace(/(<([^>]+)>)/ig, '')).length > editorRef_objectif_limite){ + if (parse(objectif.replace(/(<([^>]+)>)/ig, '')).length > editorRef_objectif_limite) { alert(" Champ 'Objectif', limite depassée !") return; } + } + if (objectif.length < 1) { + alert(" Le Champ 'Objectif' est obligatoire") + return; } var programme = ""; if (editorRef_programme.current) { programme = editorRef_programme.current.getContent(); - - if( parse(programme.replace(/(<([^>]+)>)/ig, '')).length > editorRef_programme_limite){ + + if (parse(programme.replace(/(<([^>]+)>)/ig, '')).length > editorRef_programme_limite) { alert(" Champ 'Programme', limite depassée !") return; } @@ -540,13 +555,16 @@ const AddClassManual = (props) => { if (editorRef_description.current) { description = editorRef_description.current.getContent(); - if( parse(description.replace(/(<([^>]+)>)/ig, '')).length > editorRef_description_limite){ + if (parse(description.replace(/(<([^>]+)>)/ig, '')).length > editorRef_description_limite) { alert(" Champ 'Description', limite depassée !") return; } } - + if (description.length < 1) { + alert(" Le Champ 'Description' est obligatoire") + return; + } var mots_cle = ""; if (editorRef_mots_cle.current) { @@ -565,21 +583,21 @@ const AddClassManual = (props) => { // Verification si il y a plus de 3 mot clés separés par des ";" - mots_cle = mots_cle.replace( /(<([^>]+)>)/ig, ''); + mots_cle = mots_cle.replace(/(<([^>]+)>)/ig, ''); mots_cle = mots_cle.replace(" ", ''); var local_mot_cle = ""; - if( mots_cle.endsWith(";")){ - local_mot_cle = mots_cle.substring(0, mots_cle.length-1); - }else{ + if (mots_cle.endsWith(";")) { + local_mot_cle = mots_cle.substring(0, mots_cle.length - 1); + } else { local_mot_cle = mots_cle; } - + console.log(" ## local_mot_cle = ", local_mot_cle); - var words = local_mot_cle.split(';'); + var words = local_mot_cle.split(';'); console.log(" ## words = ", words); - + if (words.length > 3) { alert(" Il a plus de 3 mots clés. le max autorisé est 3"); return; @@ -669,6 +687,18 @@ const AddClassManual = (props) => { sendClassImage(); //alert(result['status'] + " -- " + myApiResponse + ' mess = ' + result['message']); + + if(String(result['status']) === "true" ){ + alert(" La formation a été correctement ajoutée. Vous allez être redirigé vers la liste des formations."); + history.push({ + pathname: "/Partner/", + state: { + current_pack: props.currentpack, local_sub_menu: 'affichage', price: "", + period: "", new_pack: "" + } + }); + window.location.reload(); + } }) .catch((error) => { console.error('Error:', error); @@ -1160,7 +1190,7 @@ const AddClassManual = (props) => {
- {
-
Description (max 1000 caractères)
+
Description * (max 1000 caractères)
editorRef_description.current = editor} initialValue={field_description} @@ -1399,7 +1429,7 @@ const AddClassManual = (props) => {
-
Objectif (max 1000 caractères)
+
Objectif* (max 1000 caractères)
editorRef_objectif.current = editor} initialValue={field_objectif} diff --git a/src/components/GestionAdministrative.js b/src/components/GestionAdministrative.js index 2c0b92a..6fa3061 100644 --- a/src/components/GestionAdministrative.js +++ b/src/components/GestionAdministrative.js @@ -901,6 +901,7 @@ function GestionAdministrative(props) { var email = cellValues.row.email; //alert(" confirmation email = " + email); SendInscriptionConfirmation(email); + } const [SendInscriptionCancell_api, setSendInscriptionCancell_api] = useState(); @@ -2214,6 +2215,59 @@ function GestionAdministrative(props) { }; + const [Resend_LMS_Credentials_With_Email_api, setResend_LMS_Credentials_With_Email_api] = useState(); + const [Resend_LMS_Credentials_With_Email_result, setResend_LMS_Credentials_With_Email_result] = useState(); + const [Resend_LMS_Credentials_With_Email_message, setResend_LMS_Credentials_With_Email_message] = useState(); + function Resend_LMS_Credentials_With_Email(myemail) { + + clean_old_messages(); + const formData = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + + formData.append("token", stored_cookie); + formData.append("session_id", mysession); + + var local_mail = myemail; + + var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; + + if (!local_mail.match(validRegex)) { + alert("L'adresse email est invalide. Impossible de renvoyer les identifiants"); + return; + } + formData.append("email", local_mail); + formData.append("class_internal_url", internal_url); + //console.log("token = " + stored_cookie); + + fetch( + process.env.REACT_APP_API_URL + "myclass/api/LMS_Credential_Sending_mail/", + { + method: 'POST', + body: formData, + } + ) + .then((response) => response.json()) + .then((result) => { + if (String(result['status']) === String("true")) { + //console.log('Success:', result['message']); + setResend_LMS_Credentials_With_Email_result(result['message']); + setResend_LMS_Credentials_With_Email_api("true"); + } + else { + setResend_LMS_Credentials_With_Email_message(result['message']); + setResend_LMS_Credentials_With_Email_api("false"); + } + + }) + .catch((error) => { + console.error('Error:', error); + setResend_LMS_Credentials_With_Email_api("false"); + }); + + }; + + // Cette fonction nettoye les messages avant nouvelle action function clean_old_messages() { setResend_LMS_Credentials_api(); @@ -4272,7 +4326,7 @@ function GestionAdministrative(props) {
-
diff --git a/src/components/Partner.js b/src/components/Partner.js index a514c11..6e6b92c 100644 --- a/src/components/Partner.js +++ b/src/components/Partner.js @@ -28,7 +28,7 @@ import OrderConfirmation from "./OrderConfirmation"; import Pricing from "./Pricing"; import {FcHome, FcButtingIn, FcDepartment, FcBullish, FcAddDatabase, FcFolder, FcList, FcGraduationCap, FcMultipleDevices, FcCurrencyExchange, - FcMoneyTransfer, FcFeedback, FcKey } from "react-icons/fc"; + FcMoneyTransfer, FcFeedback, FcKey, FcVideoCall } from "react-icons/fc"; //import { FcHome} from "react-icons/fc"; @@ -640,7 +640,7 @@ const Partner = (props) => { ); - }}> MON HEBERGEMENT
} + }}> MON HEBERGEMENT
}
diff --git a/src/components/Recherche_new_v2.js b/src/components/Recherche_new_v2.js index fbcc2ae..ac1cf1d 100644 --- a/src/components/Recherche_new_v2.js +++ b/src/components/Recherche_new_v2.js @@ -948,7 +948,7 @@ const Recherche_new_v2 = () => { const [suggestedcities, setsuggestedcities] = useState([]); - + useEffect(() => { @@ -987,14 +987,14 @@ const Recherche_new_v2 = () => { if (categorie && String(categorie).length > 0) { - + getClassByMetier_categorie(categorie); - + } else { - + DisplayXfirstClas(result.data); - + } } fetchData(); @@ -1375,15 +1375,15 @@ const Recherche_new_v2 = () => { - if( String(my_local_user_connect) === "1"){ + if (String(my_local_user_connect) === "1") { form.append("token", stored_user); form.append("connection_type", "user"); } - else if ( String(my_local_part_connect) === "1"){ + else if (String(my_local_part_connect) === "1") { form.append("token", stored_part); form.append("connection_type", "partner"); } - else{ + else { form.append("token", ""); form.append("connection_type", ""); } @@ -1413,7 +1413,7 @@ const Recherche_new_v2 = () => { } else { myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_text_simple/"; - + } //alert("myurl = "+myurl); @@ -1480,20 +1480,20 @@ const Recherche_new_v2 = () => { if (typeof (NewSearchText) === "undefined" || String(NewSearchText) === '') { crit_SearchText = ""; myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_class/"; - - + + } else { crit_SearchText = NewSearchText; myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_text_simple/"; - + } - + var form = new FormData(); form.append("search_text", crit_SearchText); - + var my_local_user_connect; var my_local_part_connect; @@ -1508,20 +1508,20 @@ const Recherche_new_v2 = () => { } else { my_local_part_connect = 1; } - - if( String(my_local_user_connect) === "1"){ + + if (String(my_local_user_connect) === "1") { form.append("token", stored_user); form.append("connection_type", "user"); } - else if ( String(my_local_part_connect) === "1"){ + else if (String(my_local_part_connect) === "1") { form.append("token", stored_part); form.append("connection_type", "partner"); } - else{ + else { form.append("token", ""); form.append("connection_type", ""); } - + form.append("certif", ""); form.append("support", ""); form.append("type", ""); @@ -1563,7 +1563,7 @@ const Recherche_new_v2 = () => { if (String(res.data.status) != String("false")) { //console.log(" In test res.data.status = " + res.data.status); //console.log(" In DisplayXfirstClas res.data.message = " + res.data.message); - + setmyApiResponse("True"); setResult(res.data.message) // textInput.current.focus(); @@ -2544,7 +2544,7 @@ const Recherche_new_v2 = () => { onClose={ProduitMenu_Close} open={Boolean(ProduitMenu)} style={{ "top": "2rem" }} > - + @@ -2728,11 +2728,13 @@ const Recherche_new_v2 = () => {
- + + > publier mes formations + + @@ -2941,7 +2943,7 @@ const Recherche_new_v2 = () => {
- + @@ -3292,7 +3294,7 @@ const Recherche_new_v2 = () => {
- Santé naturelle + Santé naturelle
@@ -3301,7 +3303,7 @@ const Recherche_new_v2 = () => {
- + {!displayAllmetiers &&
@@ -3355,7 +3357,7 @@ const Recherche_new_v2 = () => {
- Sport + Sport
diff --git a/src/styles/components/_addclassmanual.scss b/src/styles/components/_addclassmanual.scss index d2298b0..90fa1a2 100644 --- a/src/styles/components/_addclassmanual.scss +++ b/src/styles/components/_addclassmanual.scss @@ -1578,5 +1578,5 @@ } .css-6hp17o-MuiList-root-MuiMenu-list{ - width: 10%; + width: 50%; } \ No newline at end of file diff --git a/src/styles/components/_partner.scss b/src/styles/components/_partner.scss index 9829659..015b966 100644 --- a/src/styles/components/_partner.scss +++ b/src/styles/components/_partner.scss @@ -1913,6 +1913,10 @@ text-align: left; cursor: pointer; } + .sousmenu_hebergement_lms:hover { + color: white; + font-weight: 600; + } .icone_menu { width: 2rem; diff --git a/src/styles/components/_reherche_new_v2.scss b/src/styles/components/_reherche_new_v2.scss index b49cbe4..c06d014 100644 --- a/src/styles/components/_reherche_new_v2.scss +++ b/src/styles/components/_reherche_new_v2.scss @@ -3144,7 +3144,7 @@ justify-content: flex-end; align-items: center; padding: 0px; - gap: 10px; + gap: 3px; position: absolute; //width: 843px; @@ -3365,6 +3365,8 @@ flex: none; order: 0; flex-grow: 0; + font-weight: normal; + font-size: 12px; } @@ -3394,7 +3396,8 @@ flex: none; order: 0; flex-grow: 0; - + font-weight: normal; + font-size: 12px; } .rectangle_8 { @@ -5142,22 +5145,23 @@ .forma_et_tuto_mobile { display: none; } - .cta_publication{ + + .cta_publication { /* Auto layout */ display: flex; flex-direction: row; justify-content: center; align-items: center; - padding: 5px 5px; - gap: 10px; + padding: 2px 2px; + gap: 5px; - width: 134px; + width: 120px; height: 56px; /* Deep Blue */ - background: red; + background: red; border-radius: 8px; /* Inside auto layout */ @@ -5167,6 +5171,37 @@ flex-grow: 0; text-transform: uppercase; color: white; + font-weight: normal; + font-size: 12px; + } + + .cta_hebergement { + /* Auto layout */ + + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + padding: 2px 2px; + gap: 5px; + + width: 120px; + height: 56px; + + /* Deep Blue */ + + background: rebeccapurple; + border-radius: 8px; + + /* Inside auto layout */ + + flex: none; + order: 1; + flex-grow: 0; + text-transform: uppercase; + color: white; + font-weight: normal; + font-size: 12px; } } @@ -8028,22 +8063,22 @@ display: none; } - .cta_publication{ + .cta_publication { /* Auto layout */ display: flex; flex-direction: row; justify-content: center; align-items: center; - padding: 5px 5px; + padding: 2px 2px; gap: 10px; - width: 154px; + width: 130px; height: 56px; /* Deep Blue */ - background: red; + background: red; border-radius: 8px; /* Inside auto layout */ @@ -8053,7 +8088,41 @@ flex-grow: 0; text-transform: uppercase; color: white; + font-size: 12px; + font-weight: 600; } + + + .cta_hebergement { + /* Auto layout */ + + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + padding: 5px 5px; + gap: 10px; + + width: 130px; + height: 56px; + + /* Deep Blue */ + + background: rebeccapurple; + border-radius: 8px; + + /* Inside auto layout */ + + flex: none; + order: 1; + flex-grow: 0; + text-transform: uppercase; + color: white; + font-size: 12px; + font-weight: 600; + } + + } @media only screen and (min-width: 1201px) and (max-width: 1919px) { @@ -10921,7 +10990,8 @@ .forma_et_tuto_mobile { display: none; } - .cta_publication{ + + .cta_publication { /* Auto layout */ display: flex; @@ -10936,7 +11006,7 @@ /* Deep Blue */ - background: red; + background: red; border-radius: 8px; /* Inside auto layout */ @@ -10946,8 +11016,38 @@ flex-grow: 0; text-transform: uppercase; color: white; + font-weight: normal; + font-size: 14px; } + .cta_hebergement { + /* Auto layout */ + + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + padding: 5px 5px; + gap: 10px; + + width: 154px; + height: 56px; + + /* Deep Blue */ + + background: rebeccapurple; + border-radius: 8px; + + /* Inside auto layout */ + + flex: none; + order: 1; + flex-grow: 0; + text-transform: uppercase; + color: white; + font-weight: normal; + font-size: 14px; + } } @media only screen and (min-width: 1920px) { @@ -13823,7 +13923,8 @@ .forma_et_tuto_mobile { display: none; } - .cta_publication{ + + .cta_publication { /* Auto layout */ display: flex; @@ -13838,7 +13939,7 @@ /* Deep Blue */ - background: red; + background: red; border-radius: 8px; /* Inside auto layout */ @@ -13848,6 +13949,37 @@ flex-grow: 0; text-transform: uppercase; color: white; + font-weight: normal; + font-size: 14px; + } + + .cta_hebergement { + /* Auto layout */ + + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + padding: 5px 5px; + gap: 10px; + + width: 154px; + height: 56px; + + /* Deep Blue */ + + background: rebeccapurple; + border-radius: 8px; + + /* Inside auto layout */ + + flex: none; + order: 1; + flex-grow: 0; + text-transform: uppercase; + color: white; + font-weight: normal; + font-size: 14px; } }