diff --git a/src/components/Account.js b/src/components/Account.js index 1559f18..7d4e2b5 100644 --- a/src/components/Account.js +++ b/src/components/Account.js @@ -85,7 +85,7 @@ function Account() { const [isimage, setisimage] = useState(); function getImage(e) { - var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedImage/"; + var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedImage/"; var form = new FormData(); form.append("token", stored_user); form.append("type", "user"); diff --git a/src/components/AddPartnerClient.js b/src/components/AddPartnerClient.js index 11168ba..e7c52a0 100644 --- a/src/components/AddPartnerClient.js +++ b/src/components/AddPartnerClient.js @@ -32,6 +32,7 @@ import { Fab } from "@material-ui/core"; import { ConsoleView } from "react-device-detect"; import fileDownload from 'js-file-download' import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5"; +import { AiOutlineUserAdd } from "react-icons/ai"; const AddParnerClient = (props) => { const history = useHistory(); @@ -66,8 +67,24 @@ const AddParnerClient = (props) => { const [p_client_invoice_code_postal, setclient_invoice_code_postal] = useState(""); const [p_client_invoice_pays, setclient_invoice_pays] = useState(""); + // Données contact + const [p_contact_email, setp_contact_email] = useState(""); + const [p_contact_nom, setp_contact_nom] = useState(""); + const [p_contact_prenom, setp_contact_prenom] = useState(""); + const [p_contact_siret, setcontact_siret] = useState(""); + const [p_contact_tva, setcontact_tva] = useState(""); + const [p_contact_adresse, setcontact_adresse] = useState(""); + const [p_contact_ville, setcontact_ville] = useState(""); + const [p_contact_code_postal, setcontact_code_postal] = useState(""); + const [p_contact_pays, setcontact_pays] = useState(""); + const [p_contact_telephone, setcontact_telephone] = useState(""); + const [p_contact_telephone_mobile, setp_contact_telephone_mobile] = useState(""); + function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); + } + const [importmessage, setimportmessage] = useState(""); async function submenu_donnee_client() { setsubmenu("submenu_donnee_client"); @@ -81,6 +98,24 @@ const AddParnerClient = (props) => { Enable_fields(); } + document.getElementById("submenu_factures").style.background = "#d8edfc"; + document.getElementById("submenu_factures").style.color = "#3b3e40"; + + document.getElementById("submenu_stagiaires").style.background = "#d8edfc"; + document.getElementById("submenu_stagiaires").style.color = "#3b3e40"; + + document.getElementById("submenu_devis").style.background = "#d8edfc"; + document.getElementById("submenu_devis").style.color = "#3b3e40"; + + document.getElementById("submenu_cmd").style.background = "#d8edfc"; + document.getElementById("submenu_cmd").style.color = "#3b3e40"; + + document.getElementById("submenu_contact").style.background = "#d8edfc"; + document.getElementById("submenu_contact").style.color = "#3b3e40"; + + document.getElementById("submenu_activite").style.background = "#d8edfc"; + document.getElementById("submenu_activite").style.color = "#3b3e40"; + document.getElementById("submenu_donnee_client").style.background = "#d8edfc"; document.getElementById("submenu_donnee_client").style.color = "#3b3e40"; @@ -93,9 +128,7 @@ const AddParnerClient = (props) => { } - function sleep(ms) { - return new Promise(resolve => setTimeout(resolve, ms)); - } + async function submenu_donnee_facturation() { setsubmenu("submenu_donnees_facturation"); @@ -109,6 +142,24 @@ const AddParnerClient = (props) => { Enable_invoice_fields(); } + document.getElementById("submenu_factures").style.background = "#d8edfc"; + document.getElementById("submenu_factures").style.color = "#3b3e40"; + + document.getElementById("submenu_stagiaires").style.background = "#d8edfc"; + document.getElementById("submenu_stagiaires").style.color = "#3b3e40"; + + document.getElementById("submenu_devis").style.background = "#d8edfc"; + document.getElementById("submenu_devis").style.color = "#3b3e40"; + + document.getElementById("submenu_cmd").style.background = "#d8edfc"; + document.getElementById("submenu_cmd").style.color = "#3b3e40"; + + document.getElementById("submenu_contact").style.background = "#d8edfc"; + document.getElementById("submenu_contact").style.color = "#3b3e40"; + + document.getElementById("submenu_activite").style.background = "#d8edfc"; + document.getElementById("submenu_activite").style.color = "#3b3e40"; + document.getElementById("submenu_donnee_client").style.background = "#d8edfc"; document.getElementById("submenu_donnee_client").style.color = "#3b3e40"; @@ -122,6 +173,122 @@ const AddParnerClient = (props) => { } + async function submenu_contact() { + setsubmenu("submenu_contact"); + /* + Ceci est super crade, fair eun wait de pour attendre l'afficage avant de desacitcation si on a desactiver, mais bon ... on avance. + */ + await sleep(5); + /*if (String(formedit_mode_invoice) !== "1") { + Disable_invoice_fields(); + } else { + Enable_invoice_fields(); + }*/ + + document.getElementById("submenu_factures").style.background = "#d8edfc"; + document.getElementById("submenu_factures").style.color = "#3b3e40"; + + document.getElementById("submenu_stagiaires").style.background = "#d8edfc"; + document.getElementById("submenu_stagiaires").style.color = "#3b3e40"; + + document.getElementById("submenu_devis").style.background = "#d8edfc"; + document.getElementById("submenu_devis").style.color = "#3b3e40"; + + document.getElementById("submenu_cmd").style.background = "#d8edfc"; + document.getElementById("submenu_cmd").style.color = "#3b3e40"; + + document.getElementById("submenu_donnee_facturation").style.background = "#d8edfc"; + document.getElementById("submenu_donnee_facturation").style.color = "#3b3e40"; + + document.getElementById("submenu_activite").style.background = "#d8edfc"; + document.getElementById("submenu_activite").style.color = "#3b3e40"; + + document.getElementById("submenu_donnee_client").style.background = "#d8edfc"; + document.getElementById("submenu_donnee_client").style.color = "#3b3e40"; + + document.getElementById("submenu_donnee_facturation").style.background = "#d8edfc"; + document.getElementById("submenu_donnee_facturation").style.color = "#3b3e40"; + + + document.getElementById("submenu_contact").style.background = "#104277"; + document.getElementById("submenu_contact").style.color = "white"; + + + + } + + async function submenu_activite() { + setsubmenu("submenu_activite"); + /* + Ceci est super crade, fair eun wait de pour attendre l'afficage avant de desacitcation si on a desactiver, mais bon ... on avance. + */ + await sleep(5); + /* if (String(formedit_mode_invoice) !== "1") { + Disable_invoice_fields(); + } else { + Enable_invoice_fields(); + }*/ + + document.getElementById("submenu_factures").style.background = "#d8edfc"; + document.getElementById("submenu_factures").style.color = "#3b3e40"; + + document.getElementById("submenu_stagiaires").style.background = "#d8edfc"; + document.getElementById("submenu_stagiaires").style.color = "#3b3e40"; + + document.getElementById("submenu_devis").style.background = "#d8edfc"; + document.getElementById("submenu_devis").style.color = "#3b3e40"; + + document.getElementById("submenu_cmd").style.background = "#d8edfc"; + document.getElementById("submenu_cmd").style.color = "#3b3e40"; + + document.getElementById("submenu_contact").style.background = "#d8edfc"; + document.getElementById("submenu_contact").style.color = "#3b3e40"; + + document.getElementById("submenu_donnee_client").style.background = "#d8edfc"; + document.getElementById("submenu_donnee_client").style.color = "#3b3e40"; + + document.getElementById("submenu_donnee_facturation").style.background = "#d8edfc"; + document.getElementById("submenu_donnee_facturation").style.color = "#3b3e40"; + + document.getElementById("submenu_activite").style.background = "#104277"; + document.getElementById("submenu_activite").style.color = "white"; + + + + } + + async function submenu_devis() { + setsubmenu("submenu_devis"); + /* + Ceci est super crade, fair eun wait de pour attendre l'afficage avant de desacitcation si on a desactiver, mais bon ... on avance. + */ + await sleep(5); + } + + async function submenu_cmd() { + setsubmenu("submenu_cmd"); + /* + Ceci est super crade, fair eun wait de pour attendre l'afficage avant de desacitcation si on a desactiver, mais bon ... on avance. + */ + await sleep(5); + } + + async function submenu_factures() { + setsubmenu("submenu_factures"); + /* + Ceci est super crade, fair eun wait de pour attendre l'afficage avant de desacitcation si on a desactiver, mais bon ... on avance. + */ + await sleep(5); + } + + + async function submenu_stagiaires() { + setsubmenu("submenu_stagiaires"); + /* + Ceci est super crade, fair eun wait de pour attendre l'afficage avant de desacitcation si on a desactiver, mais bon ... on avance. + */ + await sleep(5); + } function DataUpdated() { setdatamodification("1"); @@ -177,6 +344,15 @@ const AddParnerClient = (props) => { } } + const [addcontact, setaddcontact] = useState("0"); + function Add_Contact() { + setaddcontact("1"); + } + + function Close_Contact() { + setaddcontact("0"); + } + useEffect(() => { @@ -191,6 +367,8 @@ const AddParnerClient = (props) => { setdatamodification("0"); setdatamodification_invoice("0"); + Get_List_Contact_Of_client_Part(); + window.scrollTo(0, 0); } else { setformedit_mode("1"); @@ -530,6 +708,49 @@ const AddParnerClient = (props) => { } + const [Get_List_Contact_Of_client_Part_api, setGet_List_Contact_Of_client_Part_api] = useState(); + const [Get_List_Contact_Of_client_Part_message, setGet_List_Contact_Of_client_Part_message] = useState(); + const [Get_List_Contact_Of_client_Part_result, setGet_List_Contact_Of_client_Part_result] = useState(); + function Get_List_Contact_Of_client_Part(event) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + const related_collection = "partner_client" + + + form.append("token", stored_cookie); + form.append("related_collection", related_collection); + form.append("related_collection_owner_email", props.client_mail); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Entity_Contact/"; + + axios.post(myurl, form).then(res => { + console.log(" In Get_List_Contact_Of_client_Part res.data.status = " + res.data.status); + console.log(" In Get_List_Contact_Of_client_Part res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setGet_List_Contact_Of_client_Part_api("true"); + setGet_List_Contact_Of_client_Part_result(res.data.message); + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGet_List_Contact_Of_client_Part_api("false"); + setGet_List_Contact_Of_client_Part_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( Get_List_Contact_Of_client_Part = ', error); + setGet_List_Contact_Of_client_Part_api("false"); + //setmyApimyApiMessage("") + }) + } + + function clear_fields() { if (document.getElementsByName("client_email")) { document.getElementsByName("client_email")[0].value = ""; @@ -710,7 +931,7 @@ const AddParnerClient = (props) => { } - + function confirm_add_user() { confirmAlert({ title: '', @@ -1389,8 +1610,8 @@ const AddParnerClient = (props) => {   - -
+ +
@@ -1406,12 +1627,12 @@ const AddParnerClient = (props) => {
- - - - - - + + + + + +
{String(submenu).trim() === "submenu_donnee_client" &&
@@ -1759,6 +1980,228 @@ const AddParnerClient = (props) => {
} + {String(submenu).trim() === "submenu_contact" &&
+ + {String(addcontact) !== "1" &&
+
Ajouter un contact
+
+
+ + {Get_List_Contact_Of_client_Part_result && String(Get_List_Contact_Of_client_Part_api) === "true" && + Get_List_Contact_Of_client_Part_result.map((client) => ( + +
+ mail = {String(JSON.parse(client).email)}
+ Tel = {String(JSON.parse(client).telephone)}
+ +
+ + + ))} +
+
+
} + + {String(addcontact) !== "0" &&
+ +

Ajout d'un nouveau contact

+
+ setp_contact_email(e.target.value)} + + /> +
+ + +
+ setp_contact_nom(e.target.value)} + + /> +
+ + +
+ setp_contact_prenom(e.target.value)} + /> +
+ + +
+ setcontact_siret(e.target.value)} + /> +
+ +
+ setcontact_tva(e.target.value)} + /> +
+ +
+ setcontact_adresse(e.target.value)} + /> +
+
+ setcontact_ville(e.target.value)} + /> +
+
+ setcontact_code_postal(e.target.value)} + /> +
+
+ setcontact_pays(e.target.value)} + /> +
+ +
+ setcontact_telephone(e.target.value)} + /> +
+ +
+ setp_contact_telephone_mobile(e.target.value)} + /> +
+ +
+
+ +
+
+ +
+
+ +
} + +
+   +
+ + {String(datamodification_invoice) === "1" &&
+
/!\ Pensez à enregistrer les modifications
} + {String(formedit_mode_invoice) === "1" &&
+
+ +
+
+ +
+
+ } + + +
} +
{ const [isimage, setisimage] = useState(); function getImage(e) { - var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedImage/"; + var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedImage/"; var form = new FormData(); form.append("token", stored_cookie); form.append("type", "partner"); @@ -725,14 +725,14 @@ const Partner = (props) => {
{String(deplie_hebergement) === "1" &&
- Espace Hébergement + Espace E-Learning
}
{String(deplie_hebergement) !== "1" &&
- +
{String(has_partner_lms_url) === "1" &&
{ diff --git a/src/components/PartnerSignInSecond.js b/src/components/PartnerSignInSecond.js index 993efb1..208ce63 100644 --- a/src/components/PartnerSignInSecond.js +++ b/src/components/PartnerSignInSecond.js @@ -5,7 +5,7 @@ import partnerbannerimg from "../mysy_img/MYSY_banner_compte.png"; import { Button, FormGroup, Label, Input } from "reactstrap"; import { useCookies } from "react-cookie"; import { confirmAlert } from 'react-confirm-alert'; -import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css +import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css import bannerimg2 from "../mysy_img/MYSY-LOGO-BLUE.png"; import { Helmet } from "react-helmet"; import logowhite from "../mysy_img/MYSY-LOGO-WHITE.png"; @@ -130,8 +130,8 @@ function PartnerSignIn() { var val = result['status']; if (String(val) === String("true")) { - sessionStorage.setItem("token", result['message']); - setCookie("tokenmysypart", result['message'], { path: '/' }); + setCookie("tokenmysypart", JSON.parse(result['message']).token, { path: '/' }); + //setCookie("tokenmysypart", result['message']); history.push("/Partner"); } else { diff --git a/src/components/SignUp.js b/src/components/SignUp.js index f0a67f5..69917b6 100644 --- a/src/components/SignUp.js +++ b/src/components/SignUp.js @@ -78,7 +78,7 @@ function SignUp() { handleSubmit, } = useForm(); - const [menucompte, setmenucompte] = useState("user"); + const [menucompte, setmenucompte] = useState("partner"); function handleChange1(prop) { return (event) => { diff --git a/src/styles/components/_addpartnerclient.scss b/src/styles/components/_addpartnerclient.scss index bd21bdc..746d4d4 100644 --- a/src/styles/components/_addpartnerclient.scss +++ b/src/styles/components/_addpartnerclient.scss @@ -184,4 +184,30 @@ } } + + .contact_grid { + margin-right: 10px !important; + margin-left: 10px !important; + display: grid; + height: 200px; + grid-template: repeat(2, 1fr) / repeat(2, 1fr); + gap: 20px 10px; + } + + .contact_grid>div { + display: inline-block; + color: #444; + border: 1px solid #CCC; + background: #DDD; + box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%); + cursor: pointer; + vertical-align: middle; + padding: 5px; + text-align: left; + } + + .contact_grid>div:hover { + box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%); + } + } \ No newline at end of file diff --git a/src/styles/components/_signin.scss b/src/styles/components/_signin.scss index 71a5c3c..d3a49b9 100644 --- a/src/styles/components/_signin.scss +++ b/src/styles/components/_signin.scss @@ -2349,6 +2349,7 @@ .css-vubbuv{ font-size: medium !important; + margin-right: 10px !important; } // end media diff --git a/src/styles/components/_signup.scss b/src/styles/components/_signup.scss index b396ba6..d8ee907 100644 --- a/src/styles/components/_signup.scss +++ b/src/styles/components/_signup.scss @@ -1726,4 +1726,10 @@ .css-1laqsz7-MuiInputAdornment-root{ padding-right: 10px !important; } + + .css-vubbuv{ + font-size: medium !important; + margin-right: 10px !important; + } + }