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" }} >
-
-
+
@@ -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;
}
}