28/02/23 - 17h45

recette2
cherif 2023-02-28 17:45:48 +01:00
parent ffe6a057cc
commit f113fc12bf
11 changed files with 439 additions and 119 deletions

View File

@ -7,14 +7,14 @@
<url>
<loc>https://www.mysy-training.com/</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/qualite-la-norme-itl-dans-entreprise-532</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -22,28 +22,28 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/6281eae593f66d1a10ac2248</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/626fca8d62477b7b15a04b27</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/626fcada62477b7b15a04d97</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Recherche-Article-formation</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -51,7 +51,7 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/avis-aux-perfectionnistes-des-styles-css-aa1</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -59,28 +59,28 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/analysez-vos-donnees-textuelles-98b</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation-Coeur/analysez-vos-donnees-textuelles-98b</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/comment-reussir-ses-premiers-pas-en-tant-que-manager-866</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/create_account</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -88,28 +88,28 @@
<url>
<loc>https://www.mysy-training.com/Connexion</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/ContactezNous</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/QuiSommesNous</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/supply-chain-lessons-from-the-pandemic-11d</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -117,35 +117,35 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/planification-de-projets--methode-pert-et-gantt-19f</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/techniques--methodes-pour-bien-negocier--bd6</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/reussir-vos-photos-de-vacances-comment---343</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Produits-Services</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/les-metiers-d-avenir-959</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -154,14 +154,14 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/actualite-sociale-10f</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/pratique-de-la-paie--initiation-b10</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -169,7 +169,7 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/comptabilite-generale--initiation-56e</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -178,14 +178,14 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/contrat-de-travail-de-a-a-z-809</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/droit-du-travail-928</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -193,21 +193,21 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/droit-social-pour-managers-45b</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/la-duree-du-travail-et-gestion-des-absences-471</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/la-gestion-des-cdd-59b</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -215,7 +215,7 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/entretien-professionnel-802</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -223,14 +223,14 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/missions-rh-6e2</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/reglementation-rh--l-essentiel-eaf</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -238,21 +238,21 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/reussir-ses-entretiens-de-recrutement-c40</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/cloturer-votre-annee-sociale-en-toute-securite-8</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/controle-urssaf-4b2</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -260,7 +260,7 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/dads--declaration-annuelle-de-donnees-sociales-1</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -268,14 +268,14 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/la-mise-en-oeuvre-de-la-dsn-3a0</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/les-outils-de-la-remuneration-9f5</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -283,7 +283,7 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/pilotage-de-la-masse-salariale-301</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -291,7 +291,7 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/pratique-de-la-paie--perfectionnement-d6c</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -299,14 +299,14 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/digital-learning-et-developpement-manager-ec5</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/devenir-formateur-occasionnel-559</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
@ -314,24 +314,84 @@
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/formation-de-tuteur-fc7</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-Article/loi-sapin-7a9</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/prise-de-parole-en-public-6be</loc>
<lastmod>2023-01-15T11:35:41+00:00</lastmod>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/praticien-en-aromatherapie-integrative-c66</loc>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/praticien-en-aromatherapie-integrative-8c1</loc>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/praticien-en-olfactotherapie-628</loc>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/se-mettre-a-niveau-en-orthographe--formule-en-e-learning--10-heures-de-tutorat-69c</loc>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/se-mettre-a-niveau-en-orthographe-dans-un-contexte-professionnel--certificat-voltaire-ab9</loc>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/technique-de-vente-2b3</loc>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/rediger-avec-methode-et-efficacite-ses-courriers-et-ses-courriels-professionnels-664</loc>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
<url>
<loc>https://www.mysy-training.com/Display-Detail-formation/les-fondamentaux-du-management-b47</loc>
<lastmod>2023-02-26T11:35:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0000</priority>
</url>
</urlset>

View File

