03/08/23 - 19h
parent
5b444f2379
commit
9713f00cf5
|
@ -1803,6 +1803,7 @@ const AddParnerClient = (props) => {
|
|||
Get_List_Contact_Of_client_Part();
|
||||
|
||||
setaddcontact("0");
|
||||
setdatamodification_contact("")
|
||||
alert(res.data.message);
|
||||
|
||||
|
||||
|
@ -2524,19 +2525,19 @@ const AddParnerClient = (props) => {
|
|||
|
||||
{String(submenu).trim() === "submenu_contact" && <div className="training_data">
|
||||
|
||||
{String(addcontact) !== "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }}>
|
||||
<div className="div_row" onClick={Add_Contact} style={{ "cursor": "pointer" }}> <AiOutlineUserAdd /> Ajouter un contact </div>
|
||||
<div className="div_row">
|
||||
{String(addcontact) !== "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px", "paddingRight":"10px" }}>
|
||||
<div className="div_row" onClick={Add_Contact} > <AiOutlineUserAdd /> Ajouter un contact </div>
|
||||
<div className="div_row scroll_mysy">
|
||||
<div className="contact_grid">
|
||||
|
||||
{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) => (
|
||||
|
||||
<div id={String(JSON.parse(client).email)} onClick={Display_Part_Client_Contact}>
|
||||
{String(JSON.parse(client).prenom)} {String(JSON.parse(client).nom)} <br />
|
||||
fonction = {String(JSON.parse(client).fonction)} <br />
|
||||
mail = {String(JSON.parse(client).email)} <br />
|
||||
Tel = {String(JSON.parse(client).telephone)} <br />
|
||||
{(JSON.parse(client).nom || JSON.parse(client).prenom) && <nav className="grid_title"> {String(JSON.parse(client).prenom)} {String(JSON.parse(client).nom)} </nav>}
|
||||
{JSON.parse(client).fonction && <nav> {String(JSON.parse(client).fonction)} </nav> }
|
||||
{JSON.parse(client).email && <nav> {String(JSON.parse(client).email)} </nav> }
|
||||
{JSON.parse(client).telephone && <nav> {String(JSON.parse(client).telephone)} </nav>}
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -0,0 +1,927 @@
|
|||
import React, { useState, useEffect, } from "react";
|
||||
import { useForm } from "react-hook-form";
|
||||
import { getCookie, setCookie } from 'react-use-cookie';
|
||||
import Box from '@mui/material/Box';
|
||||
import InputLabel from '@mui/material/InputLabel';
|
||||
import InputAdornment from '@mui/material/InputAdornment';
|
||||
import FormControl from '@mui/material/FormControl';
|
||||
import TextField from '@mui/material/TextField';
|
||||
import AccountCircle from '@mui/icons-material/AccountCircle';
|
||||
import PhoneIcon from '@mui/icons-material/Phone'
|
||||
import EmailIcon from '@mui/icons-material/Email'
|
||||
import LanguageIcon from '@mui/icons-material/Language';
|
||||
import HomeIcon from '@mui/icons-material/Home'
|
||||
import { Button, Form, FormGroup, Label } from "reactstrap";
|
||||
import PasswordIcon from '@mui/icons-material/Password'
|
||||
import Visibility from '@mui/icons-material/Visibility';
|
||||
import VisibilityOff from '@mui/icons-material/VisibilityOff';
|
||||
import IconButton from '@mui/material/IconButton';
|
||||
import OutlinedInput from '@mui/material/OutlinedInput';
|
||||
import { useHistory } from "react-router-dom";
|
||||
import TwitterIcon from '@mui/icons-material/Twitter';
|
||||
import FacebookIcon from '@mui/icons-material/Facebook';
|
||||
import LinkedInIcon from '@mui/icons-material/LinkedIn';
|
||||
import axios from "axios";
|
||||
import { ConsoleView } from "react-device-detect";
|
||||
import MenuItem from '@mui/material/MenuItem';
|
||||
|
||||
|
||||
|
||||
|
||||
const Partner_Securite_Data = (props) => {
|
||||
|
||||
const history = useHistory();
|
||||
|
||||
const [myApiResponse, setmyApiResponse] = useState("");
|
||||
const [result, setResult] = useState("");
|
||||
const [testval, settestval] = useState();
|
||||
const [fields1desabled, setfields1desabled] = useState(true);
|
||||
const [mailfieldsdesabled, setmailfieldsdesabled] = useState(true);
|
||||
const [pwdfieldsdesabled, setpwdfieldsdesabled] = useState(true);
|
||||
|
||||
const [values, setValues] = React.useState({
|
||||
password: '',
|
||||
showPassword: false,
|
||||
});
|
||||
|
||||
const [valuesPass1, setValuesPass1] = React.useState({
|
||||
password1: '',
|
||||
showPassword1: false,
|
||||
});
|
||||
|
||||
const [valuesPass2, setValuesPass2] = React.useState({
|
||||
password2: '',
|
||||
showPassword2: false,
|
||||
});
|
||||
|
||||
const [valuesPass3, setValuesPass3] = React.useState({
|
||||
password3: '',
|
||||
showPassword3: false,
|
||||
});
|
||||
|
||||
|
||||
|
||||
const [currentpawdvisible, setcurrentpawdvisible] = useState(false);
|
||||
const [newpawdvisible, setnewpawdvisible] = useState(false);
|
||||
const [confpwdvisible, setconfpwdvisible] = useState(false);
|
||||
const [updatemainmail, setupdatemainmail] = useState();
|
||||
const [updatepwd, setupdatepwd] = useState();
|
||||
|
||||
|
||||
function enablesecurtymailfields() {
|
||||
|
||||
|
||||
document.getElementsByName("current_email")[0].disabled = false;
|
||||
document.getElementsByName("current_email")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
|
||||
|
||||
document.getElementsByName("new_email")[0].disabled = false;
|
||||
document.getElementsByName("new_email")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
document.getElementsByName("conf_new_email")[0].disabled = false;
|
||||
document.getElementsByName("conf_new_email")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
|
||||
setmailfieldsdesabled(false);
|
||||
}
|
||||
|
||||
function desablesecurtymailfields() {
|
||||
document.getElementsByName("current_email")[0].disabled = true;
|
||||
document.getElementsByName("current_email")[0].style.backgroundColor = "#ECEFF1";
|
||||
document.getElementsByName("current_email")[0].value = "";
|
||||
|
||||
|
||||
document.getElementsByName("new_email")[0].disabled = true;
|
||||
document.getElementsByName("new_email")[0].style.backgroundColor = "#ECEFF1";
|
||||
document.getElementsByName("new_email")[0].value = "";
|
||||
|
||||
|
||||
document.getElementsByName("conf_new_email")[0].disabled = true;
|
||||
document.getElementsByName("conf_new_email")[0].style.backgroundColor = "#ECEFF1";
|
||||
document.getElementsByName("conf_new_email")[0].value = "";
|
||||
|
||||
|
||||
setmailfieldsdesabled(true);
|
||||
}
|
||||
|
||||
const handleMouseDownPassword = (event) => {
|
||||
event.preventDefault();
|
||||
};
|
||||
|
||||
// recuperation et gestion du token utilisateur
|
||||
const stored_user = getCookie('tokenmysypart');
|
||||
if (!stored_user || stored_user.length <= 0) {
|
||||
history.push("/PartnerLogin");
|
||||
}
|
||||
|
||||
const handleClickShowPassword_current_pwd = () => {
|
||||
var filtre2_value = document.getElementsByName("current_pwd")[0].value;
|
||||
|
||||
if (currentpawdvisible == false) {
|
||||
document.getElementsByName("current_pwd")[0].type = "text";
|
||||
setcurrentpawdvisible(true);
|
||||
}
|
||||
else if (currentpawdvisible == true) {
|
||||
document.getElementsByName("current_pwd")[0].type = "password";
|
||||
setcurrentpawdvisible(false);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
const handleClickShowPassword_new_pwd = () => {
|
||||
if (newpawdvisible == false) {
|
||||
document.getElementsByName("new_pwd")[0].type = "text";
|
||||
setnewpawdvisible(true);
|
||||
}
|
||||
else if (newpawdvisible == true) {
|
||||
document.getElementsByName("new_pwd")[0].type = "password";
|
||||
setnewpawdvisible(false);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
const handleClickShowPassword_new_pwd_conf = () => {
|
||||
if (confpwdvisible == false) {
|
||||
document.getElementsByName("new_pwd_conf")[0].type = "text";
|
||||
setconfpwdvisible(true);
|
||||
}
|
||||
else if (confpwdvisible == true) {
|
||||
document.getElementsByName("new_pwd_conf")[0].type = "password";
|
||||
setconfpwdvisible(false);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
function handleChange1(prop) {
|
||||
return (event) => {
|
||||
setValuesPass1({ ...valuesPass1, [prop]: event.target.value });
|
||||
};
|
||||
}
|
||||
|
||||
function handleChange2(prop) {
|
||||
return (event) => {
|
||||
setValuesPass2({ ...valuesPass2, [prop]: event.target.value });
|
||||
};
|
||||
}
|
||||
|
||||
function handleChange3(prop) {
|
||||
return (event) => {
|
||||
setValuesPass3({ ...valuesPass3, [prop]: event.target.value });
|
||||
};
|
||||
}
|
||||
|
||||
function UpdatePartnerPwd() {
|
||||
|
||||
//setupdatepwd(false);
|
||||
const url = process.env.REACT_APP_API_URL + "myclass/api/update_partner_pwd/";
|
||||
const formData = new FormData();
|
||||
formData.append('token', stored_user);
|
||||
|
||||
// Si le partenaire n'est pas connecté, il est renvoyé vers la page de connexion
|
||||
if (!stored_user || stored_user.length <= 0) {
|
||||
history.push("/PartnerLogin");
|
||||
}
|
||||
|
||||
var pwd = document.getElementsByName("current_pwd")[0].value;
|
||||
var new_pwd = document.getElementsByName("new_pwd")[0].value;
|
||||
var conf_new_pwd = document.getElementsByName("new_pwd_conf")[0].value;
|
||||
|
||||
|
||||
formData.append('pwd', pwd);
|
||||
formData.append('new_pwd', new_pwd);
|
||||
formData.append('conf_new_pwd', conf_new_pwd);
|
||||
|
||||
document.getElementsByName("identique")[0].style.backgroundColor = "white";
|
||||
if (new_pwd !== conf_new_pwd) {
|
||||
document.getElementsByName("identique")[0].style.backgroundColor = "red";
|
||||
return;
|
||||
}
|
||||
|
||||
document.getElementsByName("caractere")[0].style.backgroundColor = "white";
|
||||
if (String(new_pwd).length < 8) {
|
||||
document.getElementsByName("caractere")[0].style.backgroundColor = "red";
|
||||
return
|
||||
}
|
||||
|
||||
var regex = /\d/g;
|
||||
document.getElementsByName("nombre")[0].style.backgroundColor = "white";
|
||||
if (!regex.test(new_pwd)) {
|
||||
document.getElementsByName("nombre")[0].style.backgroundColor = "red";
|
||||
return
|
||||
}
|
||||
|
||||
const specialChars = /[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/;
|
||||
document.getElementsByName("special")[0].style.backgroundColor = "white";
|
||||
if (!specialChars.test(new_pwd)) {
|
||||
document.getElementsByName("special")[0].style.backgroundColor = "red";
|
||||
return
|
||||
}
|
||||
|
||||
fetch(
|
||||
url,
|
||||
{
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
}
|
||||
)
|
||||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
//console.log('Success:', result['message'], "result['status'] = ", result['status']);
|
||||
setmyApiResponse(result['status']);
|
||||
setResult(result['message']);
|
||||
if (String(result['status']) == String("true")) {
|
||||
setupdatepwd(true);
|
||||
}
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Error:', error);
|
||||
setmyApiResponse("false");
|
||||
setupdatepwd(false);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function UpdatePartnerMail() {
|
||||
|
||||
setupdatemainmail(false);
|
||||
const url = process.env.REACT_APP_API_URL + "myclass/api/update_partner_main_mail/";
|
||||
const formData = new FormData();
|
||||
formData.append('token', stored_user);
|
||||
|
||||
// Si le partenaire n'est pas connecté, il est renvoyé vers la page de connexion
|
||||
if (!stored_user || stored_user.length <= 0) {
|
||||
history.push("/PartnerLogin");
|
||||
}
|
||||
|
||||
var mail = document.getElementsByName("current_email")[0].value;
|
||||
var new_mail = document.getElementsByName("new_email")[0].value;
|
||||
var conf_new_mail = document.getElementsByName("conf_new_email")[0].value;
|
||||
|
||||
|
||||
formData.append('mail', mail);
|
||||
formData.append('new_mail', new_mail);
|
||||
formData.append('conf_new_mail', conf_new_mail);
|
||||
|
||||
|
||||
fetch(
|
||||
url,
|
||||
{
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
}
|
||||
)
|
||||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
//console.log('Success:', result['message'], "result['status'] = ", result['status']);
|
||||
setmyApiResponse(result['status']);
|
||||
setResult(result['message']);
|
||||
if (String(result['status']) == String("true")) {
|
||||
setupdatemainmail(true);
|
||||
}
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Error:', error);
|
||||
setmyApiResponse("false");
|
||||
setupdatemainmail(false);
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function desablesecurtypwdfields() {
|
||||
document.getElementsByName("current_pwd")[0].disabled = true;
|
||||
document.getElementsByName("current_pwd")[0].style.backgroundColor = "#ECEFF1";
|
||||
document.getElementsByName("current_pwd")[0].value = "";
|
||||
|
||||
document.getElementsByName("new_pwd")[0].disabled = true;
|
||||
document.getElementsByName("new_pwd")[0].style.backgroundColor = "#ECEFF1";
|
||||
document.getElementsByName("new_pwd")[0].value = "";
|
||||
|
||||
document.getElementsByName("new_pwd_conf")[0].disabled = true;
|
||||
document.getElementsByName("new_pwd_conf")[0].style.backgroundColor = "#ECEFF1";
|
||||
document.getElementsByName("new_pwd_conf")[0].value = "";
|
||||
|
||||
|
||||
setpwdfieldsdesabled(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function enablesecurtypwdfields() {
|
||||
|
||||
document.getElementsByName("current_pwd")[0].disabled = false;
|
||||
document.getElementsByName("current_pwd")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
document.getElementsByName("new_pwd")[0].disabled = false;
|
||||
document.getElementsByName("new_pwd")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
document.getElementsByName("new_pwd_conf")[0].disabled = false;
|
||||
document.getElementsByName("new_pwd_conf")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
setpwdfieldsdesabled(false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function enablesecurtypwdfields() {
|
||||
|
||||
document.getElementsByName("current_pwd")[0].disabled = false;
|
||||
document.getElementsByName("current_pwd")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
document.getElementsByName("new_pwd")[0].disabled = false;
|
||||
document.getElementsByName("new_pwd")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
document.getElementsByName("new_pwd_conf")[0].disabled = false;
|
||||
document.getElementsByName("new_pwd_conf")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
setpwdfieldsdesabled(false);
|
||||
}
|
||||
|
||||
const [valuesconf_new_insert_key, setvaluesconf_new_insert_key] = React.useState({
|
||||
password_insertconf_new_key: '',
|
||||
showpassword_insertconf_new_key: false,
|
||||
});
|
||||
|
||||
const [conf_new_insert_key_visible, setconf_new_insert_key_visible] = useState(false);
|
||||
|
||||
function handleChangeconf_new_insert_key(prop) {
|
||||
return (event) => {
|
||||
setvaluesconf_new_insert_key({ ...conf_new_insert_key_visible, [prop]: event.target.value });
|
||||
};
|
||||
}
|
||||
|
||||
function desablesecurtyInsertKeyfields() {
|
||||
|
||||
setinsert_key_updated();
|
||||
document.getElementsByName("current_insert_key")[0].disabled = true;
|
||||
document.getElementsByName("current_insert_key")[0].style.backgroundColor = "#ECEFF1";
|
||||
document.getElementsByName("current_insert_key")[0].value = "";
|
||||
|
||||
document.getElementsByName("new_insert_key")[0].disabled = true;
|
||||
document.getElementsByName("new_insert_key")[0].style.backgroundColor = "#ECEFF1";
|
||||
document.getElementsByName("new_insert_key")[0].value = "";
|
||||
|
||||
document.getElementsByName("conf_new_insert_key")[0].disabled = true;
|
||||
document.getElementsByName("conf_new_insert_key")[0].style.backgroundColor = "#ECEFF1";
|
||||
document.getElementsByName("conf_new_insert_key")[0].value = "";
|
||||
|
||||
|
||||
setinsert_keyfieldsdesabled(true);
|
||||
}
|
||||
|
||||
|
||||
function UpdatePartnerInsertKey() {
|
||||
|
||||
setinsert_key_updated();
|
||||
const url = process.env.REACT_APP_API_URL + "myclass/api/update_partner_insert_key/";
|
||||
const formData = new FormData();
|
||||
formData.append('token', stored_user);
|
||||
|
||||
// Si le partenaire n'est pas connecté, il est renvoyé vers la page de connexion
|
||||
if (!stored_user || stored_user.length <= 0) {
|
||||
history.push("/PartnerLogin");
|
||||
}
|
||||
|
||||
var current_key = document.getElementsByName("current_insert_key")[0].value;
|
||||
var new_key = document.getElementsByName("new_insert_key")[0].value;
|
||||
var conf_new_key = document.getElementsByName("conf_new_insert_key")[0].value;
|
||||
|
||||
|
||||
|
||||
document.getElementsByName("identique_insert_key")[0].style.backgroundColor = "white";
|
||||
if (new_key !== conf_new_key) {
|
||||
document.getElementsByName("identique_insert_key")[0].style.backgroundColor = "red";
|
||||
return;
|
||||
}
|
||||
|
||||
document.getElementsByName("caractere_insert_key")[0].style.backgroundColor = "white";
|
||||
if (String(new_key).length < 8) {
|
||||
document.getElementsByName("caractere_insert_key")[0].style.backgroundColor = "red";
|
||||
return
|
||||
}
|
||||
|
||||
var regex = /\d/g;
|
||||
document.getElementsByName("nombre_insert_key")[0].style.backgroundColor = "white";
|
||||
if (!regex.test(new_key)) {
|
||||
document.getElementsByName("nombre_insert_key")[0].style.backgroundColor = "red";
|
||||
return
|
||||
}
|
||||
|
||||
const specialChars = /[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/;
|
||||
document.getElementsByName("special_insert_key")[0].style.backgroundColor = "white";
|
||||
if (!specialChars.test(new_key)) {
|
||||
document.getElementsByName("special_insert_key")[0].style.backgroundColor = "red";
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
formData.append('current_insert_key', current_key);
|
||||
formData.append('new_insert_key', new_key);
|
||||
formData.append('conf_insert_key', conf_new_key);
|
||||
|
||||
|
||||
|
||||
fetch(
|
||||
url,
|
||||
{
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
}
|
||||
)
|
||||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
//console.log('Success:', result['message'], "result['status'] = ", result['status']);
|
||||
setinsert_key_api(result['status']);
|
||||
setinsert_key_api_message(result['message']);
|
||||
if (String(result['status']) === String("true")) {
|
||||
desablesecurtyInsertKeyfields();
|
||||
document.getElementsByName("current_insert_key")[0].value = new_key;
|
||||
setinsert_key_updated(true);
|
||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + result['message']);
|
||||
history.push("/Connexion");
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Error:', error);
|
||||
setinsert_key_api("false");
|
||||
setinsert_key_updated(false);
|
||||
});
|
||||
}
|
||||
|
||||
function enablesecurtyInsertKeyfields() {
|
||||
|
||||
setinsert_key_updated();
|
||||
document.getElementsByName("current_insert_key")[0].disabled = false;
|
||||
document.getElementsByName("current_insert_key")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
|
||||
document.getElementsByName("new_insert_key")[0].disabled = false;
|
||||
document.getElementsByName("new_insert_key")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
document.getElementsByName("conf_new_insert_key")[0].disabled = false;
|
||||
document.getElementsByName("conf_new_insert_key")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
||||
setinsert_keyfieldsdesabled(false);
|
||||
}
|
||||
|
||||
const handleClickconf_new_insert_key = () => {
|
||||
if (conf_new_insert_key_visible == false) {
|
||||
document.getElementsByName("conf_new_insert_key")[0].type = "text";
|
||||
setconf_new_insert_key_visible(true);
|
||||
}
|
||||
else if (conf_new_insert_key_visible == true) {
|
||||
document.getElementsByName("conf_new_insert_key")[0].type = "password";
|
||||
setconf_new_insert_key_visible(false);
|
||||
}
|
||||
};
|
||||
|
||||
const [insert_key_api, setinsert_key_api] = useState("");
|
||||
const [insert_key_api_message, setinsert_key_api_message] = useState("");
|
||||
const [insert_key_updated, setinsert_key_updated] = useState();
|
||||
|
||||
const [insert_keyfieldsdesabled, setinsert_keyfieldsdesabled] = useState(true);
|
||||
|
||||
// Gestion champs caché : Current_Insertion_Key
|
||||
const [values_current_insert_key, setvalues_current_insert_key] = React.useState({
|
||||
current_insert_key: '',
|
||||
showCurrent_insert_key: false,
|
||||
});
|
||||
|
||||
|
||||
const [valuescurrent_insert_key, setvaluescurrent_insert_key] = React.useState({
|
||||
password_insert_current_key: '',
|
||||
showpassword_insert_current_key: false,
|
||||
});
|
||||
|
||||
const [current_insert_key_visible, setcurrent_insert_key_visible] = useState(false);
|
||||
|
||||
function handleChange_current_insert_key(prop) {
|
||||
return (event) => {
|
||||
setvaluescurrent_insert_key({ ...current_insert_key_visible, [prop]: event.target.value });
|
||||
};
|
||||
}
|
||||
|
||||
const handleClickcurrent_insert_key = () => {
|
||||
if (current_insert_key_visible == false) {
|
||||
document.getElementsByName("current_insert_key")[0].type = "text";
|
||||
setcurrent_insert_key_visible(true);
|
||||
}
|
||||
else if (current_insert_key_visible == true) {
|
||||
document.getElementsByName("current_insert_key")[0].type = "password";
|
||||
setcurrent_insert_key_visible(false);
|
||||
}
|
||||
};
|
||||
// FIN Gestion champs caché : Current_Insertion_Key
|
||||
|
||||
// Gestion champs caché : new_Insertion_Key
|
||||
const [values_new_insert_key, setvalues_new_insert_key] = React.useState({
|
||||
new_insert_key: '',
|
||||
shownew_insert_key: false,
|
||||
});
|
||||
|
||||
|
||||
const [valuesnew_insert_key, setvaluesnew_insert_key] = React.useState({
|
||||
password_insert_new_key: '',
|
||||
showpassword_insert_new_key: false,
|
||||
});
|
||||
|
||||
const [new_insert_key_visible, setnew_insert_key_visible] = useState(false);
|
||||
|
||||
function handleChange_new_insert_key(prop) {
|
||||
return (event) => {
|
||||
setvaluesnew_insert_key({ ...new_insert_key_visible, [prop]: event.target.value });
|
||||
};
|
||||
}
|
||||
|
||||
const handleClicknew_insert_key = () => {
|
||||
if (new_insert_key_visible == false) {
|
||||
document.getElementsByName("new_insert_key")[0].type = "text";
|
||||
setnew_insert_key_visible(true);
|
||||
}
|
||||
else if (new_insert_key_visible == true) {
|
||||
document.getElementsByName("new_insert_key")[0].type = "password";
|
||||
setnew_insert_key_visible(false);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
desablesecurtymailfields();
|
||||
desablesecurtypwdfields();
|
||||
desablesecurtyInsertKeyfields();
|
||||
|
||||
}, [])
|
||||
|
||||
|
||||
return (
|
||||
|
||||
<div className="partner_client">
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
|
||||
<div className="div_row_gauche">
|
||||
<div className="titre1"> Mot de passe </div>
|
||||
{updatepwd == false && <div className="koUpdateData">
|
||||
Erreur mise à jour.
|
||||
</div>
|
||||
}
|
||||
|
||||
{updatepwd == true && <div className="okUpdateData">
|
||||
La mise à jour été faite
|
||||
</div>
|
||||
}
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 } }}>
|
||||
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<Label>Mot de passe actuel</Label>
|
||||
<InputLabel htmlFor="outlined-adornment-password"></InputLabel>
|
||||
<OutlinedInput
|
||||
id="current_pwd"
|
||||
name="current_pwd"
|
||||
type={values.showPassword1 ? 'text' : 'password'}
|
||||
value={values.password1}
|
||||
onChange={handleChange1('password1')}
|
||||
endAdornment={
|
||||
<InputAdornment position="end">
|
||||
<IconButton
|
||||
aria-label="toggle password visibility"
|
||||
onClick={handleClickShowPassword_current_pwd}
|
||||
edge="end"
|
||||
>
|
||||
{currentpawdvisible ? <Visibility /> : <VisibilityOff />}
|
||||
</IconButton>
|
||||
</InputAdornment>
|
||||
}
|
||||
|
||||
/>
|
||||
</FormControl>
|
||||
|
||||
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<Label>Nouveau mot de passe</Label>
|
||||
<InputLabel htmlFor="outlined-adornment-password2"></InputLabel>
|
||||
<OutlinedInput
|
||||
id="new_pwd"
|
||||
name="new_pwd"
|
||||
type={values.showPassword ? 'text' : 'password'}
|
||||
value={values.password2}
|
||||
onChange={handleChange2('password2')}
|
||||
endAdornment={
|
||||
<InputAdornment position="end">
|
||||
<IconButton
|
||||
aria-label="toggle password visibility"
|
||||
onClick={handleClickShowPassword_new_pwd}
|
||||
edge="end"
|
||||
>
|
||||
{newpawdvisible ? <Visibility /> : <VisibilityOff />}
|
||||
</IconButton>
|
||||
</InputAdornment>
|
||||
}
|
||||
|
||||
/>
|
||||
</FormControl>
|
||||
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<Label>Confirmation du nouveau mot de passe</Label>
|
||||
<InputLabel htmlFor="outlined-adornment-password"></InputLabel>
|
||||
<OutlinedInput
|
||||
id="new_pwd_conf"
|
||||
name="new_pwd_conf"
|
||||
type={values.showPassword ? 'text' : 'password'}
|
||||
value={values.password3}
|
||||
onChange={handleChange3('password3')}
|
||||
endAdornment={
|
||||
<InputAdornment position="end">
|
||||
<IconButton
|
||||
aria-label="toggle password visibility"
|
||||
onClick={handleClickShowPassword_new_pwd_conf}
|
||||
onMouseDown={handleMouseDownPassword}
|
||||
edge="end"
|
||||
>
|
||||
{confpwdvisible ? <Visibility /> : <VisibilityOff />}
|
||||
</IconButton>
|
||||
</InputAdornment>
|
||||
}
|
||||
|
||||
/>
|
||||
</FormControl>
|
||||
<div className="text_pwd_crit">
|
||||
Créez un mot de passe contenant au moins :
|
||||
<ul>
|
||||
<li name="caractere">
|
||||
8 caractères
|
||||
</li>
|
||||
<li name="nombre">
|
||||
1 nombre
|
||||
</li>
|
||||
<li name="special">
|
||||
1 caractère spécial p. ex., $, !, @, %, &
|
||||
</li>
|
||||
|
||||
<li name="identique">
|
||||
Identiques
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div className="div_row22" style={{ "textAlign": "left" }}>
|
||||
|
||||
{pwdfieldsdesabled == false && <div className="div_row" style={{ "textAlign": "left" }} >
|
||||
<div className="div_row_gauche">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={UpdatePartnerPwd}>Enregistrer</Button>
|
||||
</div>
|
||||
<div className="div_row_droite">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif " onClick={desablesecurtypwdfields}>Annuler</Button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
{pwdfieldsdesabled == true &&
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif" onClick={enablesecurtypwdfields}>Editer</Button>
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
</Box>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="div_row_droite">
|
||||
<div className="titre1"> Emails contact </div>
|
||||
{updatemainmail === false && <div className="koUpdateData">
|
||||
Erreur mise à jour.
|
||||
</div>
|
||||
}
|
||||
|
||||
{updatemainmail === true && <div className="okUpdateData">
|
||||
La mise à jour été faite
|
||||
</div>
|
||||
}
|
||||
|
||||
<TextField
|
||||
name="current_email"
|
||||
label="Adresse mail"
|
||||
sx={{ m: 1, width: '90%' }}
|
||||
InputProps={{
|
||||
startAdornment: (
|
||||
<InputAdornment position="start">
|
||||
<EmailIcon />
|
||||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
/>
|
||||
<br />
|
||||
<TextField
|
||||
name="new_email"
|
||||
label="Nouvelle Adresse mail"
|
||||
sx={{ m: 1, width: '90%' }}
|
||||
InputProps={{
|
||||
startAdornment: (
|
||||
<InputAdornment position="start">
|
||||
<EmailIcon />
|
||||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
/>
|
||||
<br />
|
||||
<TextField
|
||||
name="conf_new_email"
|
||||
label="Confirmation mail"
|
||||
sx={{ m: 1, width: '90%' }}
|
||||
InputProps={{
|
||||
startAdornment: (
|
||||
<InputAdornment position="start">
|
||||
<EmailIcon />
|
||||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
/>
|
||||
<div className="text_pwd_crit">
|
||||
|
||||
<ul style={{ "listStyleType": "none" }}>
|
||||
<li>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{mailfieldsdesabled == false && <div className="div_row" >
|
||||
<div className="div_row_gauche" >
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " style={{ "marginTop": "0px" }} onClick={UpdatePartnerMail}>Enregistrer</Button>
|
||||
</div>
|
||||
<div className="div_row_droite">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif" style={{ "marginTop": "0px" }} onClick={desablesecurtymailfields}>Annuler</Button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
{mailfieldsdesabled == true && <div className="div_row22" style={{ "textAlign": "right" }}>
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif" style={{ "marginTop": "0px", }} onClick={enablesecurtymailfields}>Editer</Button>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
|
||||
<div style={{ "width": "100%", "float": "left", "marginBottom": "2rem" }}>
|
||||
<div style={{ "width": "48%", "float": "left" }}>
|
||||
<div className="titre1"> Clé de rattachement </div>
|
||||
{insert_key_updated === false && <div className="koUpdateData">
|
||||
Erreur mise à jour {setinsert_key_api_message}
|
||||
</div>
|
||||
}
|
||||
|
||||
{insert_key_updated === true && <div className="okUpdateData">
|
||||
La clé a été correctement mise à jour
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 } }} >
|
||||
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<Label>Clé de rattachement actuelle</Label>
|
||||
<InputLabel htmlFor="outlined-adornment-password"></InputLabel>
|
||||
<OutlinedInput
|
||||
id="current_insert_key"
|
||||
name="current_insert_key"
|
||||
type={values.current_insert_key ? 'text' : 'password'}
|
||||
value={values.current_insert_key}
|
||||
onChange={handleChange_current_insert_key('current_insert_key')}
|
||||
endAdornment={
|
||||
<InputAdornment position="end">
|
||||
<IconButton
|
||||
aria-label="toggle password visibility"
|
||||
onClick={handleClickcurrent_insert_key}
|
||||
edge="end"
|
||||
>
|
||||
{current_insert_key_visible ? <Visibility /> : <VisibilityOff />}
|
||||
</IconButton>
|
||||
</InputAdornment>
|
||||
}
|
||||
|
||||
/>
|
||||
</FormControl>
|
||||
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<Label>Nouvelle clé de rattachement</Label>
|
||||
<InputLabel htmlFor="outlined-adornment-password"></InputLabel>
|
||||
<OutlinedInput
|
||||
id="new_insert_key"
|
||||
name="new_insert_key"
|
||||
type={values.new_insert_key ? 'text' : 'password'}
|
||||
value={values.new_insert_key}
|
||||
onChange={handleChange_new_insert_key('current_insert_key')}
|
||||
endAdornment={
|
||||
<InputAdornment position="end">
|
||||
<IconButton
|
||||
aria-label="toggle password visibility"
|
||||
onClick={handleClicknew_insert_key}
|
||||
edge="end"
|
||||
>
|
||||
{new_insert_key_visible ? <Visibility /> : <VisibilityOff />}
|
||||
</IconButton>
|
||||
</InputAdornment>
|
||||
}
|
||||
|
||||
/>
|
||||
</FormControl>
|
||||
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<Label>Confirmation nouvelle clé de rattachement</Label>
|
||||
<InputLabel htmlFor="outlined-adornment-password"></InputLabel>
|
||||
<OutlinedInput
|
||||
id="conf_new_insert_key"
|
||||
name="conf_new_insert_key"
|
||||
type={values.new_insert_key ? 'text' : 'password'}
|
||||
value={values.new_insert_key}
|
||||
onChange={handleChangeconf_new_insert_key('conf_current_insert_key')}
|
||||
endAdornment={
|
||||
<InputAdornment position="end">
|
||||
<IconButton
|
||||
aria-label="toggle password visibility"
|
||||
onClick={handleClickconf_new_insert_key}
|
||||
edge="end"
|
||||
>
|
||||
{conf_new_insert_key_visible ? <Visibility /> : <VisibilityOff />}
|
||||
</IconButton>
|
||||
</InputAdornment>
|
||||
}
|
||||
|
||||
/>
|
||||
</FormControl>
|
||||
<div className="text_pwd_crit">
|
||||
Créez un mot de passe contenant au moins :
|
||||
<ul>
|
||||
<li name="caractere_insert_key">
|
||||
8 caractères
|
||||
</li>
|
||||
<li name="nombre_insert_key">
|
||||
1 nombre
|
||||
</li>
|
||||
<li name="special_insert_key">
|
||||
1 caractère spécial p. ex., $, !, @, %, &
|
||||
</li>
|
||||
|
||||
<li name="identique_insert_key">
|
||||
Identiques
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div className="div_row22">
|
||||
|
||||
|
||||
{insert_keyfieldsdesabled == false && <div className="div_row">
|
||||
|
||||
<div className="div_row_gauche">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={UpdatePartnerInsertKey}>Enregistrer</Button>
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif " onClick={desablesecurtyInsertKeyfields}>Annuler</Button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
{insert_keyfieldsdesabled == true &&
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif" onClick={enablesecurtyInsertKeyfields}>Editer</Button>
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
</Box>
|
||||
</div>
|
||||
<div style={{ "width": "48%", "float": "right" }}>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
export default Partner_Securite_Data;
|
|
@ -25,6 +25,9 @@ import axios from "axios";
|
|||
import { ConsoleView } from "react-device-detect";
|
||||
import MenuItem from '@mui/material/MenuItem';
|
||||
|
||||
import Partner_Securite_Data from "./Partner_Securite_Data";
|
||||
|
||||
|
||||
function UpdateParnterInfo() {
|
||||
const history = useHistory();
|
||||
const [myApiResponse, setmyApiResponse] = useState("");
|
||||
|
@ -81,9 +84,9 @@ function UpdateParnterInfo() {
|
|||
|
||||
useEffect(() => {
|
||||
getCurrentUserData();
|
||||
desablesecurtymailfields();
|
||||
desablesecurtypwdfields();
|
||||
desablesecurtyInsertKeyfields();
|
||||
//desablesecurtymailfields();
|
||||
//desablesecurtypwdfields();
|
||||
//desablesecurtyInsertKeyfields();
|
||||
getPartnerImages();
|
||||
}, [])
|
||||
|
||||
|
@ -619,7 +622,7 @@ function UpdateParnterInfo() {
|
|||
}
|
||||
|
||||
|
||||
function desablesecurtymailfields() {
|
||||
function desablesecurtymailfields() {/*
|
||||
document.getElementsByName("current_email")[0].disabled = true;
|
||||
document.getElementsByName("current_email")[0].style.backgroundColor = "#ECEFF1";
|
||||
document.getElementsByName("current_email")[0].value = "";
|
||||
|
@ -635,7 +638,7 @@ function UpdateParnterInfo() {
|
|||
document.getElementsByName("conf_new_email")[0].value = "";
|
||||
|
||||
|
||||
setmailfieldsdesabled(true);
|
||||
setmailfieldsdesabled(true);*/
|
||||
}
|
||||
|
||||
|
||||
|
@ -661,7 +664,7 @@ function UpdateParnterInfo() {
|
|||
|
||||
|
||||
function desablesecurtypwdfields() {
|
||||
document.getElementsByName("current_pwd")[0].disabled = true;
|
||||
/* document.getElementsByName("current_pwd")[0].disabled = true;
|
||||
document.getElementsByName("current_pwd")[0].style.backgroundColor = "#ECEFF1";
|
||||
document.getElementsByName("current_pwd")[0].value = "";
|
||||
|
||||
|
@ -674,7 +677,7 @@ function UpdateParnterInfo() {
|
|||
document.getElementsByName("new_pwd_conf")[0].value = "";
|
||||
|
||||
|
||||
setpwdfieldsdesabled(true);
|
||||
setpwdfieldsdesabled(true);*/
|
||||
}
|
||||
|
||||
|
||||
|
@ -773,11 +776,15 @@ function UpdateParnterInfo() {
|
|||
|
||||
|
||||
// Recuperation de l'image logo & de l'image du cachet
|
||||
if (String(userimgclassprofilchanged) === "1") {
|
||||
formData.append('file_logo', isimgclassSelected);
|
||||
formData.append('file_logo_recid', isimgclassSelected_recid);
|
||||
}
|
||||
|
||||
if (String(isimgcachetchanged) === "1") {
|
||||
formData.append('file_cachet', isimgcachetSelected);
|
||||
formData.append('file_cachet_recid', isimgcachetSelected_recid);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -794,11 +801,14 @@ function UpdateParnterInfo() {
|
|||
//console.log('Success:', result['message'], "result['status'] = ", result['status']);
|
||||
setmyApiResponse(result['status']);
|
||||
setResult(result['message']);
|
||||
if (String(result['status']) == String("true")) {
|
||||
if (String(result['status']) === String("true")) {
|
||||
settestval(true);
|
||||
desablefield1();
|
||||
setdatamodification();
|
||||
|
||||
getPartnerImages();
|
||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + result['message']);
|
||||
history.push("/Connexion");
|
||||
}
|
||||
|
||||
})
|
||||
|
@ -838,15 +848,19 @@ function UpdateParnterInfo() {
|
|||
if (String(res.data.status) === "true") {
|
||||
setgetPartnerImages_api("true");
|
||||
|
||||
if (JSON.parse(res.data.message).logo_img) {
|
||||
var partner_logo_img = "data:image/png;base64," + JSON.parse(res.data.message).logo_img;
|
||||
setisimgclassSelected(partner_logo_img);
|
||||
setuserimgclassprofil(partner_logo_img);
|
||||
setisimgclassSelected_recid(JSON.parse(res.data.message).logo_img_recid);
|
||||
}
|
||||
|
||||
if (JSON.parse(res.data.message).cachet_img) {
|
||||
var partner_cachet_img = "data:image/png;base64," + JSON.parse(res.data.message).cachet_img;
|
||||
setisimgcachet(partner_cachet_img);
|
||||
setisimgcachetSelected(partner_cachet_img);
|
||||
setisimgcachetSelected_recid(JSON.parse(res.data.message).cachet_img_recid);
|
||||
}
|
||||
|
||||
}
|
||||
else if (String(res.data.status) === String("Err_Connexion")) {
|
||||
|
@ -1269,6 +1283,110 @@ function UpdateParnterInfo() {
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function removeRecodedLogoImage() {
|
||||
if (!isimgclassSelected_recid || String(isimgclassSelected_recid).length < 3) {
|
||||
alert(" Image incorrecte. Impossible de la supprimer ");
|
||||
return;
|
||||
}
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("image_recid", isimgclassSelected_recid);
|
||||
|
||||
fetch(
|
||||
process.env.REACT_APP_API_URL + "myclass/api/DeleteClassImage_v2/",
|
||||
{
|
||||
method: 'POST',
|
||||
body: form,
|
||||
}
|
||||
).then((response) => response.json())
|
||||
.then((result) => {
|
||||
|
||||
console.log(' removeRecodedClassImage : status:', result['status']);
|
||||
console.log('removeRecodedClassImage : Success:', result['message']);
|
||||
|
||||
|
||||
if (String(result['status']) === String("true")) {
|
||||
setisimgclassSelected("");
|
||||
setisimgclassSelected_recid("");
|
||||
setisimgclassSelectedfile("");
|
||||
setuserimgclassprofil("");
|
||||
getPartnerImages();
|
||||
|
||||
}
|
||||
else if (String(result['status']) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + result['message']);
|
||||
history.push("/Connexion");
|
||||
return;
|
||||
}
|
||||
|
||||
else {
|
||||
alert(result['message']);
|
||||
}
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Error:', error);
|
||||
alert(" Impossible de supprimer l'image ");
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function removeRecodedCachetImage() {
|
||||
if (!isimgcachetSelected_recid || String(isimgcachetSelected_recid).length < 3) {
|
||||
alert(" Image incorrecte. Impossible de la supprimer ");
|
||||
return;
|
||||
}
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("image_recid", isimgcachetSelected_recid);
|
||||
|
||||
fetch(
|
||||
process.env.REACT_APP_API_URL + "myclass/api/DeleteClassImage_v2/",
|
||||
{
|
||||
method: 'POST',
|
||||
body: form,
|
||||
}
|
||||
).then((response) => response.json())
|
||||
.then((result) => {
|
||||
|
||||
|
||||
if (String(result['status']) === String("true")) {
|
||||
console.log(' removeRecodedClassImage : status:', result['status']);
|
||||
console.log('removeRecodedClassImage : Success:', result['message']);
|
||||
setisimgcachetSelected("");
|
||||
setisimgcachetSelected_recid("");
|
||||
setisimgcachetSelectedfile("");
|
||||
setisimgcachet("");
|
||||
getPartnerImages();
|
||||
|
||||
}
|
||||
else if (String(result['status']) === String("Err_Connexion")) {
|
||||
alert('Erreur: ' + result['message']);
|
||||
history.push("/Connexion");
|
||||
return;
|
||||
}
|
||||
|
||||
else {
|
||||
alert(result['message']);
|
||||
}
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Error:', error);
|
||||
alert(" Impossible de supprimer l'image ");
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
const [isimgclassSaved, setisimgclassSaved] = useState("");
|
||||
const [isimgclassSaved_message, setisimgclassSaved_message] = useState("");
|
||||
function sendClassImage(e) {
|
||||
|
@ -1390,9 +1508,51 @@ function UpdateParnterInfo() {
|
|||
const [isimgcachetSaved, setisimgcachetSaved] = useState("");
|
||||
const [isimgcachetSaved_message, setisimgcachetSaved_message] = useState("");
|
||||
|
||||
const [submenu, setsubmenu] = useState("submenu_donnee_entreprise");
|
||||
|
||||
async function submenu_donnee_entreprise() {
|
||||
setsubmenu("submenu_donnee_entreprise");
|
||||
}
|
||||
|
||||
async function submenu_donnee_facturation() {
|
||||
setsubmenu("submenu_donnee_facturation");
|
||||
}
|
||||
|
||||
async function submenu_donnee_securite() {
|
||||
setsubmenu("submenu_donnee_securite");
|
||||
}
|
||||
|
||||
async function submenu_contact() {
|
||||
setsubmenu("submenu_contact");
|
||||
}
|
||||
|
||||
|
||||
return (
|
||||
<div className='updateparnterinfo'>
|
||||
|
||||
<div className="div_row">
|
||||
<Button variant="outlined" onClick={submenu_donnee_entreprise} className="detail_submenu" id='submenu_donnee_entreprise' name='submenu_donnee_entreprise'>Données entreprises</Button>
|
||||
<Button variant="outlined" onClick={submenu_donnee_facturation} className="detail_submenu" id='submenu_donnee_facturation' name='submenu_donnee_facturation'>Données Facuturation</Button>
|
||||
<Button variant="outlined" onClick={submenu_donnee_securite} className="detail_submenu" id='submenu_donnee_securite' name='submenu_donnee_securite'>Securité</Button>
|
||||
<Button variant="outlined" onClick={submenu_contact} className="detail_submenu" id='submenu_contact' name='submenu_contact'>Contact & Adresses</Button>
|
||||
</div>
|
||||
|
||||
{String(submenu).trim() === "submenu_donnee_securite" && <div className="training_data">
|
||||
|
||||
<Partner_Securite_Data />
|
||||
</div>}
|
||||
|
||||
{String(submenu).trim() === "submenu_donnee_facturation" && <div className="training_data">
|
||||
|
||||
</div>}
|
||||
|
||||
{String(submenu).trim() === "submenu_contact" && <div className="training_data">
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
{String(submenu).trim() === "submenu_donnee_entreprise" && <div className="training_data">
|
||||
|
||||
<div className="titre1"> Données personnelles </div>
|
||||
|
||||
|
||||
|
@ -1422,7 +1582,7 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
<TextField
|
||||
|
@ -1437,7 +1597,7 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
|
||||
|
@ -1455,7 +1615,7 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
|
||||
|
@ -1471,7 +1631,7 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
<TextField
|
||||
|
@ -1486,12 +1646,9 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
|
||||
<br />
|
||||
|
||||
<TextField
|
||||
name="link_linkedin"
|
||||
label="LinkedIn"
|
||||
|
@ -1504,7 +1661,7 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
|
||||
|
@ -1520,7 +1677,7 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
|
||||
|
@ -1536,9 +1693,8 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
<br />
|
||||
<TextField
|
||||
name="adr_street"
|
||||
label="Adresse"
|
||||
|
@ -1551,9 +1707,9 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
<br />
|
||||
|
||||
<TextField
|
||||
name="adr_zip"
|
||||
label="Code Postal"
|
||||
|
@ -1566,7 +1722,7 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
<TextField
|
||||
|
@ -1581,9 +1737,9 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
<br />
|
||||
|
||||
<TextField
|
||||
name="adr_country"
|
||||
label="Pays"
|
||||
|
@ -1596,7 +1752,7 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
|
@ -1610,7 +1766,12 @@ function UpdateParnterInfo() {
|
|||
<div className="div_row_droite_image">
|
||||
<input type="file" id="files_img_class" accept="image/*" onChange={imglogoclasschangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br />
|
||||
{String(userformedited) === "1" && <nav> <label for="files_img_class" className="bton_image_class">Charger un logo</label><br />
|
||||
<nav className="bton_supprime_image_class" onClick={removeRecodedClassImage}>Supprimer le logo</nav><br /> </nav>}
|
||||
|
||||
{String(isimgclassSelected_recid) && String(isimgclassSelected_recid).length > 3 &&
|
||||
<nav className="bton_supprime_image_class" onClick={removeRecodedLogoImage}>Supprimer le logo<br /> </nav>
|
||||
}
|
||||
|
||||
</nav>}
|
||||
|
||||
{/*isimgclassSelected && <Button variant="outlined" onClick={sendClassImage} className="bton_image_class">Enregistrer image</Button>*/}
|
||||
{isimgclassdeleted && String(isimgclassdeleted) === "1" && <nav className="koUpdateData"> {isimgclassdeleted_message}</nav>}
|
||||
|
@ -1647,7 +1808,12 @@ function UpdateParnterInfo() {
|
|||
<div className="div_row_droite_image">
|
||||
<input type="file" id="files_img_cachet_class" accept="image/*" onChange={imgcachetchangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br />
|
||||
{String(userformedited) === "1" && <nav> <label for="files_img_cachet_class" className="bton_image_class">Charger un cachet</label><br />
|
||||
<nav className="bton_supprime_image_class" onClick={removeRecodedClassImage}>Supprimer le cachet </nav><br /> </nav>}
|
||||
|
||||
|
||||
{String(isimgcachetSelected_recid) && String(isimgcachetSelected_recid).length > 3 &&
|
||||
<nav className="bton_supprime_image_class" onClick={removeRecodedCachetImage}>Supprimer le cachet </nav>}
|
||||
|
||||
<br /> </nav>}
|
||||
{/*isimgclassSelected && <Button variant="outlined" onClick={sendClassImage} className="bton_image_class">Enregistrer image</Button>*/}
|
||||
{isimgcachetdeleted && String(isimgcachetdeleted) === "1" && <nav className="koUpdateData"> {isimgcachetdeleted_message}</nav>}
|
||||
{isimgcachetdeleted && String(isimgcachetdeleted) === "0" && <nav className="okUpdateData"> {isimgcachetdeleted_message}</nav>}
|
||||
|
@ -1676,7 +1842,11 @@ function UpdateParnterInfo() {
|
|||
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
<div className="titre1"> Certification </div>
|
||||
<div className="div_row">
|
||||
|
||||
|
||||
<TextField
|
||||
required
|
||||
name="num_nda"
|
||||
label="Numéro NDA"
|
||||
className="texte_area"
|
||||
|
@ -1688,10 +1858,37 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
{fields1desabled == true && String(mydatadock) !== "1" &&
|
||||
|
||||
<TextField
|
||||
name="isqualiopi"
|
||||
label="Qualiopi"
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
value="Non"
|
||||
|
||||
/>
|
||||
|
||||
}
|
||||
|
||||
{fields1desabled == true && String(mydatadock) === "1" &&
|
||||
|
||||
<TextField
|
||||
name="isqualiopi"
|
||||
label="Qualiopi"
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
value="Oui"
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
}
|
||||
|
||||
{fields1desabled !== true &&
|
||||
<TextField
|
||||
name="isqualiopi"
|
||||
label="Qualiopi"
|
||||
|
@ -1709,7 +1906,42 @@ function UpdateParnterInfo() {
|
|||
</MenuItem>
|
||||
))}
|
||||
</TextField>
|
||||
}
|
||||
</div>
|
||||
<div className="div_row">
|
||||
|
||||
|
||||
|
||||
|
||||
{fields1desabled == true && String(mydatadock) !== "1" &&
|
||||
|
||||
<TextField
|
||||
name="isdatadock"
|
||||
label="Datadock"
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
value="Non"
|
||||
|
||||
|
||||
/>
|
||||
|
||||
}
|
||||
|
||||
{fields1desabled == true && String(mydatadock) === "1" &&
|
||||
|
||||
<TextField
|
||||
name="isdatadock"
|
||||
label="Datadock"
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
value="Oui"
|
||||
|
||||
|
||||
/>
|
||||
|
||||
}
|
||||
|
||||
{fields1desabled !== true &&
|
||||
<TextField
|
||||
name="isdatadock"
|
||||
label="Datadock"
|
||||
|
@ -1720,55 +1952,48 @@ function UpdateParnterInfo() {
|
|||
value={mydatadock}
|
||||
|
||||
onChange={handleChangedatadock}
|
||||
variant="standard"
|
||||
|
||||
>{datadock.map((option) => (
|
||||
<MenuItem key={option.value} value={option.value}>
|
||||
{option.label} <br />
|
||||
</MenuItem>
|
||||
))}
|
||||
</TextField>
|
||||
}
|
||||
|
||||
{/*} <TextField
|
||||
name="iscertitrace"
|
||||
label="Certitrace"
|
||||
select
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
|
||||
value={mycertitrace}
|
||||
|
||||
onChange={handleChangecertitrace}
|
||||
variant="standard"
|
||||
|
||||
>{certitrace.map((option) => (
|
||||
<MenuItem key={option.value} value={option.value} >
|
||||
{option.label} <br />
|
||||
</MenuItem>
|
||||
))}
|
||||
</TextField>
|
||||
|
||||
<TextField
|
||||
name="isbureaucertitrace"
|
||||
label="Bureau Certitrace"
|
||||
select
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
|
||||
value={mybureaucertitrace}
|
||||
|
||||
onChange={handleChangebureaucertitrace}
|
||||
variant="standard"
|
||||
|
||||
>{bureaucertitrace.map((option) => (
|
||||
<MenuItem key={option.value} value={option.value} >
|
||||
{option.label} <br />
|
||||
</MenuItem>
|
||||
))}
|
||||
</TextField>*/}
|
||||
{fields1desabled == true && String(mycertifvoltaire) !== "1" &&
|
||||
|
||||
<TextField
|
||||
name="iscertifvoltaire"
|
||||
label="Certifcat Voltaire"
|
||||
label="Certificat Voltaire"
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
value="Non"
|
||||
|
||||
|
||||
/>
|
||||
|
||||
}
|
||||
|
||||
{fields1desabled == true && String(mycertifvoltaire) === "1" &&
|
||||
|
||||
<TextField
|
||||
name="iscertifvoltaire"
|
||||
label="Certificat Voltaire"
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
value="Oui"
|
||||
|
||||
|
||||
/>
|
||||
|
||||
}
|
||||
|
||||
|
||||
{fields1desabled !== true &&
|
||||
<TextField
|
||||
name="iscertifvoltaire"
|
||||
label="Certificat Voltaire"
|
||||
select
|
||||
className="texte_area"
|
||||
sx={{ m: 1, width: '48%' }}
|
||||
|
@ -1776,7 +2001,7 @@ function UpdateParnterInfo() {
|
|||
value={mycertifvoltaire}
|
||||
|
||||
onChange={handleChangecertifvoltaire}
|
||||
variant="standard"
|
||||
|
||||
|
||||
>{certifvoltaire.map((option) => (
|
||||
<MenuItem key={option.value} value={option.value} >
|
||||
|
@ -1784,12 +2009,8 @@ function UpdateParnterInfo() {
|
|||
</MenuItem>
|
||||
))}
|
||||
</TextField>
|
||||
|
||||
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
}
|
||||
</div>
|
||||
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
<div className="titre1"> Info Contact </div>
|
||||
|
@ -1806,7 +2027,7 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
|
||||
<TextField
|
||||
|
@ -1821,9 +2042,9 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
<br />
|
||||
|
||||
<TextField
|
||||
name="contact_tel"
|
||||
label="Tel Contact"
|
||||
|
@ -1836,7 +2057,7 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
|
||||
/>
|
||||
<TextField
|
||||
name="contact_mail"
|
||||
|
@ -1850,9 +2071,8 @@ function UpdateParnterInfo() {
|
|||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
variant="standard"
|
||||
/>
|
||||
|
||||
/>
|
||||
|
||||
{fields1desabled == false && String(datamodification) === String("1") && <div className="div_row">
|
||||
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div>
|
||||
|
@ -1876,7 +2096,7 @@ function UpdateParnterInfo() {
|
|||
</div>
|
||||
</Box>
|
||||
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
{/*<div style={{ "width": "10%" }}> </div>
|
||||
|
||||
<div className="div_row_gauche">
|
||||
<div className="titre1"> Mot de passe </div>
|
||||
|
@ -2003,8 +2223,6 @@ function UpdateParnterInfo() {
|
|||
</Box>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="div_row_droite">
|
||||
<div className="titre1"> Emails contact </div>
|
||||
{updatemainmail === false && <div className="koUpdateData">
|
||||
|
@ -2094,141 +2312,13 @@ function UpdateParnterInfo() {
|
|||
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "10%" }}> </div>
|
||||
|
||||
<div style={{ "width": "100%", "float": "left", "marginBottom": "2rem" }}>
|
||||
<div style={{ "width": "48%", "float": "left" }}>
|
||||
<div className="titre1"> Clé de rattachement </div>
|
||||
{insert_key_updated === false && <div className="koUpdateData">
|
||||
Erreur mise à jour {setinsert_key_api_message}
|
||||
</div>
|
||||
}
|
||||
|
||||
{insert_key_updated === true && <div className="okUpdateData">
|
||||
La clé a été correctement mise à jour
|
||||
</div>
|
||||
}
|
||||
<div style={{ "width": "10%" }}> </div>*/}
|
||||
|
||||
|
||||
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 } }} >
|
||||
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<Label>Clé de rattachement actuelle</Label>
|
||||
<InputLabel htmlFor="outlined-adornment-password"></InputLabel>
|
||||
<OutlinedInput
|
||||
id="current_insert_key"
|
||||
name="current_insert_key"
|
||||
type={values.current_insert_key ? 'text' : 'password'}
|
||||
value={values.current_insert_key}
|
||||
onChange={handleChange_current_insert_key('current_insert_key')}
|
||||
endAdornment={
|
||||
<InputAdornment position="end">
|
||||
<IconButton
|
||||
aria-label="toggle password visibility"
|
||||
onClick={handleClickcurrent_insert_key}
|
||||
edge="end"
|
||||
>
|
||||
{current_insert_key_visible ? <Visibility /> : <VisibilityOff />}
|
||||
</IconButton>
|
||||
</InputAdornment>
|
||||
}
|
||||
|
||||
/>
|
||||
</FormControl>
|
||||
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<Label>Nouvelle clé de rattachement</Label>
|
||||
<InputLabel htmlFor="outlined-adornment-password"></InputLabel>
|
||||
<OutlinedInput
|
||||
id="new_insert_key"
|
||||
name="new_insert_key"
|
||||
type={values.new_insert_key ? 'text' : 'password'}
|
||||
value={values.new_insert_key}
|
||||
onChange={handleChange_new_insert_key('current_insert_key')}
|
||||
endAdornment={
|
||||
<InputAdornment position="end">
|
||||
<IconButton
|
||||
aria-label="toggle password visibility"
|
||||
onClick={handleClicknew_insert_key}
|
||||
edge="end"
|
||||
>
|
||||
{new_insert_key_visible ? <Visibility /> : <VisibilityOff />}
|
||||
</IconButton>
|
||||
</InputAdornment>
|
||||
}
|
||||
|
||||
/>
|
||||
</FormControl>
|
||||
|
||||
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
|
||||
<Label>Confirmation nouvelle clé de rattachement</Label>
|
||||
<InputLabel htmlFor="outlined-adornment-password"></InputLabel>
|
||||
<OutlinedInput
|
||||
id="conf_new_insert_key"
|
||||
name="conf_new_insert_key"
|
||||
type={values.new_insert_key ? 'text' : 'password'}
|
||||
value={values.new_insert_key}
|
||||
onChange={handleChangeconf_new_insert_key('conf_current_insert_key')}
|
||||
endAdornment={
|
||||
<InputAdornment position="end">
|
||||
<IconButton
|
||||
aria-label="toggle password visibility"
|
||||
onClick={handleClickconf_new_insert_key}
|
||||
edge="end"
|
||||
>
|
||||
{conf_new_insert_key_visible ? <Visibility /> : <VisibilityOff />}
|
||||
</IconButton>
|
||||
</InputAdornment>
|
||||
}
|
||||
|
||||
/>
|
||||
</FormControl>
|
||||
<div className="text_pwd_crit">
|
||||
Créez un mot de passe contenant au moins :
|
||||
<ul>
|
||||
<li name="caractere_insert_key">
|
||||
8 caractères
|
||||
</li>
|
||||
<li name="nombre_insert_key">
|
||||
1 nombre
|
||||
</li>
|
||||
<li name="special_insert_key">
|
||||
1 caractère spécial p. ex., $, !, @, %, &
|
||||
</li>
|
||||
|
||||
<li name="identique_insert_key">
|
||||
Identiques
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div className="div_row22">
|
||||
|
||||
|
||||
{insert_keyfieldsdesabled == false && <div className="div_row">
|
||||
|
||||
<div className="div_row_gauche">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={UpdatePartnerInsertKey}>Enregistrer</Button>
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite">
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif " onClick={desablesecurtyInsertKeyfields}>Annuler</Button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
{insert_keyfieldsdesabled == true &&
|
||||
<Button variant="contained" color="success" className="div_row22 btn_modif" onClick={enablesecurtyInsertKeyfields}>Editer</Button>
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
</Box>
|
||||
</div>
|
||||
<div style={{ "width": "48%", "float": "right" }}>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
<div className="div_row22">
|
||||
<div className="titre1"> Supppression de compte </div>
|
||||
|
|
|
@ -183,6 +183,14 @@
|
|||
background-color: #104277;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.scroll_mysy {
|
||||
overflow-y: auto;
|
||||
max-height: 20rem;
|
||||
overflow-y: visible;
|
||||
overflow-y: scroll;
|
||||
padding-right: 1rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -191,25 +199,32 @@
|
|||
margin-left: 10px !important;
|
||||
display: grid;
|
||||
height: 200px;
|
||||
//grid-template: repeat(2, 1fr) / repeat(2, 1fr);
|
||||
grid-template-columns: auto auto auto auto;
|
||||
gap: 20px 10px;
|
||||
}
|
||||
|
||||
.contact_grid>div {
|
||||
display: inline-block;
|
||||
color: #444;
|
||||
border: 1px solid #CCC;
|
||||
background: #DDD;
|
||||
background: #1976d2;
|
||||
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
padding: 5px;
|
||||
padding: 10px;
|
||||
text-align: left;
|
||||
color: #fff;
|
||||
border-radius: 10px;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.grid_title {
|
||||
font-weight: bold;
|
||||
font-size: small;
|
||||
letter-spacing: 2px;
|
||||
}
|
||||
|
||||
.contact_grid>div:hover {
|
||||
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
|
||||
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 50%);
|
||||
}
|
||||
|
||||
|
||||
|
@ -243,4 +258,8 @@
|
|||
padding-left: 5px !important;
|
||||
padding-right: 5px !important;
|
||||
}
|
||||
|
||||
.css-1jy569b-MuiFormLabel-root-MuiInputLabel-root {
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
}
|
|
@ -127,6 +127,82 @@
|
|||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.div_row_gauche_image {
|
||||
float: left;
|
||||
//border:0px solid black;
|
||||
border-width: 0.01rem;
|
||||
border-radius: 1rem;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.div_row_droite_image {
|
||||
float: left;
|
||||
//border:0px solid black;
|
||||
border-width: 0.01rem;
|
||||
border-radius: 1rem;
|
||||
text-align: left;
|
||||
font-family: "verdana", "Quicksand", "Signika", sans-serif;
|
||||
font-size: small;
|
||||
padding-left: 0.2rem;
|
||||
}
|
||||
|
||||
.tips_img_class {
|
||||
font-size: smaller;
|
||||
font-style: italic;
|
||||
margin-left: 1rem !important;
|
||||
text-align: left;
|
||||
float: left;
|
||||
width: 100%;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.img_class_logo {
|
||||
display: block;
|
||||
width: 128px;
|
||||
height: 128px;
|
||||
border-radius: 10px !important;
|
||||
border: 1px solid black;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.bton_supprime_image_class {
|
||||
font-size: small;
|
||||
text-align: center;
|
||||
margin-left: 0px;
|
||||
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
|
||||
padding: 5px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
border: 1px solid rgb(194, 186, 186);
|
||||
border-radius: 10px;
|
||||
background: white;
|
||||
color: red;
|
||||
margin-top: 0.5rem;
|
||||
width: 10rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.bton_supprime_image_class:hover {
|
||||
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
|
||||
}
|
||||
|
||||
.bton_image_class {
|
||||
font-size: small;
|
||||
text-align: center;
|
||||
margin-left: 0px;
|
||||
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
|
||||
padding: 5px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
border: 1px solid rgb(194, 186, 186);
|
||||
border-radius: 10px;
|
||||
width: 10rem;
|
||||
}
|
||||
|
||||
.bton_image_class:hover {
|
||||
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 601px) and (max-width: 991px) {
|
||||
|
@ -237,7 +313,7 @@
|
|||
float: left;
|
||||
//border:0px solid black;
|
||||
border-width: 0.01rem;
|
||||
width: 48%;
|
||||
width: 100%;
|
||||
border-radius: 1rem;
|
||||
//border-right: solid;
|
||||
border-radius: 0%;
|
||||
|
@ -246,7 +322,82 @@
|
|||
.div_row_droite {
|
||||
float: right;
|
||||
border-width: 0.01rem;
|
||||
width: 48%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.div_row_gauche_image {
|
||||
float: left;
|
||||
//border:0px solid black;
|
||||
border-width: 0.01rem;
|
||||
border-radius: 1rem;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.div_row_droite_image {
|
||||
float: left;
|
||||
//border:0px solid black;
|
||||
border-width: 0.01rem;
|
||||
border-radius: 1rem;
|
||||
text-align: left;
|
||||
font-family: "verdana", "Quicksand", "Signika", sans-serif;
|
||||
font-size: small;
|
||||
padding-left: 0.2rem;
|
||||
}
|
||||
|
||||
.tips_img_class {
|
||||
font-size: small;
|
||||
font-style: italic;
|
||||
margin-left: 1rem !important;
|
||||
text-align: left;
|
||||
float: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.img_class_logo {
|
||||
display: block;
|
||||
width: 168px;
|
||||
height: 168px;
|
||||
border-radius: 10px !important;
|
||||
border: 1px solid black;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.bton_supprime_image_class {
|
||||
font-size: small;
|
||||
text-align: center;
|
||||
margin-left: 0px;
|
||||
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
|
||||
padding: 5px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
border: 1px solid rgb(194, 186, 186);
|
||||
border-radius: 10px;
|
||||
background: white;
|
||||
color: red;
|
||||
margin-top: 0.5rem;
|
||||
width: 15rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.bton_supprime_image_class:hover {
|
||||
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
|
||||
}
|
||||
|
||||
.bton_image_class {
|
||||
font-size: small;
|
||||
text-align: center;
|
||||
margin-left: 0px;
|
||||
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
|
||||
padding: 5px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
border: 1px solid rgb(194, 186, 186);
|
||||
border-radius: 10px;
|
||||
width: 15rem;
|
||||
}
|
||||
|
||||
.bton_image_class:hover {
|
||||
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -357,7 +508,7 @@
|
|||
float: left;
|
||||
//border:0px solid black;
|
||||
border-width: 0.01rem;
|
||||
width: 48%;
|
||||
width: 46%;
|
||||
border-radius: 1rem;
|
||||
//border-right: solid;
|
||||
border-radius: 0%;
|
||||
|
@ -366,7 +517,82 @@
|
|||
.div_row_droite {
|
||||
float: right;
|
||||
border-width: 0.01rem;
|
||||
width: 48%;
|
||||
width: 46%;
|
||||
}
|
||||
|
||||
.div_row_gauche_image {
|
||||
float: left;
|
||||
//border:0px solid black;
|
||||
border-width: 0.01rem;
|
||||
border-radius: 1rem;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.div_row_droite_image {
|
||||
float: left;
|
||||
//border:0px solid black;
|
||||
border-width: 0.01rem;
|
||||
border-radius: 1rem;
|
||||
text-align: left;
|
||||
font-family: "verdana", "Quicksand", "Signika", sans-serif;
|
||||
font-size: small;
|
||||
padding-left: 0.2rem;
|
||||
}
|
||||
|
||||
.tips_img_class {
|
||||
font-size: small;
|
||||
font-style: italic;
|
||||
margin-left: 1rem !important;
|
||||
text-align: left;
|
||||
float: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.img_class_logo {
|
||||
display: block;
|
||||
width: 168px;
|
||||
height: 168px;
|
||||
border-radius: 10px !important;
|
||||
border: 1px solid black;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.bton_supprime_image_class {
|
||||
font-size: small;
|
||||
text-align: center;
|
||||
margin-left: 0px;
|
||||
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
|
||||
padding: 5px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
border: 1px solid rgb(194, 186, 186);
|
||||
border-radius: 10px;
|
||||
background: white;
|
||||
color: red;
|
||||
margin-top: 0.5rem;
|
||||
width: 15rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.bton_supprime_image_class:hover {
|
||||
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
|
||||
}
|
||||
|
||||
.bton_image_class {
|
||||
font-size: small;
|
||||
text-align: center;
|
||||
margin-left: 0px;
|
||||
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
|
||||
padding: 5px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
border: 1px solid rgb(194, 186, 186);
|
||||
border-radius: 10px;
|
||||
width: 15rem;
|
||||
}
|
||||
|
||||
.bton_image_class:hover {
|
||||
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -384,6 +610,7 @@
|
|||
font-family: "verdana", "Quicksand", "Signika", sans-serif;
|
||||
margin: 0.4rem !important;
|
||||
margin-top: 0px !important;
|
||||
margin-bottom: 1.5rem !important;
|
||||
}
|
||||
|
||||
.texte_area_adress {
|
||||
|
@ -392,6 +619,7 @@
|
|||
font-size: x-small !important;
|
||||
font-family: "verdana", "Quicksand", "Signika", sans-serif;
|
||||
margin: 0.4rem !important;
|
||||
margin-bottom: 1.5rem !important;
|
||||
}
|
||||
|
||||
.texte_area_passwd {
|
||||
|
@ -400,6 +628,7 @@
|
|||
font-size: x-small !important;
|
||||
font-family: "verdana", "Quicksand", "Signika", sans-serif;
|
||||
margin: 0.4rem !important;
|
||||
margin-bottom: 1.5rem !important;
|
||||
}
|
||||
|
||||
|
||||
|
@ -407,7 +636,6 @@
|
|||
font-family: "Quicksand", "Signika", sans-serif;
|
||||
font-size: medium;
|
||||
text-align: center;
|
||||
margin-bottom: 0.3rem;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
font-style: italic;
|
||||
|
@ -415,6 +643,8 @@
|
|||
font-weight: normal;
|
||||
float: left;
|
||||
width: 100%;
|
||||
margin-bottom: 1.5rem;
|
||||
|
||||
}
|
||||
|
||||
.semi_hr_gauche {
|
||||
|
@ -581,6 +811,40 @@
|
|||
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
|
||||
}
|
||||
|
||||
// added on 03/08/23
|
||||
.detail_submenu {
|
||||
background: #d8edfc;
|
||||
border-radius: 15px;
|
||||
margin-right: 1rem;
|
||||
padding: 0.3rem;
|
||||
margin-bottom: 0.5rem;
|
||||
min-width: 10rem;
|
||||
text-align: center;
|
||||
border: 1px solid #9cf;
|
||||
color: #3b3e40;
|
||||
font-family: "verdana", "Quicksand", "Signika", sans-serif;
|
||||
font-size: small;
|
||||
letter-spacing: 0.1rem;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
|
||||
.detail_submenu:hover,
|
||||
.detail_submenu:focus,
|
||||
.detail_submenu:active,
|
||||
.detail_submenu:checked {
|
||||
background-color: #104277;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.scroll_mysy {
|
||||
overflow-y: auto;
|
||||
max-height: 20rem;
|
||||
overflow-y: visible;
|
||||
overflow-y: scroll;
|
||||
padding-right: 1rem !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.css-mnn31 {
|
||||
|
|
Loading…
Reference in New Issue