@ -66,7 +66,7 @@ function App() {
<Route path="/user-connexion" exact component={Connexion} />
<Route path="/Connexion" exact component={Login} />
<Route path="/recherche-formation" exact component={Recherche_new_v2} />
<Route path="/recherche-formation/:NewSearchText" exact component={Recherche_new_v2} />
<Route path="/recherche-formation/ref/:NewSearchText" exact component={Recherche_new_v2} />
<Route path="/testurl/:course/:tab" exact component={TestUrl} />
<Route path="/Display-Detail-formation/:classId" exact component={DisplayDetailClass_new_v2} />
<Route path="/Display-Detail-formation/:classId" exact component={DisplayDetailClass_new_v2} />

View File

@ -116,7 +116,7 @@ const AideRecherche = (props) => {
<div className="div_row_droite" >
{Result && String(myApiResponse) === String("True") &&
Result.map((formation) => (
<a href={"/recherche-formation/"+formation}>
<a href={"/recherche-formation/ref/"+formation}>
<div style={{ display: "inline-block", width: "33%", textAlign:"center",paddingLeft: "0.5rem" }} value= {`${formation}`}
>
"{(formation)}"

View File

@ -287,7 +287,36 @@ const DisplayDetailClass_new_v2 = (props) => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_class/";
var form = new FormData();
form.append("internal_url", classId);
form.append("token", "");
var my_local_user_connect;
var my_local_part_connect;
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
my_local_user_connect = 0;
} else {
my_local_user_connect = 1;
}
if (typeof (stored_partner) === "undefined" || String(stored_partner) === '') {
my_local_part_connect = 0;
} else {
my_local_part_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"){
form.append("token", stored_partner);
form.append("connection_type", "partner");
}
else{
form.append("token", "");
form.append("connection_type", "");
}
// Ajout des info IP user
form.append("user_ip", IPv4);
form.append("user_country_code", country_code);
@ -1385,7 +1414,7 @@ const DisplayDetailClass_new_v2 = (props) => {
{(JSON.parse(formation).distantiel) === "1" && (JSON.parse(formation).presentiel) === "1" &&
(JSON.parse(formation).date_debut).substring(0, 10) !== (JSON.parse(formation).date_fin).substring(0, 10) &&
<nav>
{(JSON.parse(formation).date_debut).substring(0, 10)} au
{(JSON.parse(formation).date_debut).substring(0, 10)} au
{(JSON.parse(formation).date_fin).substring(0, 10)} <b> A Distance</b> et <b>En Présentiel </b>- {(JSON.parse(formation).adresse)} &nbsp;{(JSON.parse(formation).code_postal)}
</nav>
}
@ -1403,7 +1432,7 @@ const DisplayDetailClass_new_v2 = (props) => {
{(JSON.parse(formation).distantiel) === "1" && ((JSON.parse(formation).presentiel) === "0" || !(JSON.parse(formation).presentiel)) &&
(JSON.parse(formation).date_debut).substring(0, 10) !== (JSON.parse(formation).date_fin).substring(0, 10) &&
<nav>
{(JSON.parse(formation).date_debut).substring(0, 10)} au
{(JSON.parse(formation).date_debut).substring(0, 10)} au
{(JSON.parse(formation).date_fin).substring(0, 10)} <b>A Distance </b> </nav>
}
@ -1604,7 +1633,7 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>
{JSON.parse(formation).price && <div className="mob_cross_sell_card_content_price">
{(String(JSON.parse(formation).price))} HT
{(String(JSON.parse(formation).price))} HT
</div>}
@ -1862,7 +1891,7 @@ const DisplayDetailClass_new_v2 = (props) => {
{(JSON.parse(formation).distantiel) === "1" && (JSON.parse(formation).presentiel) === "1" &&
(JSON.parse(formation).date_debut).substring(0, 10) !== (JSON.parse(formation).date_fin).substring(0, 10) &&
<nav>
{(JSON.parse(formation).date_debut).substring(0, 10)}&nbsp; au&nbsp;
{(JSON.parse(formation).date_debut).substring(0, 10)}&nbsp; au&nbsp;
{(JSON.parse(formation).date_fin).substring(0, 10)} <b> A Distance</b> et <b>En Présentiel </b>- {(JSON.parse(formation).adresse)} &nbsp;{(JSON.parse(formation).code_postal)}
</nav>
}
@ -1971,7 +2000,18 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="block_sticky_info">
{DetailTraining["price"] && <div className="block_sticky_info_price"> {String(DetailTraining["price"])} HT </div>}
{DetailTraining["price"] && (!DetailTraining.business_prices || Object.keys(DetailTraining.business_prices).length <= 0)
&& <div className="block_sticky_info_price"> {String(DetailTraining["price"])} HT </div>}
{DetailTraining["price"] && DetailTraining.business_prices && Object.keys(DetailTraining.business_prices).length > 0
&& <div className="block_sticky_info_price">
<nav className="discounted_price">{String(DetailTraining.business_prices[0].discounted_price)} HT</nav>
<nav className="training_price_barre"> {String(DetailTraining["price"])} HT </nav>
<nav className="discount_block"> (- {String(DetailTraining.business_prices[0].discount)} % ) </nav>
</div>}
{String(ismetiermanaged) !== "0" && String(ismetiermanaged) !== "1" && <div className="block_sticky_info_img">
{(!DetailTraining.img_url || String(DetailTraining.img_url).length <= 0) &&
@ -2023,8 +2063,8 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>}
{String(ismetiermanaged) === "1" && <div className="block_sticky_info_img">
<img src={DetailTraining.img_url} alt="autre" className="training_img" />
{String(ismetiermanaged) === "1" && <div className="">
<img src={DetailTraining.img_url} alt="autre" className="" />
</div>}
@ -2348,7 +2388,7 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>
{JSON.parse(formation).price && <div className="sous_crossell_list_card_card_content_price">
{(String(JSON.parse(formation).price))} HT
{(String(JSON.parse(formation).price))} HT
</div>}

View File

@ -291,8 +291,10 @@ const Formation = (props) => {
{props.formation.note && String(props.formation.note).length === 1 &&
parseInt(String(props.formation.note)) <= 5 &&
<Rating name="half-rating-read" defaultValue={props.formation.note} precision={0.5} readOnly />
<Rating name="half-rating-read" defaultValue={props.formation.note} precision={0.5} readOnly />
}
</div>
<div className="div_row_droite div_row_droite_cpf">
<div className="block_cpf">
@ -340,13 +342,15 @@ const Formation = (props) => {
</div>
}
{String(props.formation.price).length != 9 && String(props.formation.price) !== String("0") && !props.formation.business_prices &&
{String(props.formation.price).length != 9 && String(props.formation.price) !== String("0") && ( !props.formation.business_prices ||
Object.keys(props.formation.business_prices).length <= 0) &&
<div className="training_price">{props.formation.price} HT&nbsp;
</div>
}
{String(props.formation.price).length != 9 && String(props.formation.price) !== String("0") && props.formation.business_prices &&
{String(props.formation.price).length != 9 && String(props.formation.price) !== String("0") &&
props.formation.business_prices && Object.keys(props.formation.business_prices).length > 0 &&
<div className="training_price">
<nav className="discounted_price">{String(props.formation.business_prices[0].discounted_price)} HT</nav>
<nav className="training_price_barre">

View File

@ -883,7 +883,7 @@ function Inscription_Information(props) {
<h3> Demande d'evaluation </h3>
<div className="div_row22 survey_block">
<fieldset>
<nav className="survey_title"> 1. Une <b>note </b> pour l'appréciation globale </nav>
<nav className="survey_title"> 1. Une <b>note </b> pour l'appréciation générale </nav>
<Rating name="half-rating-read"
defaultValue={0}
precision={0.5}

View File

@ -560,6 +560,7 @@ const Partner = (props) => {
{String(menu) !== "facture" && <div className="sousmenu" onClick={DisplayFacure} > FACTURATION</div>}
{String(menu) === "facture" && <div className="sousmenu_selected" onClick={DisplayFacure} > FACTURATION</div>}
<hr className="my_hr" />

View File

@ -50,6 +50,7 @@ function Pricing() {
{ field: 'price_line_id', headerName: '_id', hide: true },
{ field: 'client', headerName: 'Client', width: 150, flex: 1 },
{ field: 'client_recid', headerName: 'Client Id', width: 150, hide: true },
{ field: 'formation', headerName: 'Formation', width: 150, flex: 1 },
{ field: 'discount', headerName: 'Réduction (%)', width: 100, hideable: false, flex: 1 },
{ field: 'date_debut', headerName: 'Date début', width: 150, flex: 1 },
{ field: 'date_fin', headerName: 'Date Fin', width: 150, flex: 1 },
@ -141,6 +142,7 @@ function Pricing() {
Clean_notification();
GetAPrice_Data(price_line_id);
}
const [isaddprice, setisaddprice] = useState();
@ -195,7 +197,10 @@ function Pricing() {
}
const [selectedlinked_client, setselectedlinked_client] = useState()
const [selectedlinked_client, setselectedlinked_client] = useState();
const [selectedformation_client, setselectedformation_client] = useState()
function changeselectedclient(event) {
setselectedlinked_client(event.target.value);
@ -207,6 +212,52 @@ function Pricing() {
}
};
function changeselectedformation(event) {
setselectedformation_client(event.target.value);
};
const [GetClient_Class_api, setGetClient_Class_api] = useState()
const [GetClient_Class_result, setGetClient_Class_result] = useState([]);
const [GetClient_Class_message, setGetClient_Class_message] = useState()
function GetClientClass(event) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_partner_class/";
fetch(myurl,
{
method: 'POST',
body: form,
})
.then((data) => data.json())
.then((data) => {
//console.log('Success:', data['message'], "data['status'] = ", data['status']);
if (String(data['status']) === String("false")) {
//console.log("erreur rrrr:" + data['status'])
setGetClient_Class_api("false");
}
else if (String(data['status']) === String("true")) {
setGetClient_Class_result(data['message']);
setGetClient_Class_api("true");
}
}).catch((error) => {
console.error('Error:', error);
setGetClient_Class_api("false");
});
}
const [GetClient_Linked_api, setGetClient_Linked_api] = useState()
const [GetClient_Linked_result, setGetClient_Linked_result] = useState([]);
const [GetClient_Linked_message, setGetClient_Linked_message] = useState()
@ -292,6 +343,11 @@ function Pricing() {
document.getElementById("new_sessiondatefin").style.backgroundColor = "#ECEFF1";
}
if (document.getElementById("new_selectedclass_client")) {
document.getElementById("new_selectedclass_client").disabled = true;
document.getElementById("new_selectedclass_client").style.backgroundColor = "#ECEFF1";
}
}
@ -317,6 +373,12 @@ function Pricing() {
setNew_SessionendDate("");
}
if (document.getElementsByName("new_selectedclass_client") && document.getElementsByName("selectedclass_client")[0]) {
document.getElementsByName("new_selectedclass_client")[0].disabled = true;
document.getElementsByName("new_selectedclass_client")[0].style.backgroundColor = "#ECEFF1";
setselectedformation_client("");
}
}
function Clean_prices_fields() {
@ -340,6 +402,12 @@ function Pricing() {
setNew_SessionendDate("");
}
if (document.getElementsByName("selectedclass_client") && document.getElementsByName("selectedclass_client")[0]) {
document.getElementsByName("selectedclass_client")[0].disabled = true;
document.getElementsByName("selectedclass_client")[0].style.backgroundColor = "#ECEFF1";
setselectedformation_client("");
}
}
function DataUpdated() {
@ -350,6 +418,7 @@ function Pricing() {
useEffect(() => {
GetClientPrices();
GetClientlinked();
GetClientClass();
}, []);
let [sessionStatus, setsessionStatus] = useState(false);
@ -449,6 +518,7 @@ function Pricing() {
formData.append("token", stored_cookie);
formData.append('client_recid', selectedlinked_client);
formData.append('discount', new_discount_val);
formData.append('class', selectedformation_client);
formData.append('date_du', local_date_debut);
formData.append('date_au', local_date_fin);
@ -495,7 +565,7 @@ function Pricing() {
setRecord_new_Price_message("");
setDelete_Price_api("");
setUpdate_Price_api("");
setselectedformation_client();
}
@ -536,6 +606,7 @@ function Pricing() {
formData.append('discount', discount_val);
formData.append('date_du', local_date_debut);
formData.append('date_au', local_date_fin);
formData.append('class', selectedformation_client);
fetch(
url,
@ -644,7 +715,7 @@ function Pricing() {
const [GetAPrice_api, setGetAPrice_api] = useState();
const [GetAPrice_message, setGetAPrice_message] = useState();
const [GetAPrice_result, setGetAPrice_result] = useState();
function GetAPrice_Data(price_line_id) {
async function GetAPrice_Data(price_line_id) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
@ -684,8 +755,11 @@ function Pricing() {
}
if (mylocalprice.class) {
setselectedformation_client(mylocalprice.class);
}
Desable_exist_prices_fields();
}
else {
setGetAPrice_api("false");
@ -728,6 +802,11 @@ function Pricing() {
document.getElementsByName("sessiondatefin")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("selectedclass_client") && document.getElementsByName("selectedclass_client")[0]) {
document.getElementsByName("selectedclass_client")[0].disabled = false;
document.getElementsByName("selectedclass_client")[0].style.backgroundColor = "#FFFFFF";
}
}
function Desable_exist_prices_fields() {
@ -748,6 +827,11 @@ function Pricing() {
document.getElementsByName("sessiondatefin")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("selectedclass_client") && document.getElementsByName("selectedclass_client")[0]) {
document.getElementsByName("selectedclass_client")[0].disabled = true;
document.getElementsByName("selectedclass_client")[0].style.backgroundColor = "#ECEFF1";
}
}
@ -757,7 +841,7 @@ function Pricing() {
}
function cancel_update_price(){
function cancel_update_price() {
setiseditclientprice();
setisaddprice();
@ -822,6 +906,29 @@ function Pricing() {
}}
variant="standard"
/>
<div className="div_row">
<div className="div_row_gauche">
<nav className="my_label">Mes Formations </nav>
{GetClient_Class_result && <div className="field_droite">
<select id="selectedclass_client"
name="selectedclass_client"
value={selectedformation_client} onChange={changeselectedformation}
style={{
"width": "90%", "height": "3rem"
}}>
<option value=""> Choisir </option>
{GetClient_Class_result.map((option) => (
<option value={JSON.parse(option).internal_url}>{JSON.parse(option).title}</option>
))}
</select>
</div>}
</div>
</div>
<div className="div_row">
<div className="div_row_gauche">
<nav className="my_label"> Date Debut </nav>
@ -868,7 +975,7 @@ function Pricing() {
</Box>
<div className="div_row">&nbsp;
</div>
</div>
<div className="div_row">
@ -909,12 +1016,12 @@ function Pricing() {
<div className="div_row">
<div className="div_row_gauche">
<nav className="my_label"> Client </nav>
<nav className="my_label"> Client </nav>
{GetClient_Linked_result && <div className="field_droite">
<select id="selected_client"
name="selected_client"
value={selectedlinked_client} onChange={changeselectedclient}
style={{
"width": "90%", "height": "3rem"
@ -932,7 +1039,7 @@ function Pricing() {
label="Reduction (%)"
name="new_discount"
id="new_discount"
value={new_discount_val}
onChange={Change_new_discount_val}
sx={{ m: 1, width: '90%' }}
@ -944,12 +1051,34 @@ function Pricing() {
),
}}
variant="standard"
style={{"marginLeft":"0px"}}
style={{ "marginLeft": "0px" }}
/>
</div>
</div>
<div className="div_row">
<div className="div_row_gauche">
<nav className="my_label">Mes Formations </nav>
{GetClient_Class_result && <div className="field_droite">
<select id="new_selectedclass_client"
name="new_selectedclass_client"
value={selectedformation_client} onChange={changeselectedformation}
style={{
"width": "90%", "height": "3rem"
}}>
<option value=""> Choisir </option>
{GetClient_Class_result.map((option) => (
<option value={JSON.parse(option).internal_url}>{JSON.parse(option).title}</option>
))}
</select>
</div>}
</div>
</div>
<div className="div_row">
<div className="div_row_gauche">
<nav className="my_label"> Date Debut </nav>
@ -996,7 +1125,7 @@ function Pricing() {
</Box>
<div className="div_row">&nbsp;
</div>
</div>
<div className="div_row">
<div className="div_row_gauche">
@ -1055,7 +1184,7 @@ function Pricing() {
date_debut: JSON.parse(item).date_du,
date_fin: JSON.parse(item).date_au,
price_line_id: JSON.parse(item)._id,
formation: JSON.parse(item).class,
}
))}

View File

@ -948,8 +948,11 @@ const Recherche_new_v2 = () => {
const [suggestedcities, setsuggestedcities] = useState([]);
useEffect(() => {
var ip = "";
async function fetchData() {
const result = await axios('https://geolocation-db.com/json/',);
@ -984,10 +987,14 @@ const Recherche_new_v2 = () => {
if (categorie && String(categorie).length > 0) {
getClassByMetier_categorie(categorie);
}
else {
DisplayXfirstClas(result.data);
}
}
fetchData();
@ -1126,10 +1133,12 @@ const Recherche_new_v2 = () => {
setuserconnected("1");
}
setinitAllfiter();
whosisconnected();
}, [initAllfiter, categorie]);
@ -1348,7 +1357,36 @@ const Recherche_new_v2 = () => {
var form = new FormData();
form.append("search_text", crit_SearchText);
form.append("token", stored_user);
var my_local_user_connect;
var my_local_part_connect;
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
my_local_user_connect = 0;
} else {
my_local_user_connect = 1;
}
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
my_local_part_connect = 0;
} else {
my_local_part_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"){
form.append("token", stored_part);
form.append("connection_type", "partner");
}
else{
form.append("token", "");
form.append("connection_type", "");
}
form.append("certif", crit_TrainingCertif);
form.append("support", crit_TrainingSupport);
form.append("type", crit_TrainingType);
@ -1378,9 +1416,6 @@ const Recherche_new_v2 = () => {
}
//alert("myurl = "+myurl);
axios.post(myurl, form).then(res => {
if (String(res.data.status) != String("false")) {
@ -1437,6 +1472,7 @@ const Recherche_new_v2 = () => {
// Nettoyage du resultat precedent.
setResult([]);
//Get Criterias
var crit_SearchText = "";
var myurl = "";
@ -1447,7 +1483,6 @@ const Recherche_new_v2 = () => {
} else {
clearsearchtext();
crit_SearchText = NewSearchText;
myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_text_simple/";
@ -1457,7 +1492,36 @@ const Recherche_new_v2 = () => {
var form = new FormData();
form.append("search_text", crit_SearchText);
form.append("token", "");
var my_local_user_connect;
var my_local_part_connect;
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
my_local_user_connect = 0;
} else {
my_local_user_connect = 1;
}
if (typeof (stored_part) === "undefined" || String(stored_part) === '') {
my_local_part_connect = 0;
} else {
my_local_part_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"){
form.append("token", stored_part);
form.append("connection_type", "partner");
}
else{
form.append("token", "");
form.append("connection_type", "");
}
form.append("certif", "");
form.append("support", "");
form.append("type", "");
@ -1498,7 +1562,7 @@ const Recherche_new_v2 = () => {
axios.post(myurl, form).then(res => {
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);
//console.log(" In DisplayXfirstClas res.data.message = " + res.data.message);
setmyApiResponse("True");
setResult(res.data.message)
@ -1902,6 +1966,8 @@ const Recherche_new_v2 = () => {
const stored_part = getCookie('tokenmysypart');
function whosisconnected() {
var local_user_connect = 0;
var local_part_connect = 0;
@ -1923,7 +1989,7 @@ const Recherche_new_v2 = () => {
setpartnerconnected("1");
setsomeoneconnected("1");
local_part_connect = 1;
// alert(" partner connected OK");
//alert(" partner connected OK");
}
}

View File

@ -7605,6 +7605,26 @@
border-radius: 15px;
}
.discounted_price {
font-weight: 600;
font-size: 20px;
color: #ff8c00;
}
.training_price_barre {
font-weight: 500;
font-size: 18px;
color: #647585;
text-decoration: line-through;
margin-left: 2rem;
}
.discount_block {
font-weight: 400;
margin-left: 1rem;
color: red;
font-size: medium;
}
}

View File

@ -412,7 +412,7 @@
.ftion_tab_gauche {
width: 50%;
}
.ftion_tab_droite {
width: 50%;
}
@ -426,47 +426,47 @@
float: left;
text-align: left;
font-weight: bold;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 16px;
line-height: 19px;
font-feature-settings: 'liga' off;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 0;
flex-grow: 0;
}
.ftion_tab_droite {
width: 50%;
float: left;
text-align: center;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 19px;
font-feature-settings: 'liga' off;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
@ -567,7 +567,7 @@
width: 24%;
padding: 0.3rem;
font-size: 11px;
text-align: left;
text-align: center;
color: rgb(10, 42, 77);
margin-top: 1px;
cursor: pointer;
@ -767,7 +767,7 @@
margin-top: 15px;
}
.bton_se_renseinger {
border-radius: 15px;
font-size: small;
@ -807,11 +807,11 @@
}
.row_formation_desc{
.row_formation_desc {
min-height: 5rem !important;
}
.row_formation_title{
.row_formation_title {
min-height: 3rem !important;
}
@ -915,7 +915,7 @@
width: 24%;
padding: 0.3rem;
font-size: 11px;
text-align: left;
text-align: center;
color: rgb(10, 42, 77);
margin-top: 1px;
cursor: pointer;
@ -1113,7 +1113,7 @@
margin-top: 5px;
}
.bton_se_renseinger {
border-radius: 15px;
font-size: small;
@ -1156,16 +1156,16 @@
.ftion_tab_gauche {
width: 70%;
}
.ftion_tab_droite {
width: 30%;
}
.row_formation_desc{
.row_formation_desc {
min-height: 5rem !important;
}
.row_formation_title{
.row_formation_title {
min-height: 3rem !important;
}
@ -1273,7 +1273,7 @@
width: 20%;
padding: 0.3rem;
font-size: 11px;
text-align: left;
text-align: center;
color: rgb(10, 42, 77);
margin-top: 1px;
cursor: pointer;
@ -1306,7 +1306,7 @@
font-weight: 700;
font-size: 20px;
line-height: 25px;
/* identical to box height */
/* identical to box height */
font-feature-settings: 'liga' off;
@ -1404,15 +1404,15 @@
font-weight: 600;
font-size: 20px;
color: #ff8c00;
}
}
.training_price_barre {
font-weight: 500;
font-size: 18px;
color: #647585;
text-decoration: line-through;
margin-left: 2rem;
}
.training_price_barre {
font-weight: 500;
font-size: 18px;
color: #647585;
text-decoration: line-through;
margin-left: 2rem;
}
.bton_inscris {
position: relative;
@ -1566,11 +1566,11 @@
}
.row_formation_desc{
.row_formation_desc {
min-height: 5rem !important;
}
.row_formation_title{
.row_formation_title {
min-height: 3rem !important;
}
@ -1578,10 +1578,10 @@
min-height: 10rem !important;
}
.discount_block{
.discount_block {
font-weight: 400;
margin-left: 1rem;
color: red;
color: red;
}
}