branche_01062025
Cherif 2025-09-10 22:04:34 +02:00
parent 748f40e23f
commit 144a912dc9
93 changed files with 5073 additions and 997 deletions

View File

@ -105,17 +105,19 @@
gtag("config", "UA-37423053-2");
</script>
<!-- Smartsupp Live Chat script -->
<!-- Smartsupp Live Chat script -- >
<script type="text/javascript">
var _smartsupp = _smartsupp || {};
_smartsupp.key = '2193f283b62a483c4d12f96fb3e48d866f1bfe61';
window.smartsupp || (function (d) {
var s, c, o = smartsupp = function () { o._.push(arguments) }; o._ = [];
s = d.getElementsByTagName('script')[0]; c = d.createElement('script');
c.type = 'text/javascript'; c.charset = 'utf-8'; c.async = true;
c.src = 'https://www.smartsuppchat.com/loader.js?'; s.parentNode.insertBefore(c, s);
})(document);
</script>
</script> -->
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-17B18WZKPN"></script>

View File

@ -108,8 +108,14 @@ function App() {
const MySyIA = lazy(() => import("./pages/iamysy"));
const AutomaticQuotation = lazy(() => import("./pages/automaticquotation"));
const Emarge_QR_Code = lazy(() => import("./pages/emarge_qr_code"));
const Survey_Eval_QR_Code = lazy(() => import("./pages/survey_eval_qr_code"));
const UpdateAttendeeList = lazy(() => import("./pages/updateattendeelist"));
const SurveyDocument = lazy(() => import("./pages/surveydocument"));
const SurveyDocument_Qr_Code = lazy(() => import("./pages/surveydocument_qr_code"));
const ESignDiplayDignedDocument = lazy(() => import("./pages/edigndiplaydigneddocument"));
const ESign = lazy(() => import("./pages/eSigne"));
const Test_Drag_Drop2 = lazy(() => import("./pages/test_dnd"));
@ -274,10 +280,13 @@ function App() {
<Route path="/qr_emargement/:session_id/:partner_owner_recid/:my_safe_token" exact component={Emarge_QR_Code} />
<Route path="/qr_survey_eval/:session_id/:survey_type/:qr_code_safe_token" exact component={Survey_Eval_QR_Code} />
<Route path="/E_Signature/:document_id" exact component={ESign} />
<Route path="/E_Document/:document_id/:partner_owner_recid/:secret_key_signature" exact component={ESignDiplayDignedDocument} />
<Route path="/Survey/:survey_id/" exact component={SurveyDocument} />
<Route path="/Survey/qrcode/:survey_id/" exact component={SurveyDocument_Qr_Code} />
<Route path="/UpadateAttendeeList/:client_id/:session_id/:partner_owner_recid/" exact component={UpdateAttendeeList} />
<Route path="/automatic-quotation/:partner_owner_recid/:objid/" exact component={AutomaticQuotation} />
@ -323,6 +332,8 @@ function App() {
<Route path="/" exact component={New_Home_Page_2025} />
<Route path="/jmjformation" exact component={Jmjformation_catalogue} />
<Route path="/jmjcatalogue" exact component={Jmjformation_catalogue} />
{/* Debut Migration */}
<Route path="/Partner/:action/:orderid/:packs" exact component={Partner} />
<Route path="/Partner/:action/:orderid" exact component={Partner} />
@ -362,7 +373,7 @@ function App() {
</Switch>
</BrowserRouter>
</Suspense>
</Suspense>
</div>
</div>

View File

@ -41,6 +41,8 @@ import { LineChart } from '@mui/x-charts/LineChart';
import BarChartIcon from '@mui/icons-material/BarChart';
import SsidChartIcon from '@mui/icons-material/SsidChart';
import { RiFileExcel2Line } from "react-icons/ri";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -91,6 +93,7 @@ const useStyles = makeStyles((theme) => ({
}));
const AddClassManual = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const url = process.env.REACT_APP_API_URL + "/myclass/api/add_partner_account/";
const [inputs, setInputs] = useState({});
@ -2274,7 +2277,7 @@ const AddClassManual = (props) => {
var mynote = document.getElementsByName("note")[0].value;
var localmycpf = mycpf;
var mycertif = mycertif;
var local_mycertif = mycertif;
var trainingSupport = mytrainingsupport;
var banniereImg = document.getElementsByName("class_banner_img_url")[0].value;
@ -2514,6 +2517,7 @@ const AddClassManual = (props) => {
formData.append('version', version);
formData.append('referentiel_padagogique_id', mytraining_ref_peda_id);
formData.append('recyclage_delai', p_detail_recyclage_delai);
formData.append('recyclage_periodicite', p_detail_recyclage_periodicite);
@ -2527,7 +2531,9 @@ const AddClassManual = (props) => {
formData.append('cpf', localmycpf);
formData.append('certif', mycertif);
formData.append('certif', local_mycertif);
// console.log(" function mycertif = ", local_mycertif);
formData.append('pourqui', pourqui);
formData.append('support', trainingSupport);
@ -2539,6 +2545,7 @@ const AddClassManual = (props) => {
formData.append('contenu_attestation', contenu_attestation);
console.log(" ### formData = ", formData)
/*
Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
*/
@ -6686,6 +6693,8 @@ const AddClassManual = (props) => {
setmycertif_label(value.label);
setdatamodification("1");
console.log(" ### setmycertif = ",value.value )
} else {
setmycertif("");
setmycertif_label("");
@ -8710,7 +8719,7 @@ const AddClassManual = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -45,6 +45,8 @@ import Autocomplete from '@mui/material/Autocomplete';
import { FcOpenedFolder } from "react-icons/fc";
import Module_Absence from "./Module_Absence";
import { RiMoreFill } from "react-icons/ri";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import moment from "moment";
@ -103,7 +105,7 @@ const useStyles = makeStyles((theme) => ({
}));
const Apprenant = (props) => {
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();
@ -8131,7 +8133,7 @@ const Apprenant = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -8962,7 +8964,7 @@ const Apprenant = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
@ -10185,7 +10187,7 @@ const Apprenant = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -10212,7 +10214,7 @@ const Apprenant = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -10634,7 +10636,7 @@ const Apprenant = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -10660,7 +10662,7 @@ const Apprenant = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}

View File

@ -15,6 +15,8 @@ import moment from "moment";
import SendIcon from '@mui/icons-material/Send';
import axios from "axios";
import { Editor } from '@tinymce/tinymce-react';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -80,7 +82,7 @@ const useStyles = makeStyles((theme) => ({
const Article = (props) => {
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();
const [isLoading, setLoading] = useState();

View File

@ -21,6 +21,8 @@ import fileDownload from 'js-file-download';
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -99,7 +101,7 @@ const useStyles = makeStyles((theme) => ({
const Autre_RH = (props) => {
const classes = useStyles();
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);
@ -7080,7 +7082,7 @@ const Autre_RH = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>
@ -7100,6 +7102,7 @@ const Autre_RH = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale={'fr'}
/>
</div>
@ -7980,7 +7983,7 @@ const Autre_RH = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>
@ -8002,7 +8005,7 @@ const Autre_RH = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -9060,7 +9063,7 @@ const Autre_RH = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -9079,7 +9082,7 @@ const Autre_RH = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -9510,7 +9513,7 @@ const Autre_RH = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
@ -10007,7 +10010,7 @@ const Autre_RH = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -10043,7 +10046,7 @@ const Autre_RH = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -10218,7 +10221,7 @@ const Autre_RH = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -10237,7 +10240,7 @@ const Autre_RH = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -11345,7 +11348,7 @@ const Autre_RH = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -11372,7 +11375,7 @@ const Autre_RH = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -11623,7 +11626,7 @@ const Autre_RH = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -11649,7 +11652,7 @@ const Autre_RH = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -11869,7 +11872,7 @@ const Autre_RH = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>
@ -11892,6 +11895,7 @@ const Autre_RH = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale={'fr'}
/>
</div>

View File

@ -18,6 +18,8 @@ import fileDownload from 'js-file-download';
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import moment from "moment";
@ -113,7 +115,8 @@ const useStyles = makeStyles((theme) => ({
const Conseil_Classe = (props) => {
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();
const [submenu, setsubmenu] = useState("");
@ -2188,7 +2191,7 @@ const Conseil_Classe = (props) => {
function getExcelData(apiRef) {
// Select rows and columns
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__");
// Format the data. Here we only keep the value
const data = filteredSortedRowIds.map((id) => {
@ -2213,7 +2216,7 @@ const Conseil_Classe = (props) => {
function handleExport(apiRef, data_colums) {
const data = getExcelData(apiRef);
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__");
const local_config = {
@ -4418,6 +4421,13 @@ const Conseil_Classe = (props) => {
]
const [type_groupe, settype_groupe] = useState("");
const New_Option_Type_Groupe = [
{ "id": "grp_td", "label": "Grp TD", "value": "grp_td" },
{ "id": "grp_tp", "label": "Grp TP", "value": "grp_tp" },
]
return (
<div className="jurys">
{isLoading && <div className="loader-container">
@ -5266,7 +5276,7 @@ const Conseil_Classe = (props) => {
className="disabled_style enable_style datepicker_complement"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -5296,7 +5306,7 @@ const Conseil_Classe = (props) => {
className="disabled_style enable_style datepicker_complement"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -5941,7 +5951,7 @@ const Conseil_Classe = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -5967,7 +5977,7 @@ const Conseil_Classe = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -6794,7 +6804,7 @@ const Conseil_Classe = (props) => {
<div class="separator">
<nav className="separator_label">
Site & Adresse </nav>
Site & Adresse 1 </nav>
</div>
<div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', alignItems: 'center', flexWrap: 'wrap' }}>
@ -7132,7 +7142,7 @@ const Conseil_Classe = (props) => {
<div class="separator">
<nav className="separator_label">
Site & Adresse </nav>
Site & Adresse 2 </nav>
</div>
<div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', alignItems: 'center', flexWrap: 'wrap' }}>
@ -7475,10 +7485,7 @@ const Conseil_Classe = (props) => {
</div>}
<div className="session_caract"> <b> Cible </b> <br />
Groupe (TD, TP, etc)
</div>
{selected_jury_cible && String(selected_jury_cible) === "soutenance" && New_Option_Cible_Jury &&
New_Get_List_UE_From_Session_Id_result && New_Get_List_UE_From_Session_Id_result.length > 0 &&
@ -7590,9 +7597,25 @@ const Conseil_Classe = (props) => {
</div>
</div>
<div class="separator">
<nav className="separator_label">
Site & Adresse </nav>
Classe </nav>
</div>
<div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', alignItems: 'center', flexWrap: 'wrap' }}>
<div className="session_caract"> <b> Cible </b> <br />
Groupe (TD, TP, etc) zzzz
</div>
</div>
<div class="separator">
<nav className="separator_label">
Site & Adresse 3 </nav>
</div>
<div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', alignItems: 'center', flexWrap: 'wrap' }}>

View File

@ -23,6 +23,8 @@ import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -99,7 +101,7 @@ const useStyles = makeStyles((theme) => ({
}));
const CRM_Opportunite = (props) => {
registerLocale('fr', fr);
const classes_dialog = useStyles();
const history = useHistory();
@ -2029,7 +2031,7 @@ const CRM_Opportunite = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -10,6 +10,8 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -39,7 +41,7 @@ const palette = ['red', 'blue', 'green'];
const Dashbord_Factures = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [isLoading, setLoading] = useState();
@ -697,7 +699,7 @@ const Dashbord_Factures = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -10,6 +10,8 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -39,6 +41,7 @@ const pieParams = { height: 200, margin: { right: 5 } };
const palette = ['red', 'blue', 'green'];
const Dashbord_Factures_Devis_Par_Periode = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [isLoading, setLoading] = useState();
@ -474,7 +477,7 @@ const Dashbord_Factures_Devis_Par_Periode = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -10,6 +10,8 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -38,6 +40,7 @@ import fileDownload from 'js-file-download'
const Dashbord_Factures_Par_Client = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [isLoading, setLoading] = useState();
@ -496,7 +499,7 @@ const Dashbord_Factures_Par_Client = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -10,6 +10,8 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -39,6 +41,7 @@ const pieParams = { height: 200, margin: { right: 5 } };
const palette = ['red', 'blue', 'green'];
const Dashbord_Factures_Par_Periode = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [isLoading, setLoading] = useState();
@ -483,7 +486,7 @@ const Dashbord_Factures_Par_Periode = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -10,6 +10,8 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -39,6 +41,7 @@ const pieParams = { height: 200, margin: { right: 5 } };
const palette = ['red', 'blue', 'green'];
const Dashbord_Factures_Previsionnel_Par_Periode = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [isLoading, setLoading] = useState();
@ -420,7 +423,7 @@ const Dashbord_Factures_Previsionnel_Par_Periode = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -10,6 +10,8 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -31,7 +33,7 @@ import { TbColumns2, TbColumns1 } from "react-icons/tb";
const Dashbord_Formation = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [isLoading, setLoading] = useState();
@ -277,7 +279,7 @@ const Dashbord_Formation = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -264,7 +264,7 @@ const Dashbord_Formation_Evol_Session = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -10,6 +10,8 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -34,7 +36,7 @@ import { pieArcLabelClasses } from '@mui/x-charts/PieChart';
const Dashbord_Inscriptions = (props) => {
const history = useHistory();
const [isLoading, setLoading] = useState();
registerLocale('fr', fr);
const theme = useTheme();
const colors = tokens(theme.palette.mode);
@ -375,7 +377,7 @@ const Dashbord_Inscriptions = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -10,6 +10,8 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -38,7 +40,7 @@ import { RiFileExcel2Line } from "react-icons/ri";
const Dashbord_Inscriptions_all_inscriptions = (props) => {
const history = useHistory();
const [isLoading, setLoading] = useState();
registerLocale('fr', fr);
const theme = useTheme();
const colors = tokens(theme.palette.mode);
@ -472,7 +474,7 @@ const Dashbord_Inscriptions_all_inscriptions = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -10,6 +10,8 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -559,7 +561,7 @@ const Dashbord_Ressources_Humaines = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -28,6 +28,8 @@ import Autocomplete from '@mui/material/Autocomplete';
import TextField from '@mui/material/TextField';
import { format } from 'date-fns'
import moment from "moment";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import Button from '@mui/material/Button';
@ -37,7 +39,7 @@ const Dashbord_Ressources_Humaines_Tache_Couts = (props) => {
const [isLoading, setLoading] = useState();
const [selectionModel, setSelectionModel] = React.useState([]);
const [user_dashbord_id, setuser_dashbord_id] = useState(props.user_dashbord_id);
registerLocale('fr', fr);
var date_today_90j = new Date();
date_today_90j.setDate(date_today_90j.getDate() - 90);
@ -435,7 +437,7 @@ const Dashbord_Ressources_Humaines_Tache_Couts = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -28,6 +28,8 @@ import Autocomplete from '@mui/material/Autocomplete';
import TextField from '@mui/material/TextField';
import { format } from 'date-fns'
import moment from "moment";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import Button from '@mui/material/Button';
@ -37,7 +39,7 @@ const Dashbord_Ressources_Humaines_Tache_by_rhid = (props) => {
const [isLoading, setLoading] = useState();
const [selectionModel, setSelectionModel] = React.useState([]);
const [user_dashbord_id, setuser_dashbord_id] = useState(props.user_dashbord_id);
registerLocale('fr', fr);
var date_today_90j = new Date();
date_today_90j.setDate(date_today_90j.getDate() - 90);
@ -412,7 +414,7 @@ const Dashbord_Ressources_Humaines_Tache_by_rhid = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -10,6 +10,8 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -29,7 +31,7 @@ import { ResponsiveBar } from "@nivo/bar";
import { TbColumns2, TbColumns1 } from "react-icons/tb";
const Dashbord_Session = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [isLoading, setLoading] = useState();
@ -393,7 +395,7 @@ const Dashbord_Session = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -446,7 +446,7 @@ const Dashbord_Session_Repartition_Fteur = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -20,6 +20,8 @@ import {
FcCancel, FcApproval, FcAcceptDatabase,
FcPrint, FcExpired
} from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import moment from "moment";
@ -115,7 +117,7 @@ const useStyles = makeStyles((theme) => ({
const DisplayPartnerStagiaires = (props) => {
const classes = useStyles();
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);
@ -10045,7 +10047,7 @@ const DisplayPartnerStagiaires = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
@ -10581,7 +10583,7 @@ const DisplayPartnerStagiaires = (props) => {
} else {
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier la session d'affectation du participant");
setparticipant_data_changed("1");
}
}}
@ -10622,6 +10624,7 @@ const DisplayPartnerStagiaires = (props) => {
setp_detail_client_rattachement_id("");
setp_detail_client_rattachement_nom("");
setparticipant_data_changed("1");
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant. Pensez à mettre à jour le client à facturer s'il est différent du client principal");
setp_detail_facture_client_rattachement_id("");
@ -11106,7 +11109,7 @@ const DisplayPartnerStagiaires = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
@ -11222,7 +11225,7 @@ const DisplayPartnerStagiaires = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -11834,7 +11837,7 @@ const DisplayPartnerStagiaires = (props) => {
selected={detailuser_date_evaluation}
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>
@ -11937,7 +11940,7 @@ const DisplayPartnerStagiaires = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>
@ -11952,7 +11955,7 @@ const DisplayPartnerStagiaires = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
style={{ "visibility": "hidden" }}
/>

View File

@ -1,18 +1,17 @@
import React, { useRef, useState, useEffect } from "react";
import { useParams } from 'react-router-dom'
import axios from "axios";
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import bannerimg2 from "../mysy_img/MYSY-LOGO-BLUE.png";
import logowhite from "../mysy_img/MYSY-LOGO-WHITE.png";
import { Helmet } from "react-helmet";
import 'react-slideshow-image/dist/styles.css'
import { Fade } from 'react-slideshow-image';
import slideimg1 from "../mysy_img/education.jpg";
import slideimg4 from "../mysy_img/mysy_img.png";
import Footer from "./Fotter";
import Header from "./Header";
import bannerimg from "../mysy_img/MYSY_banner_compte.png";
import img_met_program from "../mysy_img/met_programmation.jpg";
import img_met_hotel from "../mysy_img/met_hotel.jpg";
import img_met_graphisme from "../mysy_img/metier_graphisme.jpg";
@ -26,15 +25,14 @@ import img_met_rh from "../mysy_img/met_rh.jpg";
import img_met_bureautic from "../mysy_img/met_burautic.jpg";
import img_met_vente from "../mysy_img/met_vente.jpg";
import img_met_sport from "../mysy_img/met_sport.png";
import img_met_sante_nat from "../mysy_img/met_sante_nat.jpeg";
/*
/!\ important: les images du slides doivent avoir une dimension de : 250 X 450
*/
import { Button, } from "reactstrap";
import { useHistory } from "react-router-dom";
import { useCookies } from "react-cookie";
import { FacebookShareButton, LinkedinShareButton, TwitterShareButton } from "react-share";
import { SocialIcon } from 'react-social-icons';
import { confirmAlert } from 'react-confirm-alert';
//import { Rating } from 'react-simple-star-rating';
@ -42,11 +40,7 @@ import Rating from '@mui/material/Rating';
import parse from 'html-react-parser';
import Inscription from "./Inscription_Information";
import mysy_logo2 from "../mysy_img2/Logo_MySy.png"
import { FaSearch, FaRegArrowAltCircleDown, FaRegArrowAltCircleUp } from 'react-icons/fa';
import { areOptionsEqual } from "@mui/base";
import { style } from "@mui/system";
const Display_Action_And_Class = (props) => {
const [classId, setclassId] = useState(props.classId);
const [action, setaction] = useState(props.action);
@ -328,7 +322,7 @@ const Display_Action_And_Class = (props) => {
function Display(e) {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_class/";
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_class_without_marketplace_check/";
var form = new FormData();
form.append("internal_url", classId);

View File

@ -62,7 +62,7 @@ import Social_Fa_icon from '../img_new_design_2025/social_i_Fa.png';
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import { FcInfo } from "react-icons/fc";
import { FcInfo } from "react-icons/fc";
const Display_Partner_Catalog_DetailClass_new_v2 = (props) => {
const { classId, action } = useParams();
@ -2260,7 +2260,7 @@ const Display_Partner_Catalog_DetailClass_new_v2 = (props) => {
e.preventDefault();
//test(props.formation.external_code);
window.open(
"/Display-Detail-formation/" + JSON.parse(formation).internal_url,
"/Display-Partner-Catalog-Detail-formation/" + JSON.parse(formation).internal_url,
'_self'
);
@ -3036,7 +3036,7 @@ const Display_Partner_Catalog_DetailClass_new_v2 = (props) => {
e.preventDefault();
//test(props.formation.external_code);
window.open(
"/Display-Detail-formation/" + JSON.parse(formation).internal_url,
"/Display-Partner-Catalog-Detail-formation/" + JSON.parse(formation).internal_url,
'_self'
);

View File

@ -23,6 +23,8 @@ import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -90,7 +92,7 @@ const useStyles = makeStyles((theme) => ({
function ESign() {
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();

View File

@ -23,6 +23,8 @@ import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -48,7 +50,7 @@ import { FcInfo } from "react-icons/fc";
import { Document, Page } from 'react-pdf'
function ESignDiplayDignedDocument() {
registerLocale('fr', fr);
const history = useHistory();
const { document_id, secret_key_signature, partner_owner_recid } = useParams();
const [isLoading, setLoading] = useState();

View File

@ -21,6 +21,8 @@ import fileDownload from 'js-file-download';
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -99,7 +101,7 @@ const useStyles = makeStyles((theme) => ({
const Employes = (props) => {
const classes = useStyles();
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);
@ -876,7 +878,7 @@ const Employes = (props) => {
setSelectionModel_affectations([]);
setSelectionModel([]);
setsubmenu("");
setscope_filt_recherche([]);
Getall_Training_Employee_No_Filter();
}
@ -1303,6 +1305,7 @@ const Employes = (props) => {
useEffect(() => {
sethistory_securite_read(props.check_user_acces_right("historique", "read"))
Getall_Partner_Competence_List();
Getall_Training_Employee_No_Filter();
Get_List_Managers();
Get_List_RH_Profils();
@ -1875,27 +1878,59 @@ const Employes = (props) => {
var filtre4_value = "";
// Recuperation des valeurs de filtres
if (p_filtre1_value) {
if (p_filtre1_value && String(filtre1) !== "competence") {
filtre1_value = p_filtre1_value;
form.append(filtre1, filtre1_value);
}
else if (String(filtre1) === "competence" && scope_filt_recherche.length > 0) {
var tab_competence_ids = []
for (var i = 0; i < scope_filt_recherche.length; i++) {
tab_competence_ids.push(scope_filt_recherche[i]._id);
}
form.append(filtre1, tab_competence_ids);
}
if (p_filtre2_value) {
if (p_filtre2_value && String(filtre2) !== "competence") {
filtre2_value = p_filtre2_value;
form.append(filtre2, filtre2_value);
} else if (String(filtre2) === "competence" && scope_filt_recherche.length > 0) {
var tab_competence_ids = []
for (var i = 0; i < scope_filt_recherche.length; i++) {
tab_competence_ids.push(scope_filt_recherche[i]._id);
}
form.append(filtre2, tab_competence_ids);
}
if (p_filtre3_value) {
if (p_filtre3_value && String(filtre3) !== "competence") {
filtre3_value = p_filtre3_value;
form.append(filtre3, p_filtre3_value);
} else if (String(filtre3) === "competence" && scope_filt_recherche.length > 0) {
var tab_competence_ids = []
for (var i = 0; i < scope_filt_recherche.length; i++) {
tab_competence_ids.push(scope_filt_recherche[i]._id);
}
form.append(filtre3, tab_competence_ids);
}
if (p_filtre4_value) {
if (p_filtre4_value && String(filtre4) !== "competence") {
filtre4_value = p_filtre4_value;
form.append(filtre4, p_filtre4_value);
} else if (String(filtre4) === "competence" && scope_filt_recherche.length > 0) {
var tab_competence_ids = []
for (var i = 0; i < scope_filt_recherche.length; i++) {
tab_competence_ids.push(scope_filt_recherche[i]._id);
}
form.append(filtre4, tab_competence_ids);
}
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("type_rh", "");
@ -5798,6 +5833,7 @@ const Employes = (props) => {
{ "id": "email", "label": "Email ", "value": "email" },
{ "id": "formation", "label": "Lié a la Formation (code externe) ", "value": "formation" },
{ "id": "session", "label": "Lié a la Session (code session) ", "value": "session" },
{ "id": "competence", "label": "Competence ", "value": "competence" },
{ "id": "", "label": "", "value": "" },
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
]
@ -5832,6 +5868,8 @@ const Employes = (props) => {
const [detail_competence_niveau, setdetail_competence_niveau] = React.useState("");
const [selected_competence_id, setselected_competence_id] = React.useState("");
const [new_competence_id, setnew_competence_id] = React.useState("");
const [Add_Update_One_Competence_api, setAdd_Update_One_Competence_api] = useState();
const [Add_Update_One_Competence_message, setAdd_Update_One_Competence_message] = useState();
const [Add_Update_One_Competence_result, setAdd_Update_One_Competence_result] = useState();
@ -5852,6 +5890,7 @@ const Employes = (props) => {
form.append("token", stored_cookie);
form.append("rh_id", selected_id);
form.append("competence_id", selected_competence_id);
form.append("new_competence_id", new_competence_id);
form.append("competence", detail_competence_code);
form.append("niveau", detail_competence_niveau);
@ -6950,6 +6989,19 @@ const Employes = (props) => {
const [scope_session, setscope_session] = useState([...fixedVal_scope_session]);
const fixedVal_scope_filt_recherche = [];
const [scope_filt_recherche, setscope_filt_recherche] = useState([...fixedVal_scope_filt_recherche]);
const CustomChip_recherche = (chipVal, getTagProps) => {
return chipVal.map((item, index) => (
<Chip
label={String(item)} //adding options label
{...getTagProps({ index })}
disabled={fixedVal_scope_filt_recherche.indexOf(item) !== -1}
/>
));
};
const fixedVal_scope_class = [];
const [scope_class, setscope_class] = useState([...fixedVal_scope_class]);
const CustomChip = (chipVal, getTagProps) => {
@ -7064,7 +7116,7 @@ const Employes = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>
@ -7084,6 +7136,7 @@ const Employes = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale={'fr'}
/>
</div>
@ -7348,9 +7401,11 @@ const Employes = (props) => {
onChange={(event, value) => {
if (value && value.description) {
setdetail_competence_code(value.description);
setdetail_competence_code(value.description); // zzzzz
setnew_competence_id(value._id);
} else {
setdetail_competence_code("");
setnew_competence_id("");
}
}}
@ -7964,7 +8019,7 @@ const Employes = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>
@ -7986,7 +8041,7 @@ const Employes = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -8171,7 +8226,6 @@ const Employes = (props) => {
</DialogActions>
</Dialog>
<h3 style={{ fontFamily: 'DM Sans' }}> Mes employés </h3>
@ -8206,9 +8260,8 @@ const Employes = (props) => {
</div>
<div className="div_row_droite texte_area_filter_value" >
{p_filtre1 &&
{p_filtre1 && String(p_filtre1) !== "competence" &&
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -8235,9 +8288,48 @@ const Employes = (props) => {
}}
/>
}
{p_filtre1 && String(p_filtre1) === "competence" &&
<nav style={{ height: '8rem' }}>
<Autocomplete
InputProps={{ style: { fontFamily: 'DM Sans' } }}
disablePortal
name="filtre1_value"
id="filtre1_value"
className="disabled_style enable_style disabled_style_no_border"
multiple
onChange={(event, newValue) => {
setscope_filt_recherche([
...fixedVal_scope_filt_recherche,
...newValue.filter((i) => fixedVal_scope_filt_recherche.indexOf(i) === -1),
]);
}}
value={scope_filt_recherche}
options={New_Getall_Partner_Competence_List_result}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{
...params.inputProps, style: {
fontSize: 12, height: "1.4rem", textAlign: 'left',
fontFamily: 'DM Sans'
}
}}
/>
}
/>
</nav>
}
</div>
{p_filtre1 && <div className='filter_bton_add'>
<Tooltip className="tooltip_css" id="my-tooltip01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip01" data-tooltip-html="Ajouter une nouvelle ligne de filtre">
@ -8287,28 +8379,10 @@ const Employes = (props) => {
}
/>}
{/*<TextField
name="filtre2"
label="Choisir un champ"
select
sx={{ m: 1, width: '100%' }}
value={p_filtre2}
onChange={(e) => {
setp_filtre2(e.target.value);
}}
>
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email &nbsp;</MenuItem>
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom &nbsp;</MenuItem>
<MenuItem value="formation" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié a la Formation (code externe) &nbsp;</MenuItem>
<MenuItem value="session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié a la Session (code session) &nbsp;</MenuItem>
</TextField> */}
</div>
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
{String(p_filtre2).length > 2 &&
{String(p_filtre2).length > 2 && String(p_filtre2) !== "competence" &&
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -8335,6 +8409,40 @@ const Employes = (props) => {
}}
/>}
{String(p_filtre2).length > 2 && String(p_filtre2) === "competence" &&
<nav style={{ height: '8rem' }}>
<Autocomplete
InputProps={{ style: { fontFamily: 'DM Sans' } }}
disablePortal
name="filtre2_value"
id="filtre2_value"
className="disabled_style enable_style disabled_style_no_border"
multiple
onChange={(event, newValue) => {
setscope_filt_recherche([
...fixedVal_scope_filt_recherche,
...newValue.filter((i) => fixedVal_scope_filt_recherche.indexOf(i) === -1),
]);
}}
value={scope_filt_recherche}
options={New_Getall_Partner_Competence_List_result}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{
...params.inputProps, style: {
fontSize: 12, height: "1.4rem", textAlign: 'left',
fontFamily: 'DM Sans'
}
}}
/>
}
/>
</nav>}
</div>
{String(p_filtre2).length > 2 && <div className='filter_bton_add' >
@ -8391,27 +8499,10 @@ const Employes = (props) => {
}
/>}
{/* <TextField
name="filtre3"
label="Choisir un champ"
select
sx={{ m: 1, width: '100%' }}
value={p_filtre3}
onChange={(e) => {
setp_filtre3(e.target.value)
}}
>
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email &nbsp;</MenuItem>
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom &nbsp;</MenuItem>
<MenuItem value="formation" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié a la Formation (code externe) &nbsp;</MenuItem>
<MenuItem value="session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié a la Session (code session) &nbsp;</MenuItem>
</TextField>*/}
</div>
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
{String(p_filtre3).length > 2 &&
{String(p_filtre3).length > 2 && String(p_filtre3) !== "competence" &&
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -8438,19 +8529,42 @@ const Employes = (props) => {
}}
/>}
{String(p_filtre3).length > 2 && String(p_filtre3) === "competence" &&
<nav style={{ height: '8rem' }}>
<Autocomplete
InputProps={{ style: { fontFamily: 'DM Sans' } }}
disablePortal
name="filtre3_value"
id="filtre3_value"
className="disabled_style enable_style disabled_style_no_border"
multiple
onChange={(event, newValue) => {
setscope_filt_recherche([
...fixedVal_scope_filt_recherche,
...newValue.filter((i) => fixedVal_scope_filt_recherche.indexOf(i) === -1),
]);
}}
value={scope_filt_recherche}
options={New_Getall_Partner_Competence_List_result}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{
...params.inputProps, style: {
fontSize: 12, height: "1.4rem", textAlign: 'left',
fontFamily: 'DM Sans'
}
}}
/>
}
/>
</nav>}
</div>
{String(p_filtre2).length > 2 && <div className='filter_bton_add' >
<Tooltip className="tooltip_css" id="my-tooltip03" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip03" data-tooltip-html="Ajouter une nouvelle ligne de filtre">
&nbsp; <MdAddCircleOutline
onClick={(e) => {
setp_filtre4("1");
setp_filtre4_value("");
}}
/>
</a>
</div>}
{String(p_filtre3).length > 2 && <div className='filter_bton_add'>
<Tooltip className="tooltip_css" id="my-tooltip05" style={{ "fontSize": "12px" }} />
@ -8464,76 +8578,7 @@ const Employes = (props) => {
</div>
}
{/*
{p_filtre4 &&
<div className="div_row" style={{ "marginBottom": "5px" }}>
<div className="div_row_gauche texte_area_filter">
<TextField
name="filtre4"
label="Choisir un champ"
select
sx={{ m: 1, width: '100%' }}
value={p_filtre4}
onChange={(e) => {
setp_filtre4(e.target.value)
}}
>
<MenuItem value="email" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email &nbsp;</MenuItem>
<MenuItem value="nom" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Nom &nbsp;</MenuItem>
<MenuItem value="code_session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Code Session &nbsp;&nbsp;</MenuItem>
<MenuItem value="class_title" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Titre Formation &nbsp;</MenuItem>
</TextField>
</div>
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
{String(p_filtre4).length > 2 &&
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="filtre4_value"
id="filtre4_value"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_filtre4_value}
onChange={(e) => setp_filtre2_value(e.target.value)}
InputProps={{
endAdornment: (
<InputAdornment position="end">
<AiFillCloseCircle
style={{ 'cursor': "pointer", "color": "orangered" }}
onClick={(e) => {
setp_filtre4_value("");
}} />
</InputAdornment>
),
}}
/>}
</div>
{String(p_filtre2).length > 2 && <div className='filter_bton_add'>
<Tooltip className="tooltip_css" id="my-tooltip04" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip04" data-tooltip-html="Supprimer cette ligne de filtre">
&nbsp; <MdRemoveCircleOutline
onClick={(e) => {
setp_filtre4();
setp_filtre4_value();
}}
/>
</a>
</div>}
</div>
}
*/}
<div className="div_row" ref={myRef_head} id="myRef_head" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
@ -8900,28 +8945,28 @@ const Employes = (props) => {
paddingLeft: '10px', flexWrap: 'wrap'
}}>
{String(employee_data_edit_mode) !== "1" && p_detail_civilite &&
String(p_detail_civilite).length > 0 && <div className="session_caract"> <b>Civilité</b> <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="detail_civilite"
id="detail_civilite"
{String(employee_data_edit_mode) !== "1" && p_detail_civilite &&
String(p_detail_civilite).length > 0 && <div className="session_caract"> <b>Civilité</b> <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="detail_civilite"
id="detail_civilite"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={String(p_detail_civilite)[0].toUpperCase() + String(p_detail_civilite).slice(1)}
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={String(p_detail_civilite)[0].toUpperCase() + String(p_detail_civilite).slice(1)}
/>
/>
</div>}
</div>}
{String(employee_data_edit_mode) === "1" && <div className="session_caract"> <b>Civilité </b><br />
{New_civilite.length > 0 && <Autocomplete
{New_civilite.length > 0 && <Autocomplete
disablePortal
name="detail_civilite_edit"
id="detail_civilite_edit"
@ -8980,7 +9025,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_prenom}
onChange={(e) => {
@ -9006,7 +9051,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_mail}
onChange={(e) => {
@ -9032,7 +9077,7 @@ const Employes = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -9050,7 +9095,7 @@ const Employes = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -9081,7 +9126,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_tel_mobile}
onChange={(e) => {
@ -9142,7 +9187,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_code_postal}
onChange={(e) => {
@ -9161,7 +9206,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_ville}
onChange={(e) => {
@ -9201,7 +9246,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_linkedIn}
onChange={(e) => {
@ -9221,7 +9266,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_facebook}
onChange={(e) => {
@ -9241,7 +9286,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_twitter}
onChange={(e) => {
@ -9274,7 +9319,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_profil}
@ -9318,7 +9363,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_fonction}
onChange={(e) => {
@ -9339,7 +9384,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_ismanager_label}
@ -9356,7 +9401,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_ismanager}
onChange={(e) => {
@ -9380,7 +9425,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_resp_hierarchie_nom + " " + p_detail_resp_hierarchie_prenom}
@ -9440,7 +9485,7 @@ const Employes = (props) => {
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name={JSON.parse(champ_spec).field_name}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
id={JSON.parse(champ_spec).field_name}
type="number"
inputProps={{ min: "1", max: "999999", step: "1" }}
@ -9464,7 +9509,7 @@ const Employes = (props) => {
required
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
InputLabelProps={{
shrink: true,
@ -9562,7 +9607,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_user_login}
/>
@ -9718,7 +9763,7 @@ const Employes = (props) => {
InputLabelProps={{
shrink: true,
}}
disabled={Boolean(employee_data_edit_mode)}
disabled={Boolean(employee_data_edit_mode)}
className="disabled_style"
value={p_detail_lms_login}
/>
@ -10032,7 +10077,7 @@ const Employes = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
@ -10706,7 +10751,7 @@ const Employes = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -10742,7 +10787,7 @@ const Employes = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -10917,7 +10962,7 @@ const Employes = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -10936,7 +10981,7 @@ const Employes = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -12044,7 +12089,7 @@ const Employes = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -12071,7 +12116,7 @@ const Employes = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -12322,7 +12367,7 @@ const Employes = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -12348,7 +12393,7 @@ const Employes = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -12568,7 +12613,7 @@ const Employes = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>
@ -12591,6 +12636,7 @@ const Employes = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale={'fr'}
/>
</div>

View File

@ -2692,7 +2692,7 @@ const Ent_Intranet = (props) => {
function func_display_list_view() {
setdisplay_mode_grid_or_list("list");
}
return (
@ -2714,7 +2714,7 @@ const Ent_Intranet = (props) => {
<div className="bloc_logo_indic_model_2">
<div className="bloc_logo_indic_logo_model_2">
<img src={New_Get_Subdomain_Partner_Data_result[0].catalog_pub_logo} alt={New_Get_Subdomain_Partner_Data_result[0].nom} />
<img src={New_Get_Subdomain_Partner_Data_result[0].catalog_pub_logo} />
</div>
<div className="bloc_logo_indic_contact_model_2">
@ -2732,7 +2732,7 @@ const Ent_Intranet = (props) => {
<div className="bloc_milieu_text_model_2">
<div className="bloc_milieu_text_model_2_gauche">
{String(New_Get_Subdomain_Partner_Data_result[0].affiche_indicateur) === "1" && <div className="bloc_milieu_text_model_2_gauche">
<font className="bloc_logo_indic_indic_text"> Indicateurs </font> <br />
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_txt &&
@ -2778,8 +2778,10 @@ const Ent_Intranet = (props) => {
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_txt}
</div>}
</div>
<div className="bloc_milieu_text_model_2_centre">
</div>}
{String(New_Get_Subdomain_Partner_Data_result[0].affiche_raison_sociale) === "1" && <div className="bloc_milieu_text_model_2_centre">
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0 &&
<nav>
<font className='title1_nom_model_2'> {New_Get_Subdomain_Partner_Data_result[0].nom} </font> <br />
@ -2798,14 +2800,16 @@ const Ent_Intranet = (props) => {
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_2_gras}`,
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_2_txt} </nav>}
</div>
<div className="bloc_milieu_text_model_2_droite">
</div>}
{String(New_Get_Subdomain_Partner_Data_result[0].affiche_contact) === "1" && <div className="bloc_milieu_text_model_2_droite">
<font className="bloc_logo_indic_contact_text_model_2"> Contact </font> <br />
Tel : {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_contact_public_telephone} <br />
Email : {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_contact_public_email}
</div>
</div>}
</div>
</div>
@ -2832,17 +2836,17 @@ const Ent_Intranet = (props) => {
<div className="bloc_logo_indic">
<div className="bloc_logo_indic_logo">
<img src={New_Get_Subdomain_Partner_Data_result[0].catalog_pub_logo} alt={New_Get_Subdomain_Partner_Data_result[0].nom} />
<img src={New_Get_Subdomain_Partner_Data_result[0].catalog_pub_logo}/>
</div>
<div className="bloc_logo_indic_contact">
{String(New_Get_Subdomain_Partner_Data_result[0].affiche_contact) === "1" && <div className="bloc_logo_indic_contact">
<font className="bloc_logo_indic_contact_text"> Contact </font> <br />
Tel : {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_contact_public_telephone} <br />
Email : {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_contact_public_email}
</div>
</div>}
<div className="bloc_logo_indic_indic">
{String(New_Get_Subdomain_Partner_Data_result[0].affiche_indicateur) === "1" &&<div className="bloc_logo_indic_indic">
<font className="bloc_logo_indic_indic_text"> Indicateurs </font> <br />
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_txt &&
@ -2887,13 +2891,13 @@ const Ent_Intranet = (props) => {
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_gras}`,
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_txt}
</div>}
</div>
</div>}
</div>
<div className="bloc_milieu">
<div className="bloc_milieu_text">
{String(New_Get_Subdomain_Partner_Data_result[0].affiche_raison_sociale) === "1" && <div className="bloc_milieu_text">
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0 &&
<nav className="title1_nom" >
{New_Get_Subdomain_Partner_Data_result[0].nom} <br />
@ -2911,7 +2915,8 @@ const Ent_Intranet = (props) => {
color: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_2_color}`,
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_2_gras}`,
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_2_txt} </nav>}
</div>
</div>}
<div className="bloc_img_milieu_gauche">
<img style={{ width: '60%' }}
src={img_header} />

View File

@ -17,6 +17,8 @@ import { AiFillFolderOpen, AiFillMinusSquare } from "react-icons/ai";
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
@ -6458,7 +6460,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -6498,7 +6500,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -7167,7 +7169,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -7207,7 +7209,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -8749,7 +8751,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -9154,7 +9156,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>
@ -9254,7 +9256,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>
@ -9269,7 +9271,7 @@ Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenair
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
style={{ "visibility": "hidden" }}
/>

View File

@ -4595,7 +4595,7 @@ const Groupe_Apprenant = (props) => {
&nbsp;
</div>
</div>}
</div>}
{String(submenu) === "selection" && <div className="div_row session_data">

View File

@ -745,7 +745,7 @@ function HebergementLms(props) {
<div className="session_caract">Choisir un exemple de thème : <br />
<select id="lms_theme_liste" name="lms_theme_liste"
disabled={Boolean(String(props.check_user_acces_right("lms", "write")))}
disabled={!Boolean(String(props.check_user_acces_right("lms", "write")))}
value={selected_lms_theme} onChange={handleChangeselected_lms_theme} className="selectsession">
<option value="">Choisir un modèle </option>
{GetLms_Themes_result &&
@ -940,7 +940,8 @@ Le nom du fichier ne contient que des caractères alphanumériques </i>">
}}>
<FcIdea style={{ fontSize: '20px' }} /> &nbsp; Pour avoir une meilleure corrélation entre les dimensions du logo et les dimensions de la bannière, il est conseillé de respecter la règle suivante : <br />
<il> Hauteur de la bannière = Hauteur de logo + 100px </il>
<il> Largeur entre 130px et 250 px, la heuteur entre 60px et 150px. <br />
Hauteur de la bannière = Hauteur de logo + 100px </il>
</div>
</div>

View File

@ -29,6 +29,8 @@ import fileDownload from 'js-file-download'
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -74,7 +76,7 @@ import Menu from '@mui/material/Menu';
const Intranet_Factures_Client = (props) => {
const { action, orderid } = useParams();
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("");
@ -3267,7 +3269,7 @@ const options_menu_vertical = [
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
fullWidth
/>

View File

@ -22,6 +22,8 @@ import {
FcCancel, FcApproval, FcAcceptDatabase,
FcPrint, FcExpired
} from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import moment from "moment";
@ -123,7 +125,7 @@ const Intranet_Mes_Stagiaires = (props) => {
const [selectionModel_notes, setselectionModel_notes] = React.useState([]);
registerLocale('fr', fr);
const [p_filtre1, setp_filtre1] = useState("");
const [p_filtre1_value, setp_filtre1_value] = useState("");
@ -8584,7 +8586,7 @@ const Intranet_Mes_Stagiaires = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
@ -9656,7 +9658,7 @@ const Intranet_Mes_Stagiaires = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
@ -9772,7 +9774,7 @@ const Intranet_Mes_Stagiaires = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -10383,7 +10385,7 @@ const Intranet_Mes_Stagiaires = (props) => {
selected={detailuser_date_evaluation}
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>
@ -10486,7 +10488,7 @@ const Intranet_Mes_Stagiaires = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>
@ -10501,7 +10503,7 @@ const Intranet_Mes_Stagiaires = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
style={{ "visibility": "hidden" }}
/>

View File

@ -29,6 +29,8 @@ import fileDownload from 'js-file-download'
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -72,7 +74,7 @@ import { GridExportCsvOptions } from '@mui/x-data-grid';
const Intranet_Tous_Documents = (props) => {
const { action, orderid } = useParams();
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("");

View File

@ -1240,6 +1240,7 @@ const Jmjformation_Catalogue_Public = (props) => {
form.append("user_state", state);
form.append("subdomain", "colasrail");
// form.append("subdomain", "nousformons");
// form.append("subdomain", "jmjformation");
var myurl = ""
@ -1322,6 +1323,7 @@ const Jmjformation_Catalogue_Public = (props) => {
myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_class_Given_partner_owner_recid_No_Login/";
form.append("subdomain", "colasrail");
// form.append("subdomain", "nousformons");
// form.append("subdomain", "jmjformation");
//console.log(" ######### laaaaaaaaaaaaa subdomain = ", window.location.host.split(".")[0])
@ -2465,6 +2467,7 @@ const Jmjformation_Catalogue_Public = (props) => {
form.append("subdomain", "colasrail");
// form.append("subdomain", "nousformons");
// form.append("subdomain", "jmjformation");
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Partner_Data_From_Subdomain/";
@ -4365,7 +4368,9 @@ const Jmjformation_Catalogue_Public = (props) => {
<div className="jmj_block_milieu_droite">
<div className="rech_middlebox" id="rech_middlebox" style={{ width: '100%' }}>
<div> <h3 style={{ fontFamily: 'DM Sans', color: '#0A043C' }}> Nos Formations </h3></div>
<div>
<h3 style={{ fontFamily: 'DM Sans', color: '#0A043C' }}
className="mobile_block_nos_formation"> Nos Formations </h3></div>
<div style={{
display: 'flex', flexDirection: 'row', justifyContent: 'center', width: '100%', flexWrap: 'wrap',

View File

@ -2261,6 +2261,14 @@
}
.jmj_banniere_mobile {}
.mobile_block_nos_formation{
font-weight: 600;
font-size: 35px;
text-align: center;
margin-bottom: 5px;
}
}

Binary file not shown.

View File

@ -18,6 +18,8 @@ import fileDownload from 'js-file-download';
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import moment from "moment";
@ -113,7 +115,7 @@ const useStyles = makeStyles((theme) => ({
const Jury = (props) => {
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();
const [submenu, setsubmenu] = useState("");
@ -5265,7 +5267,7 @@ const Jury = (props) => {
className="disabled_style enable_style datepicker_complement"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -5295,7 +5297,7 @@ const Jury = (props) => {
className="disabled_style enable_style datepicker_complement"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -5940,7 +5942,7 @@ const Jury = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -5966,7 +5968,7 @@ const Jury = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}

View File

@ -15,6 +15,8 @@ import Autocomplete from '@mui/material/Autocomplete';
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -86,7 +88,7 @@ const Materiel_Salle = (props) => {
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);
const [selectionModel, setSelectionModel] = React.useState([]);
registerLocale('fr', fr);
const classes = useStyles();
const [rows_affectations, setrows_affectations] = useState([]);
const [selectionModel_affectations, setSelectionModel_affectations] = React.useState([]);
@ -3231,7 +3233,7 @@ const Materiel_Salle = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -3257,7 +3259,7 @@ const Materiel_Salle = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -4803,7 +4805,7 @@ const Materiel_Salle = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -4839,7 +4841,7 @@ const Materiel_Salle = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -5058,7 +5060,7 @@ const Materiel_Salle = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -5077,7 +5079,7 @@ const Materiel_Salle = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>

View File

@ -18,6 +18,8 @@ import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -89,7 +91,7 @@ const Materiels = (props) => {
const classes = useStyles();
const [Partner_Debut_Journee, setPartner_Debut_Journee] = useState("7:00");
const [Partner_Fin_Journee, setPartner_Fin_Journee] = useState("20:00");
registerLocale('fr', fr);
const [rows_affectations, setrows_affectations] = useState([]);
const [selectionModel_affectations, setSelectionModel_affectations] = React.useState([]);
const [selectionModel_ressources_associes, setselectionModel_ressources_associes] = React.useState([]);
@ -3039,7 +3041,7 @@ const Materiels = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -3065,7 +3067,7 @@ const Materiels = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -4642,7 +4644,7 @@ const Materiels = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -4678,7 +4680,7 @@ const Materiels = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -4897,7 +4899,7 @@ const Materiels = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -4916,7 +4918,7 @@ const Materiels = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>

View File

@ -11,6 +11,8 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import 'reactjs-popup/dist/index.css';
import { FcCancel, FcApproval, FcPlanner } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
@ -40,7 +42,7 @@ import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
const Module_Absence = (props) => {
const myconntected_employee_id = props.conntected_employee_id;
registerLocale('fr', fr);
const attendee_email = props.attendee_email;
const [selected_employee_id, setselected_employee_id] = useState(props.conntected_employee_id);
@ -1059,7 +1061,7 @@ const Module_Absence = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -1085,7 +1087,7 @@ const Module_Absence = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}

View File

@ -21,6 +21,8 @@ import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcSearch } from "react-icons/fc";
import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -76,7 +78,7 @@ import listPlugin from '@fullcalendar/list';
import multiMonthPlugin from '@fullcalendar/multimonth'
const Module_Activite = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);

View File

@ -9,6 +9,8 @@ import { useHistory } from "react-router-dom";
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -96,7 +98,7 @@ const useStyles = makeStyles((theme) => ({
}));
const Module_Agenda = (props) => {
registerLocale('fr', fr);
const myconntected_employee_id = props.conntected_employee_id;
const classes = useStyles();
const [selected_employee_id, setselected_employee_id] = useState(props.conntected_employee_id);
@ -1467,7 +1469,7 @@ const Module_Agenda = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -1493,7 +1495,7 @@ const Module_Agenda = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -1960,7 +1962,7 @@ const Module_Agenda = (props) => {
className="timeline_datepicker"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}

View File

@ -364,7 +364,7 @@ function Module_Connexion_Ent_Student() {
setcurrentpawdvisible(false);
}
};
return (
<div style={{ width: "100%", float: "left" }}>

View File

@ -17,6 +17,8 @@ import fileDownload from 'js-file-download'
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -109,7 +111,7 @@ const useStyles = makeStyles((theme) => ({
}));
const Module_Editique = (props) => {
registerLocale('fr', fr);
const classes = useStyles();
const myconntected_employee_id = props.conntected_employee_id;

View File

@ -45,6 +45,8 @@ import Autocomplete from '@mui/material/Autocomplete';
import { FcOpenedFolder } from "react-icons/fc";
import Module_Absence from "./Module_Absence";
import { RiMoreFill } from "react-icons/ri";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import moment from "moment";
@ -103,7 +105,7 @@ const useStyles = makeStyles((theme) => ({
}));
const Module_Ent_Mes_Documents = (props) => {
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();

View File

@ -45,6 +45,8 @@ import Autocomplete from '@mui/material/Autocomplete';
import { FcOpenedFolder } from "react-icons/fc";
import Module_Absence from "./Module_Absence";
import { RiMoreFill } from "react-icons/ri";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import moment from "moment";
@ -111,7 +113,7 @@ const useStyles = makeStyles((theme) => ({
}));
const Module_Ent_Mes_Formations = (props) => {
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();
@ -1733,7 +1735,7 @@ const Module_Ent_Mes_Formations = (props) => {
selected={sequence_startDate}
className="disabled_style session_caract_Dialog_DatePicker"
style={{ width: "99%" }}
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -1753,7 +1755,7 @@ const Module_Ent_Mes_Formations = (props) => {
selected={sequence_endDate}
className="disabled_style session_caract_Dialog_DatePicker"
style={{ width: "99%" }}
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}

View File

@ -45,6 +45,8 @@ import Autocomplete from '@mui/material/Autocomplete';
import { FcOpenedFolder } from "react-icons/fc";
import Module_Absence from "./Module_Absence";
import { RiMoreFill } from "react-icons/ri";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import moment from "moment";
@ -103,7 +105,7 @@ const useStyles = makeStyles((theme) => ({
}));
const Module_Ent_Mes_Notes = (props) => {
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();

View File

@ -45,6 +45,8 @@ import Autocomplete from '@mui/material/Autocomplete';
import { FcOpenedFolder } from "react-icons/fc";
import Module_Absence from "./Module_Absence";
import { RiMoreFill } from "react-icons/ri";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import moment from "moment";
@ -103,7 +105,7 @@ const useStyles = makeStyles((theme) => ({
}));
const Module_Ent_Mon_Planning = (props) => {
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();

View File

@ -131,6 +131,9 @@ const Module_Evaluation_Positionnement = (props) => {
},
},
{ field: 'mode_envoi', headerName: 'Mode Envoi', minwidth: 300, flex: 1, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: 'date_envoie', headerName: 'Date Envoi', width: 150, editable: false,
valueFormatter: (params) => {
@ -231,10 +234,12 @@ const Module_Evaluation_Positionnement = (props) => {
}
useEffect(() => {
setactionmass_q_position_val("");
setselected_session_id(props.related_collection_recid);
Getall_Survey_Q_Positionnement_By_Session();
GetListeInscrit();
}, [])
@ -400,7 +405,8 @@ const Module_Evaluation_Positionnement = (props) => {
}
const New_Option_q_position_Masse = [
{ "id": "resend", "label": "(R)envoyer", "value": "resend" },
{ "id": "resend", "label": "(R)envoyer email", "value": "resend" },
{ "id": "cold_eval_qr_code", "label": "Générer un QR Code", "value": "cold_eval_qr_code" },
{ "id": "print", "label": "Export (PDF) ", "value": "print" },
{ "id": "delete_survey", "label": "Supprimer ", "value": "delete_survey" },
]
@ -466,9 +472,67 @@ const Module_Evaluation_Positionnement = (props) => {
}
else if (String(actionmass_q_position_val) === String("cold_eval_qr_code")) {
var tab_ids_survey = []
for (var i = 0; i < selectionModel_q_position.length; i++) {
var myid = parseInt(String(selectionModel_q_position[i]));
var line = JSON.parse(Getall_Survey_Q_Positionnement_By_Session_result[myid]);
var line_id = JSON.parse(Getall_Survey_Q_Positionnement_By_Session_result[myid])._id;
tab_ids_survey.push(line_id);
}
// console.log(" ### tab_ids_survey === ", tab_ids_survey);
Export_QR_CODE_Q_Position(tab_ids_survey);
}
setactionmass_q_position_val("");
}
function Export_QR_CODE_Q_Position(tab_ids_survey) {
if (tab_ids_survey.length <= 0) {
// alert(" Aucune ligne selectionnée ");
setdisplay_alert_mysy("1");
setalert_message(" Aucune ligne selectionnée ");
setalert_type("error");
return;
}
const stored_cookie = getCookie('tokenmysypart');
var nom_fichier_cmd = "Q_Position_QR_Code.png";
var url = process.env.REACT_APP_API_URL + "myclass/api/Create_Evaluation_QR_Code_From_Survey/" + stored_cookie + "/" + selected_session_id + "/" + tab_ids_survey + "/pos";
setLoading(true);
axios.get(url, { responseType: 'blob', },)
.then((res) => {
setLoading(false);
//console.log(" In Export_Dashbord_to_CSV res.data = " + res.data);
if (String(res.data) === String("false")) {
alert("Impossible de générer le QR code (2) ");
} else {
fileDownload(res.data, nom_fichier_cmd)
}
}).catch((error) => {
setLoading(false);
console.error('Error:', error);
alert(" Impossible de générer le QR code ")
});
setLoading(false);
}
const [Send_Survey_By_Email_For_Ids_api, setSend_Survey_By_Email_For_Ids_api] = useState();
const [Send_Survey_By_Email_For_Ids_message, setSend_Survey_By_Email_For_Ids_message] = useState();
@ -1066,7 +1130,7 @@ const Module_Evaluation_Positionnement = (props) => {
<Button className="bton_emarge" onClick={(event) => {
Export_survey_datatab_class();
}}>Exporter (excel)</Button><br />
</div>
@ -1121,8 +1185,8 @@ const Module_Evaluation_Positionnement = (props) => {
onSelectionModelChange={(newSelectionModel) => {
setselectionModel_q_position(newSelectionModel);
/*if (newSelectionModel.length === 1)
handleClick_edit_session_From_Line(newSelectionModel);*/
if (newSelectionModel.length <= 0)
setactionmass_q_position_val("");
if (newSelectionModel.length !== 1) {
}
@ -1141,6 +1205,7 @@ const Module_Evaluation_Positionnement = (props) => {
form_code: JSON.parse(item).formulaire.code,
date_envoie: JSON.parse(item).date_envoi,
date_reponse: JSON.parse(item).date_reponse,
mode_envoi: JSON.parse(item).mode_envoi,
}
))}
@ -1220,7 +1285,8 @@ const Module_Evaluation_Positionnement = (props) => {
if (value && value.value) {
if (String(value.value) === "reinit" || String(value.value) === "resend"
|| String(value.value) === "print"
|| String(value.value) === "delete_survey") {
|| String(value.value) === "delete_survey"
|| String(value.value) === "cold_eval_qr_code") {
setactionmass_q_position_val(value.value);
@ -1238,8 +1304,7 @@ const Module_Evaluation_Positionnement = (props) => {
/>
{actionmass_q_position_val && String(actionmass_q_position_val).length > 1 && <nav className='block_en_mass_bton_action'>
{actionmass_q_position_val && String(actionmass_q_position_val).length > 2 && <nav className='block_en_mass_bton_action'>
<Popup
trigger={<Button className="bton_enreg" style={{ "width": "90%" }}>
@ -1276,6 +1341,10 @@ const Module_Evaluation_Positionnement = (props) => {
</font>
</font>}
{actionmass_q_position_val && String(actionmass_q_position_val) === "cold_eval_qr_code" && <nav>
Générer le QR du questionnaire de positionnement {selectionModel_q_position.length} ligne(s).
</nav>}
</div>
<div className="gest_actions">
@ -1292,6 +1361,7 @@ const Module_Evaluation_Positionnement = (props) => {
onClick={() => {
//console.log('modal closed ');
close();
setactionmass_q_position_val("");
}}
>
Annuler

View File

@ -1,55 +1,30 @@
import React, { useRef, useState, useEffect } from "react";
import TextField from '@mui/material/TextField';
import MenuItem from '@mui/material/MenuItem';
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
import Button from '@mui/material/Button';
import axios from "axios";
import { getCookie, setCookie } from 'react-use-cookie';
import { useHistory } from "react-router-dom";
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import { Editor } from '@tinymce/tinymce-react';
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import add_plus from "../mysy_img/plus.png";
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import "react-datepicker/dist/react-datepicker.css";
import InputAdornment from '@mui/material/InputAdornment';
import { AiFillCloseCircle } from "react-icons/ai";
import Box from '@mui/material/Box';
import { CiTrash } from "react-icons/ci";
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
import Dialog from '@mui/material/Dialog';
import DialogActions from '@mui/material/DialogActions';
import DialogContent from '@mui/material/DialogContent';
import DialogContentText from '@mui/material/DialogContentText';
import DialogTitle from '@mui/material/DialogTitle';
import { HiOutlineDocumentDuplicate } from "react-icons/hi2";
import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
import { Fab } from "@material-ui/core";
import fileDownload from 'js-file-download'
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
import Timeline from '@mui/lab/Timeline';
import TimelineItem from '@mui/lab/TimelineItem';
import TimelineSeparator from '@mui/lab/TimelineSeparator';
import TimelineConnector from '@mui/lab/TimelineConnector';
import TimelineContent from '@mui/lab/TimelineContent';
import TimelineDot from '@mui/lab/TimelineDot';
import TimelineOppositeContent, {
timelineOppositeContentClasses,
} from '@mui/lab/TimelineOppositeContent';
import FastfoodIcon from '@mui/icons-material/Fastfood';
import LaptopMacIcon from '@mui/icons-material/LaptopMac';
import HotelIcon from '@mui/icons-material/Hotel';
import RepeatIcon from '@mui/icons-material/Repeat';
import Typography from '@mui/material/Typography';
} from '@mui/lab/TimelineOppositeContent';
import { FcInfo } from "react-icons/fc";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
const Module_Historique_Action = (props) => {
const history = useHistory();
@ -78,14 +53,16 @@ const Module_Historique_Action = (props) => {
useEffect(() => {
//menu_info();
Get_List_Historic_Action();
//var divh = document.getElementById('div_header').offsetTop;
}, [related_collection_recid]);
const [max_history_line, setmax_history_line] = useState("");
const [Get_List_Historic_Action_api, setGet_List_Historic_Action_api] = useState();
const [Get_List_Historic_Action_message, setGet_List_Historic_Action_message] = useState();
const [Get_List_Historic_Action_result, setGet_List_Historic_Action_result] = useState();
@ -110,6 +87,7 @@ const Module_Historique_Action = (props) => {
if (String(res.data.status) === String("true")) {
setGet_List_Historic_Action_api("true");
setGet_List_Historic_Action_result(res.data.message);
setmax_history_line(res.data.max_line);
}
else if (String(res.data.status) === String("Err_Connexion")) {
@ -145,7 +123,7 @@ const Module_Historique_Action = (props) => {
>
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> MySy Information</DialogTitle>
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> MySy Information</DialogTitle>
<DialogContent>
<DialogContentText>
{Dialog_1_message}
@ -158,8 +136,12 @@ const Module_Historique_Action = (props) => {
</DialogActions>
</Dialog>
<div className="div_row" id="div_header" style={{border:"none"}}>
<nav style={{fontSize:"calc(1.1rem + .3vw)", color:"rgb(10, 42, 77)"}}> Historique des actions </nav>
<div className="div_row" id="div_header" style={{ border: "none" }}>
<Tooltip className="tooltip_css" id="tooltip_historique01" style={{ "fontSize": "12px", fontFamily: "DM Sans" }} />
<a data-tooltip-id="tooltip_historique01" data-tooltip-html={" Affichage des " + `${max_history_line}` + " derniers événements(s) "}>
<nav style={{ fontSize: "calc(1.1rem + .3vw)", color: "rgb(10, 42, 77)", fontFamily: "DM Sans" }}> Historique des actions &nbsp; <FcInfo /> </nav>
</a>
</div>
<Timeline
@ -174,14 +156,14 @@ const Module_Historique_Action = (props) => {
Get_List_Historic_Action_result.map((event) => (
<TimelineItem>
<TimelineOppositeContent color="textSecondary" style={{"fontSize":"13px"}}>
{JSON.parse(event).date_update}
<TimelineOppositeContent color="textSecondary" style={{ "fontSize": "13px" }}>
{JSON.parse(event).date_update}
</TimelineOppositeContent>
<TimelineSeparator>
<TimelineDot />
<TimelineConnector />
</TimelineSeparator>
<TimelineContent style={{"fontSize":"13px"}}><b>{JSON.parse(event).connected_user_nom} :</b> {JSON.parse(event).action_description} </TimelineContent>
<TimelineContent style={{ "fontSize": "13px" }}><b>{JSON.parse(event).connected_user_nom} :</b> {JSON.parse(event).action_description} </TimelineContent>
</TimelineItem>
))}

View File

@ -21,6 +21,8 @@ import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcSearch } from "react-icons/fc";
import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -83,7 +85,7 @@ import { AiOutlineClear } from "react-icons/ai";
import { Parser } from "html-to-react";
const Module_IA = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);

View File

@ -21,6 +21,8 @@ import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcSearch } from "react-icons/fc";
import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -80,7 +82,7 @@ import Checkbox from '@mui/material/Checkbox';
const Module_Jury_Selection_Apprenants = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);

View File

@ -659,7 +659,7 @@ const Module_Selection_Apprenants = (props) => {
}
{/*** FIN Affichage des messages d'alerte*/}
<nav style={{ "border": "None", "fontSize": "20px", "paddingTop": "10px", "paddingLeft": "5px" }}> Selection des Apprenants & Groupe d'apprenants </nav>

File diff suppressed because it is too large Load Diff

View File

@ -17,6 +17,8 @@ import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcSearch } from "react-icons/fc";
import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow, FcTemplate } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -96,7 +98,7 @@ const useStyles = makeStyles((theme) => ({
const Module_Session_Planification = (props) => {
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();
@ -3235,6 +3237,9 @@ const Module_Session_Planification = (props) => {
//setOpen(false);
};
const [indisponibilite_start, setindisponibilite_start] = useState("");
const [indisponibilite_end, setindisponibilite_end] = useState("");
const [Get_Ressource_Avabilities_avability_check, setGet_Ressource_Avabilities_avability_check] = useState("");
const [Get_Ressource_Avabilities_api, setGet_Ressource_Avabilities_api] = useState();
@ -3246,25 +3251,32 @@ const Module_Session_Planification = (props) => {
var event_start = String(selected_sequence_startDate);
var event_end = String(selected_sequence_endDate);
console.log(" ### sequence_startDate 333 = ", sequence_startDate);
console.log(" ### selected_sequence_startDate 444 = ", selected_sequence_startDate)
// console.log(" ### sequence_startDate 333 = ", sequence_startDate);
// console.log(" ### selected_sequence_startDate 444 = ", selected_sequence_startDate)
var local_event_start = moment(sequence_startDate).format("DD/MM/YYYY HH:mm");
var local_event_end = moment(sequence_endDate).format("DD/MM/YYYY HH:mm");
setindisponibilite_start(local_event_start);
setindisponibilite_end(local_event_end);
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("related_collection", Dialog_seq_ressource_1_selected_type_ressource);
form.append("related_collection_recid", local_related_collection_recid);
// form.append("event_start", String(event_start));
// form.append("event_end", String(event_end));
form.append("event_start", String(local_event_start));
form.append("event_end", String(local_event_end));
//console.log(" ### form = ", form)
// console.log(" ### form = ", form)
//return;
// return;
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Is_Ressource_Available/";
@ -3277,8 +3289,8 @@ const Module_Session_Planification = (props) => {
if (String(res.data.status) === String("true")) {
/*console.log(" In Get_Ressource_Avabilities res.data.status = " + res.data.status);
console.log(" In Get_Ressource_Avabilities res.data.message r_class = " + res.data.message);
console.log(" In Get_Ressource_Avabilities res.data.avability_check r_class = " + res.data.avability_check);
*/
console.log(" In Get_Ressource_Avabilities res.data.avability_check r_class = " + res.data.avability_check);*/
setGet_Ressource_Avabilities_api("true");
setGet_Ressource_Avabilities_result(res.data.message);
setGet_Ressource_Avabilities_avability_check(res.data.avability_check);
@ -3311,6 +3323,9 @@ const Module_Session_Planification = (props) => {
form.append("related_collection", Dialog_seq_ressource_1_selected_type_ressource);
form.append("related_collection_recid", local_related_collection_recid);
setindisponibilite_start(String(selected_sequence_startDate));
setindisponibilite_end(String(selected_sequence_endDate));
form.append("event_start", String(selected_sequence_startDate));
form.append("event_end", String(selected_sequence_endDate));
@ -3909,7 +3924,7 @@ const Module_Session_Planification = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style "
fullWidth
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -4079,7 +4094,7 @@ const Module_Session_Planification = (props) => {
<div className="session_caract_Dialog koUpdateData">
<Tooltip className="tooltip_css" id="ressource_indispo_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="ressource_indispo_01" data-tooltip-html="Cette ressource n'est pas disponible sur ce créneau. Verifiez son agenda">
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {selected_sequence_startDate} au {selected_sequence_endDate} </font>
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {String(indisponibilite_start)} au {String(indisponibilite_end)} </font>
</a>
</div>
}
@ -4450,7 +4465,7 @@ const Module_Session_Planification = (props) => {
</div>
<div className="session_caract_Dialog" style={{width:'50%'}}> Debut
<div className="session_caract_Dialog" style={{ width: '50%' }}> Debut
<DatePicker
name="event_dialog_start"
id="event_dialog_start"
@ -4463,7 +4478,7 @@ const Module_Session_Planification = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
style={{ width: "99%" }}
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -4475,7 +4490,7 @@ const Module_Session_Planification = (props) => {
</div>
<div className="session_caract_Dialog" style={{width:'50%'}}> Fin
<div className="session_caract_Dialog" style={{ width: '50%' }}> Fin
<DatePicker
name="event_dialog_end"
id="event_dialog_end"
@ -4489,7 +4504,7 @@ const Module_Session_Planification = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
style={{ width: "99%" }}
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -4545,7 +4560,7 @@ const Module_Session_Planification = (props) => {
</div>
{/*} <div className="session_caract_Dialog_comment_2_lines" > Objectif
{/*} <div className="session_caract_Dialog_comment_2_lines" > Objectif
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
@ -4753,7 +4768,7 @@ const Module_Session_Planification = (props) => {
<div className="session_caract_Dialog koUpdateData">
<Tooltip className="tooltip_css" id="ressource_indispo_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="ressource_indispo_01" data-tooltip-html="Cette ressource n'est pas disponible sur ce créneau. Verifiez son agenda">
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {String(selected_sequence_startDate)} au {String(selected_sequence_endDate)} </font>
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {String(indisponibilite_start)} au {String(indisponibilite_end)} </font>
</a>
</div>
}
@ -4772,7 +4787,7 @@ const Module_Session_Planification = (props) => {
}
{String(Dialog_seq_ressource_1_selected_type_ressource) === "ressource_materielle" && <div className="session_caract_Dialog" > Ressource Materielle b
{String(Dialog_seq_ressource_1_selected_type_ressource) === "ressource_materielle" && <div className="session_caract_Dialog" > Ressource Materielle
<Autocomplete
disablePortal
@ -4806,7 +4821,7 @@ const Module_Session_Planification = (props) => {
<div className="session_caract_Dialog koUpdateData">
<Tooltip className="tooltip_css" id="ressource_indispo_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="ressource_indispo_01" data-tooltip-html="Cette ressource n'est pas disponible sur ce créneau. Verifiez son agenda">
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {String(selected_sequence_startDate)} au {String(selected_sequence_endDate)} </font>
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {String(indisponibilite_start)} au {String(indisponibilite_end)} </font>
</a>
</div>
}
@ -5005,7 +5020,7 @@ const Module_Session_Planification = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
style={{ width: "99%" }}
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -5031,7 +5046,7 @@ const Module_Session_Planification = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
style={{ width: "99%" }}
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -5371,7 +5386,7 @@ const Module_Session_Planification = (props) => {
filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style "
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -5411,7 +5426,7 @@ const Module_Session_Planification = (props) => {
filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style "
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -5648,7 +5663,7 @@ const Module_Session_Planification = (props) => {
>
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> MySy Information</DialogTitle>
<DialogContent className="DialogContent_width" style={{ width: "45rem", minHeight:'45rem' }}>
<DialogContent className="DialogContent_width" style={{ width: "45rem", minHeight: '45rem' }}>
<DialogContentText>
{Dialog_DIALOG_AGENDA_message}
</DialogContentText>
@ -5738,7 +5753,7 @@ const Module_Session_Planification = (props) => {
<div className="session_caract_Dialog koUpdateData">
<Tooltip className="tooltip_css" id="ressource_indispo_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="ressource_indispo_01" data-tooltip-html="Cette ressource n'est pas disponible sur ce créneau. Verifiez son agenda">
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {selected_sequence_startDate} au {selected_sequence_endDate} </font>
<FcCancel /><FcInfo /> <font size="10px" color="orange"> /!\ Indisponible du {String(indisponibilite_start)} au {String(indisponibilite_end)} </font>
</a>
</div>
}
@ -5842,8 +5857,6 @@ const Module_Session_Planification = (props) => {
</div>}
{Getall_List_Sequence_Ressource_result && Getall_List_Sequence_Ressource_result.length > 0 && <div className="session_data" style={{ "border": "None" }}>
<div style={{ height: 550, width: '100%', paddingRight: '1px' }}>
@ -6136,7 +6149,7 @@ const Module_Session_Planification = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
style={{ width: "99%" }}
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -6162,7 +6175,7 @@ const Module_Session_Planification = (props) => {
className="disabled_style session_caract_Dialog_DatePicker"
style={{ width: "99%" }}
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}

View File

@ -20,6 +20,8 @@ import { Tooltip } from 'react-tooltip'
import fileDownload from 'js-file-download'
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -50,7 +52,7 @@ import MoreVertIcon from '@mui/icons-material/MoreVert';
import Menu from '@mui/material/Menu';
const Modules_Mes_Documents = (props) => {
registerLocale('fr', fr);
const { action, orderid } = useParams();
@ -973,7 +975,7 @@ const Modules_Mes_Documents = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style datepicker_complement"
locale='fr-FR'
locale={'fr'}
/>
@ -996,7 +998,7 @@ const Modules_Mes_Documents = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style datepicker_complement"
locale='fr-FR'
locale={'fr'}
/>
</div>

View File

@ -2543,8 +2543,8 @@ const Mon_Catalogue_Public = (props) => {
axios.post(myurl, form).then(res => {
if (String(res.data.status) === "true") {
//console.log(" In Get_Subdomain_Partner_Data res.data.status = " + res.data.status);
// console.log(" In Get_Subdomain_Partner_Data res.data.message r_class = " + res.data.message);
console.log(" In Get_Subdomain_Partner_Data res.data.status = " + res.data.status);
console.log(" In Get_Subdomain_Partner_Data res.data.message r_class = " + res.data.message);
setGet_Subdomain_Partner_Data_api("true");
setGet_Subdomain_Partner_Data_result(res.data.message);
@ -2876,7 +2876,7 @@ const Mon_Catalogue_Public = (props) => {
&nbsp;
</div>
</div>
<div className="bloc_milieu_model_2">
@ -2951,6 +2951,8 @@ const Mon_Catalogue_Public = (props) => {
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_2_txt} </nav>}
</div>}
{String(New_Get_Subdomain_Partner_Data_result[0].affiche_contact) === "1" && <div className="bloc_milieu_text_model_2_droite">
<font className="bloc_logo_indic_contact_text_model_2"> Contact </font> <br />

View File

@ -34,6 +34,8 @@ import Autocomplete from '@mui/material/Autocomplete';
import TextField from '@mui/material/TextField';
import { format } from 'date-fns'
import moment from "moment";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
@ -48,7 +50,7 @@ import { FcPrint } from "react-icons/fc";
const Mon_Tableau_De_Bord = (props) => {
registerLocale('fr', fr);
const theme = useTheme();
const colors = tokens(theme.palette.mode);
const history = useHistory();
@ -1417,7 +1419,7 @@ const Mon_Tableau_De_Bord = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -19,6 +19,8 @@ import moment from "moment";
import SendIcon from '@mui/icons-material/Send';
import axios from "axios";
import { Editor } from '@tinymce/tinymce-react';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'

View File

@ -17,6 +17,8 @@ import fileDownload from 'js-file-download';
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcCancel, FcApproval, FcAcceptDatabase, } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -85,6 +87,7 @@ const useStyles = makeStyles((theme) => ({
}));
const Notes_Evaluation = (props) => {
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();
const [submenu, setsubmenu] = useState("");
@ -5086,7 +5089,7 @@ const Notes_Evaluation = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -5113,7 +5116,7 @@ const Notes_Evaluation = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -5562,7 +5565,7 @@ const Notes_Evaluation = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
@ -5589,7 +5592,7 @@ const Notes_Evaluation = (props) => {
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}

View File

@ -15,6 +15,8 @@ import Abonnement from "./Abonnement";
import { BorderBottom, ConstructionOutlined, PropaneSharp, ResetTvRounded } from "@mui/icons-material";
import { useHistory } from "react-router-dom";
import CheckOut from "./CheckOut";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
@ -100,6 +102,7 @@ const useStyles = makeStyles((theme) => ({
}));
const PartnerClientActivite = (props) => {
registerLocale('fr', fr);
const classes_dialog = useStyles();
const history = useHistory();
var date_today_90j = new Date();
@ -1564,7 +1567,7 @@ const PartnerClientActivite = (props) => {
filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -2173,7 +2176,7 @@ const PartnerClientActivite = (props) => {
filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -2410,7 +2413,7 @@ const PartnerClientActivite = (props) => {
filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>

View File

@ -22,6 +22,8 @@ import fileDownload from 'js-file-download'
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -106,7 +108,7 @@ const useStyles = makeStyles((theme) => ({
const Partner_Commande = (props) => {
const { action, orderid } = useParams();
registerLocale('fr', fr);
const classes = useStyles();
const history = useHistory();
@ -5203,7 +5205,7 @@ const Partner_Commande = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style "
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -5243,7 +5245,7 @@ const Partner_Commande = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style"
fullWidth
locale='fr-FR'
locale={'fr'}
/>
@ -6444,7 +6446,7 @@ const Partner_Commande = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
style={{ "width": "100%" }}
locale='fr-FR'
locale={'fr'}
fullWidth
/>
</div>
@ -6466,7 +6468,7 @@ const Partner_Commande = (props) => {
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
fullWidth
/>
</div>
@ -7503,7 +7505,7 @@ const Partner_Commande = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}
@ -7541,7 +7543,7 @@ const Partner_Commande = (props) => {
//filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
locale={'fr'}
/>
</div>}

View File

@ -218,11 +218,13 @@ const Partner_Config_Formulaires = (props) => {
const columns_question = [
{ field: '_id', headerName: '_id', hide: true },
{ field: 'id', headerName: 'id', hide: true },
{ field: 'updatable', headerName: 'updatable', hide: false },
{ field: 'list_choix', headerName: 'Liste Choix', hide: true },
{ field: 'list_case_cocher', headerName: 'Liste C.A.C', hide: true },
{ field: 'question', headerName: 'Question', flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'type', headerName: 'Type', flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'rang', headerName: 'Rang', flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'max_note', headerName: 'Note MAx', flex: 1, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
@ -361,6 +363,8 @@ const Partner_Config_Formulaires = (props) => {
const Dialog_Question_handleClose_buton = () => {
setDialog_Question_open(false);
setquestion_rang('99');
setdata_changed("0");
};
@ -396,6 +400,7 @@ const Partner_Config_Formulaires = (props) => {
var local_code = JSON.parse(x).code;
var local_nom = JSON.parse(x).nom;
var local_default = JSON.parse(x).default;
var local_rang = JSON.parse(x).rang;
//---
@ -406,6 +411,7 @@ const Partner_Config_Formulaires = (props) => {
"nom": local_nom,
"code": local_code,
"default": local_default,
"rang": local_rang,
};
new_data2.push(node);
});
@ -1111,10 +1117,15 @@ const Partner_Config_Formulaires = (props) => {
const [question_question, setquestion_question] = useState("");
const [question_type, setquestion_type] = useState("");
const [question_max_note, setquestion_max_note] = useState("2");
const [question_rang, setquestion_rang] = useState("99");
const [question_updatable, setquestion_updatable] = useState("0");
function Ajouter_Question() {
setselected_question_id("");
setquestion_rang("99");
setquestion_updatable('0');
setquestion_question("");
setquestion_type("");
setquestion_max_note("2");
@ -1152,6 +1163,7 @@ const Partner_Config_Formulaires = (props) => {
form.append("question", question_question);
form.append("type", question_type);
form.append("max_note", question_max_note);
form.append("rang", question_rang);
if (String(question_type) === "note") {
@ -1237,12 +1249,16 @@ const Partner_Config_Formulaires = (props) => {
setselected_question_id("");
setquestion_question("");
setquestion_type("");
setquestion_rang("99");
setquestion_updatable("0");
setquestion_max_note("2");
settab_qcm_choix([]);
setadd_new_qcm_choix("");
setnew_qcm_choix_value("");
setstatistic_checked(false);
setdata_changed("0");
setalert_checked(false);
setalert_seuil_value("");
@ -1393,6 +1409,9 @@ const Partner_Config_Formulaires = (props) => {
const [nb_qcm_choix, setnb_qcm_choix] = useState(3);
const [data_changed, setdata_changed] = useState("");
const [tab_qcm_choix, settab_qcm_choix] = useState([]);
const [add_new_qcm_choix, setadd_new_qcm_choix] = useState("");
const [new_qcm_choix_value, setnew_qcm_choix_value] = useState("");
@ -1447,6 +1466,7 @@ const Partner_Config_Formulaires = (props) => {
const handleChange_statistic_checked = (event) => {
setstatistic_checked(event.target.checked);
setdata_changed("1");
};
@ -1456,6 +1476,7 @@ const Partner_Config_Formulaires = (props) => {
const handleChange_alert_checked = (event) => {
setalert_seuil_value("");
setalert_checked(event.target.checked);
setdata_changed("1");
};
@ -1550,309 +1571,595 @@ const Partner_Config_Formulaires = (props) => {
</DialogContentText>
<div className="session_caract_Dialog" > La question
<TextField
autoFocus
margin="dense"
id="field_question_question"
name="field_question_question"
fullWidth
//variant="standard"
value={question_question}
onChange={(e) => {
setquestion_question(e.target.value);
}}
/>
</div>
<div className="session_caract_Dialog" > Type
{New_Option_type_Question && New_Option_type_Question.length > 0 &&
<Autocomplete
disablePortal
id="field_question_type"
name="field_question_type"
{String(question_updatable) !== "0" && <>
<div className="session_caract_Dialog" > La question
<TextField
autoFocus
margin="dense"
id="field_question_question"
name="field_question_question"
fullWidth
value={question_question}
onChange={(e) => {
setquestion_question(e.target.value);
setdata_changed("1");
options={New_Option_type_Question}
value={New_Option_type_Question.filter((data) => (data).value === String(question_type))[0].label}
onChange={(event, value) => {
setalert_checked(false);
setalert_seuil_value("");
if (value && value.value) {
setquestion_type(value.value);
} else {
setquestion_type("");
}
// Reinitialisation du "statistique"
setstatistic_checked(false);
}}
/>
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>}
</div>
{String(question_type) === "note" && <div className="session_caract_Dialog" > Note sur ?
<TextField
autoFocus
margin="dense"
id="field_question_question"
name="field_question_question"
fullWidth
type="number"
InputProps={{ inputProps: { min: 2, max: 21 } }}
value={question_max_note}
onChange={(e) => {
if (!isNaN(Number((e.target.value)))) {
setquestion_max_note(e.target.value);
}
}
}
/>
</div>}
{String(question_type) === "qcm" && <div className="session_caract_Dialog" > QCM
{tab_qcm_choix &&
tab_qcm_choix.map((choix) => (
<div>
<TextField
value={choix}
autoFocus
margin="dense"
id="field_question_qcm"
name="field_question_qcm"
fullWidth
onChange={(e) => {
// setquestion_max_note(e.target.value);
}
}
/>
</div>
))}
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
setadd_new_qcm_choix("1")
}}>
<IoMdAddCircleOutline /> Ajouter un choix</nav>
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
remove_last_list_to_qcm();
setadd_new_qcm_choix("");
}} > <IoMdRemoveCircleOutline /> Supprimer un choix</nav>
{add_new_qcm_choix && String(add_new_qcm_choix) === "1" &&
<div>
<TextField
autoFocus
margin="dense"
id="field_question_qcm_new"
name="field_question_qcm_new"
fullWidth
value={new_qcm_choix_value}
onChange={(e) => {
setnew_qcm_choix_value(e.target.value);
}
}
/>
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
setadd_new_qcm_choix("");
add_new_list_to_qcm();
}}> <LiaSave /> Enregistrer
</nav>
</div>
}
</div>}
{String(question_type) === "checkbox" && <div className="session_caract_Dialog" > checkbox
{tab_checkbox_choix &&
tab_checkbox_choix.map((choix) => (
<div>
<TextField
value={choix}
autoFocus
margin="dense"
id="field_question_checkbox"
name="field_question_checkbox"
fullWidth
onChange={(e) => {
// setquestion_max_note(e.target.value);
}
}
/>
</div>
))}
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
setadd_new_checkbox_choix("1")
}}>
<IoMdAddCircleOutline /> Ajouter un choix</nav>
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
remove_last_list_to_checkbox();
setadd_new_checkbox_choix("");
}} > <IoMdRemoveCircleOutline /> Supprimer un choix</nav>
{add_new_checkbox_choix && String(add_new_checkbox_choix) === "1" &&
<div>
<TextField
autoFocus
margin="dense"
id="field_question_checkbox_new"
name="field_question_checkbox_new"
fullWidth
value={new_checkbox_choix_value}
onChange={(e) => {
setnew_checkbox_choix_value(e.target.value);
}
}
/>
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
setadd_new_checkbox_choix("");
add_new_list_to_checkbox();
}}> <LiaSave /> Enregistrer
</nav>
</div>
}
</div>}
{(String(question_type) === "note" || String(question_type) === "bool" || String(question_type) === "entier") && <div className="session_caract_Dialog" >
<div class="separator">
<nav className="separator_label">
Configuration </nav>
</div>
<div>
<Tooltip className="tooltip_css" id="statistic_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="statistic_01" data-tooltip-html="En cochant cette case, le système va créer une statistique associée à la question.">
<div className="session_caract_Dialog" > Type
{New_Option_type_Question && New_Option_type_Question.length > 0 &&
<Autocomplete
disablePortal
id="field_question_type"
name="field_question_type"
fullWidth
options={New_Option_type_Question}
value={New_Option_type_Question.filter((data) => (data).value === String(question_type))[0].label}
onChange={(event, value) => {
setalert_checked(false);
setalert_seuil_value("");
if (value && value.value) {
setquestion_type(value.value);
} else {
setquestion_type("");
}
setdata_changed("1");
// Reinitialisation du "statistique"
setstatistic_checked(false);
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>}
</div>
<div className="session_caract_Dialog" > Rang cc
<TextField
autoFocus
margin="dense"
id="field_question_rang"
name="field_question_rang"
fullWidth
type="number"
InputProps={{ inputProps: { min: 0, max: 99 } }}
value={question_rang}
onChange={(e) => {
if (!isNaN(Number((e.target.value)))) {
setquestion_rang(e.target.value);
setdata_changed("1");
}
}
}
/>
</div>
{String(question_type) === "note" && <div className="session_caract_Dialog" > Note sur ?
<TextField
autoFocus
margin="dense"
id="field_question_question"
name="field_question_question"
fullWidth
type="number"
InputProps={{ inputProps: { min: 2, max: 21 } }}
value={question_max_note}
onChange={(e) => {
if (!isNaN(Number((e.target.value)))) {
setquestion_max_note(e.target.value);
}
setdata_changed("1");
}
}
/>
</div>}
{String(question_type) === "qcm" && <div className="session_caract_Dialog" > QCM
{tab_qcm_choix &&
tab_qcm_choix.map((choix) => (
<div>
<TextField
value={choix}
autoFocus
margin="dense"
id="field_question_qcm"
name="field_question_qcm"
fullWidth
onChange={(e) => {
setdata_changed("1");
}
}
/>
</div>
))}
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
setadd_new_qcm_choix("1")
}}>
<IoMdAddCircleOutline /> Ajouter un choix</nav>
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
remove_last_list_to_qcm();
setadd_new_qcm_choix("");
}} > <IoMdRemoveCircleOutline /> Supprimer un choix</nav>
{add_new_qcm_choix && String(add_new_qcm_choix) === "1" &&
<div>
<TextField
autoFocus
margin="dense"
id="field_question_qcm_new"
name="field_question_qcm_new"
fullWidth
value={new_qcm_choix_value}
onChange={(e) => {
setnew_qcm_choix_value(e.target.value);
}
}
/>
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
setadd_new_qcm_choix("");
add_new_list_to_qcm();
}}> <LiaSave /> Enregistrer
</nav>
</div>
}
</div>}
{String(question_type) === "checkbox" && <div className="session_caract_Dialog" > checkbox
{tab_checkbox_choix &&
tab_checkbox_choix.map((choix) => (
<div>
<TextField
value={choix}
autoFocus
margin="dense"
id="field_question_checkbox"
name="field_question_checkbox"
fullWidth
onChange={(e) => {
setdata_changed("1");
}
}
/>
</div>
))}
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
setadd_new_checkbox_choix("1")
}}>
<IoMdAddCircleOutline /> Ajouter un choix</nav>
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
remove_last_list_to_checkbox();
setadd_new_checkbox_choix("");
}} > <IoMdRemoveCircleOutline /> Supprimer un choix</nav>
{add_new_checkbox_choix && String(add_new_checkbox_choix) === "1" &&
<div>
<TextField
autoFocus
margin="dense"
id="field_question_checkbox_new"
name="field_question_checkbox_new"
fullWidth
value={new_checkbox_choix_value}
onChange={(e) => {
setnew_checkbox_choix_value(e.target.value);
setdata_changed("1");
}
}
/>
<nav className="session_caract_Dialog_icone_bton_add_reduce" onClick={(event) => {
setadd_new_checkbox_choix("");
add_new_list_to_checkbox();
}}> <LiaSave /> Enregistrer
</nav>
</div>
}
</div>}
{(String(question_type) === "note" || String(question_type) === "bool" || String(question_type) === "entier") && <div className="session_caract_Dialog" >
<div class="separator">
<nav className="separator_label">
Configuration </nav>
</div>
<div>
<Tooltip className="tooltip_css" id="statistic_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="statistic_01" data-tooltip-html="En cochant cette case, le système va créer une statistique associée à la question.">
<nav style={{ width: "100%", float: "left" }}>
<nav style={{ width: "75%", float: "left", "marginTop": '0.5rem' }}>
Créer une statistique &nbsp;<FcInfo /> &nbsp; &nbsp; &nbsp;
</nav>
<nav style={{ width: "20%", float: "left", "textAlign": "right" }}>
<Checkbox
checked={statistic_checked}
onChange={handleChange_statistic_checked}
inputProps={{ 'aria-label': 'controlled' }}
/>
</nav>
</nav>
</a>
</div>
<div>
<nav style={{ width: "100%", float: "left" }}>
<nav style={{ width: "75%", float: "left", "marginTop": '0.5rem' }}>
Créer une statistique &nbsp;<FcInfo /> &nbsp; &nbsp; &nbsp;
Alert sur réponse &nbsp;<FcInfo /> &nbsp; &nbsp; &nbsp;
</nav>
<nav style={{ width: "20%", float: "left", "textAlign": "right" }}>
<Checkbox
checked={statistic_checked}
onChange={handleChange_statistic_checked}
checked={alert_checked}
onChange={handleChange_alert_checked}
inputProps={{ 'aria-label': 'controlled' }}
/>
</nav>
{alert_checked &&
<div>
<nav style={{ width: "50%", float: "left", "marginTop": '0.5rem' }}>
Seuil/Valeur déclenchement &nbsp;<FcInfo /> &nbsp; &nbsp; &nbsp;
</nav>
{(String(question_type) === "note" || String(question_type) === "entier") &&
<nav style={{ width: "49%", float: "left", "textAlign": "right" }}>
<TextField
autoFocus
margin="dense"
id="seuil_oui_non_number"
name="seuil_oui_non_number"
className="disabled_style"
type="number"
InputProps={{ inputProps: { min: 2, max: 9999 } }}
value={alert_seuil_value}
onChange={(event) => {
setalert_seuil_value(event.target.value);
setdata_changed("1");
}}
/>
</nav>}
{(String(question_type) === "bool" || String(question_type) === "entier") &&
<nav style={{ width: "49%", float: "left", "textAlign": "right" }}>
<Autocomplete
disablePortal
name="seuil_oui_non"
id="seuil_oui_non"
className="disabled_style"
options={New_Option_Oui_Non}
value={New_Option_Oui_Non.filter((data) => (data).value === String(alert_seuil_value))[0].label}
onChange={(event, value) => {
if (value && value.value) {
setalert_seuil_value(value.value);
} else {
setalert_seuil_value("");
}
setdata_changed("1");
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
</nav>}
</div>
}
</nav>
</a>
</div>
</div>}
</>}
{String(question_updatable) === "0" &&
<> <div className="session_caract_Dialog" > La question
<TextField
autoFocus
margin="dense"
id="field_question_question"
name="field_question_question"
disabled={true}
fullWidth
value={question_question}
/>
</div>
<div>
<nav style={{ width: "100%", float: "left" }}>
<div className="session_caract_Dialog" > Type
<nav style={{ width: "75%", float: "left", "marginTop": '0.5rem' }}>
Alert sur réponse &nbsp;<FcInfo /> &nbsp; &nbsp; &nbsp;
</nav>
<nav style={{ width: "20%", float: "left", "textAlign": "right" }}>
{New_Option_type_Question && New_Option_type_Question.length > 0 &&
<Checkbox
checked={alert_checked}
onChange={handleChange_alert_checked}
inputProps={{ 'aria-label': 'controlled' }}
/>
</nav>
<Autocomplete
disablePortal
id="field_question_type"
name="field_question_type"
fullWidth
disabled={true}
options={New_Option_type_Question}
value={New_Option_type_Question.filter((data) => (data).value === String(question_type))[0].label}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>}
</div>
<div className="session_caract_Dialog" > Rang nn cc
<TextField
autoFocus
margin="dense"
id="field_question_rang"
name="field_question_rang"
fullWidth
type="number"
InputProps={{ inputProps: { min: 0, max: 99 } }}
value={question_rang}
onChange={(e) => {
if (!isNaN(Number((e.target.value)))) {
setquestion_rang(e.target.value);
setdata_changed("1");
}
}
}
/>
</div>
{String(question_type) === "note" && <div className="session_caract_Dialog" > Note sur ?
<TextField
autoFocus
margin="dense"
id="field_question_question"
name="field_question_question"
disabled={true}
fullWidth
type="number"
InputProps={{ inputProps: { min: 2, max: 21 } }}
value={question_max_note}
/>
</div>}
{String(question_type) === "qcm" && <div className="session_caract_Dialog" > QCM
{tab_qcm_choix &&
tab_qcm_choix.map((choix) => (
<div>
<TextField
value={choix}
autoFocus
margin="dense"
id="field_question_qcm"
name="field_question_qcm"
disabled={true}
fullWidth
/>
</div>
))}
{add_new_qcm_choix && String(add_new_qcm_choix) === "1" &&
{alert_checked &&
<div>
<nav style={{ width: "50%", float: "left", "marginTop": '0.5rem' }}>
Seuil/Valeur déclenchement &nbsp;<FcInfo /> &nbsp; &nbsp; &nbsp;
</nav>
{(String(question_type) === "note" || String(question_type) === "entier") &&
<nav style={{ width: "49%", float: "left", "textAlign": "right" }}>
<TextField
autoFocus
margin="dense"
id="field_question_qcm_new"
name="field_question_qcm_new"
<TextField
autoFocus
margin="dense"
id="seuil_oui_non_number"
name="seuil_oui_non_number"
className="disabled_style"
type="number"
InputProps={{ inputProps: { min: 2, max: 9999 } }}
value={alert_seuil_value}
onChange={(event) => {
setalert_seuil_value(event.target.value);
fullWidth
disabled={true}
value={new_qcm_choix_value}
}}
/>
</nav>}
/>
{(String(question_type) === "bool" || String(question_type) === "entier") &&
<nav style={{ width: "49%", float: "left", "textAlign": "right" }}>
<Autocomplete
disablePortal
name="seuil_oui_non"
id="seuil_oui_non"
className="disabled_style"
options={New_Option_Oui_Non}
value={New_Option_Oui_Non.filter((data) => (data).value === String(alert_seuil_value))[0].label}
onChange={(event, value) => {
if (value && value.value) {
setalert_seuil_value(value.value);
} else {
setalert_seuil_value("");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
</nav>}
</div>
}
</nav>
</div>
</div>}
</div>}
{String(question_type) === "checkbox" && <div className="session_caract_Dialog" > checkbox
{tab_checkbox_choix &&
tab_checkbox_choix.map((choix) => (
<div>
<TextField
value={choix}
autoFocus
margin="dense"
id="field_question_checkbox"
name="field_question_checkbox"
disabled={true}
fullWidth
/>
</div>
))}
{add_new_checkbox_choix && String(add_new_checkbox_choix) === "1" &&
<div>
<TextField
autoFocus
margin="dense"
id="field_question_checkbox_new"
name="field_question_checkbox_new"
disabled={true}
fullWidth
value={new_checkbox_choix_value}
/>
</div>
}
</div>}
{(String(question_type) === "note" || String(question_type) === "bool" || String(question_type) === "entier") && <div className="session_caract_Dialog" >
<div class="separator">
<nav className="separator_label">
Configuration </nav>
</div>
<div>
<Tooltip className="tooltip_css" id="statistic_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="statistic_01" data-tooltip-html="En cochant cette case, le système va créer une statistique associée à la question.">
<nav style={{ width: "100%", float: "left" }}>
<nav style={{ width: "75%", float: "left", "marginTop": '0.5rem' }}>
Créer une statistique &nbsp;<FcInfo /> &nbsp; &nbsp; &nbsp;
</nav>
<nav style={{ width: "20%", float: "left", "textAlign": "right" }}>
<Checkbox
checked={statistic_checked}
disabled={true}
inputProps={{ 'aria-label': 'controlled' }}
/>
</nav>
</nav>
</a>
</div>
<div>
<nav style={{ width: "100%", float: "left" }}>
<nav style={{ width: "75%", float: "left", "marginTop": '0.5rem' }}>
Alert sur réponse &nbsp;<FcInfo /> &nbsp; &nbsp; &nbsp;
</nav>
<nav style={{ width: "20%", float: "left", "textAlign": "right" }}>
<Checkbox
checked={alert_checked}
disabled={true}
inputProps={{ 'aria-label': 'controlled' }}
/>
</nav>
{alert_checked &&
<div>
<nav style={{ width: "50%", float: "left", "marginTop": '0.5rem' }}>
Seuil/Valeur déclenchement &nbsp;<FcInfo /> &nbsp; &nbsp; &nbsp;
</nav>
{(String(question_type) === "note" || String(question_type) === "entier") &&
<nav style={{ width: "49%", float: "left", "textAlign": "right" }}>
<TextField
autoFocus
margin="dense"
id="seuil_oui_non_number"
name="seuil_oui_non_number"
className="disabled_style"
type="number"
InputProps={{ inputProps: { min: 2, max: 9999 } }}
value={alert_seuil_value}
disabled={true}
/>
</nav>}
{(String(question_type) === "bool" || String(question_type) === "entier") &&
<nav style={{ width: "49%", float: "left", "textAlign": "right" }}>
<Autocomplete
disablePortal
name="seuil_oui_non"
id="seuil_oui_non"
className="disabled_style"
options={New_Option_Oui_Non}
value={New_Option_Oui_Non.filter((data) => (data).value === String(alert_seuil_value))[0].label}
disabled={true}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
</nav>}
</div>
}
</nav>
</div>
</div>}
</>}
<div className="div_row">
{String(data_changed) === String("1") &&
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div>}
</div>
</DialogContent>
<DialogActions>
@ -1865,6 +2172,9 @@ const Partner_Config_Formulaires = (props) => {
<CancelPresentationIcon />
</IconButton>
<div className="div_row">
{String(selected_question_id) === "" && <div className="div_row_gauche"> <Button onClick={Add_Update_One_Question} className="bton_enreg_dialog">Ajouter</Button> </div>}
{String(selected_question_id) !== "" && <div className="div_row_gauche"> <Button onClick={Add_Update_One_Question} className="bton_enreg_dialog">Mettre à jour</Button> </div>}
@ -2209,6 +2519,7 @@ const Partner_Config_Formulaires = (props) => {
commentaire: JSON.parse(item).commentaire,
type: JSON.parse(item).type,
default: JSON.parse(item).default,
}
))}
@ -2503,6 +2814,8 @@ const Partner_Config_Formulaires = (props) => {
is_statistic: (item).is_statistic,
is_alert: (item).is_alert,
alert_seuil: (item).alert_seuil,
rang: (item).rang,
updatable: (item).updatable,
}
))}
@ -2526,6 +2839,9 @@ const Partner_Config_Formulaires = (props) => {
setquestion_question(newSelectionModel.row.question);
setquestion_type(newSelectionModel.row.type);
setquestion_max_note(newSelectionModel.row.max_note);
setquestion_rang(newSelectionModel.row.rang);
setquestion_updatable(newSelectionModel.row.updatable);
if (newSelectionModel.row.is_statistic === "1") {
setstatistic_checked(true);
} else {

View File

@ -21,6 +21,8 @@ import fileDownload from 'js-file-download'
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -49,7 +51,7 @@ import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
const Partner_Configuration_Jours_Travail = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);
@ -1098,8 +1100,6 @@ const Partner_Configuration_Jours_Travail = (props) => {
if (document.getElementsByName(date_off_name)[0]) {
var date_off_value = document.getElementsByName(date_off_name)[0].value;
global_partner_working_hours['date_off'].push(date_off_value)
}

View File

@ -21,6 +21,8 @@ import fileDownload from 'js-file-download'
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -88,7 +90,7 @@ const Partner_Configuration_Session_Steps = (props) => {
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);
const [selectionModel, setSelectionModel] = React.useState([]);
registerLocale('fr', fr);
var date_today_90j = new Date();
date_today_90j.setDate(date_today_90j.getDate() + 90);

View File

@ -19,6 +19,8 @@ import Autocomplete from '@mui/material/Autocomplete';
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -43,7 +45,7 @@ import Link from '@mui/material/Link';
import { PiDotsThree } from "react-icons/pi";
const Partner_domaine_Categorie_Metier = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("technique");
const [rowss, setRows] = useState([]);

View File

@ -26,6 +26,8 @@ import fileDownload from 'js-file-download'
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -106,7 +108,7 @@ const Partner_Facture = (props) => {
const classes = useStyles();
const { action, orderid } = useParams();
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);
@ -3242,7 +3244,7 @@ const Partner_Facture = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
fullWidth
/>

View File

@ -17,6 +17,8 @@ import add_plus from "../mysy_img/plus.png";
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -38,7 +40,7 @@ import { Global } from "recharts";
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
const Partner_Prix_Achat = (props) => {
registerLocale('fr', fr);
const history = useHistory();
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);
@ -482,7 +484,7 @@ const Partner_Prix_Achat = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>
@ -504,7 +506,7 @@ const Partner_Prix_Achat = (props) => {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style session_caract_Dialog_DatePicker"
locale='fr-FR'
locale={'fr'}
/>
</div>

View File

@ -23,6 +23,8 @@ import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
@ -47,7 +49,7 @@ const Partner_Product_Service = (props) => {
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);
const [selectionModel, setSelectionModel] = React.useState([]);
registerLocale('fr', fr);
const [rows_affectations, setrows_affectations] = useState([]);
const [selectionModel_affectations, setSelectionModel_affectations] = React.useState([]);

View File

@ -12,6 +12,8 @@ import Box from '@mui/material/Box';
import InputAdornment from '@mui/material/InputAdornment';
import TextField from '@mui/material/TextField';
import AccountCircle from '@mui/icons-material/AccountCircle';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import moment from "moment";
@ -19,7 +21,7 @@ import moment from "moment";
function Pricing() {
registerLocale('fr', fr);
// recuperation et gestion du token utilisateur
const history = useHistory();
const stored_part = getCookie('tokenmysypart');
@ -873,7 +875,7 @@ function Pricing() {
filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="texte_area"
locale='fr-FR'
locale={'fr'}
/>
</div>
@ -1006,7 +1008,7 @@ function Pricing() {
filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="texte_area"
locale='fr-FR'
locale={'fr'}
/>
</div>

View File

@ -28,6 +28,8 @@ import DialogTitle from '@mui/material/DialogTitle';
import SendIcon from '@mui/icons-material/Send';
import { Editor } from '@tinymce/tinymce-react';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { FcInfo } from "react-icons/fc";

View File

@ -1,6 +1,5 @@
import React, { useRef, useState, useEffect } from "react";
import TextField from '@mui/material/TextField';
import MenuItem from '@mui/material/MenuItem';
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
import Button from '@mui/material/Button';
import axios from "axios";
@ -14,21 +13,16 @@ import 'react-tooltip/dist/react-tooltip.css'
import 'reactjs-popup/dist/index.css';
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { useParams } from 'react-router-dom'
import Header from "./Header";
import Footer from "./Fotter";
import { FcInfo } from "react-icons/fc";
import { Document, Page } from 'react-pdf';
import RadioGroup from '@mui/material/RadioGroup';
import FormControlLabel from '@mui/material/FormControlLabel';
import FormControl from '@mui/material/FormControl';
import FormLabel from '@mui/material/FormLabel';
import Radio from '@mui/material/Radio';
import { daDK } from "@mui/material/locale";
import Checkbox from '@mui/material/Checkbox';
import Display_Action_And_Class from "./Display_Action_And_Class";
@ -133,7 +127,7 @@ function SurveyDocument() {
var is_empty_field = 0;
console.log(" tab_variable = ", tab_variable);
// console.log(" tab_variable = ", tab_variable);

View File

@ -0,0 +1,566 @@
import React, { useRef, useState, useEffect } from "react";
import TextField from '@mui/material/TextField';
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
import Button from '@mui/material/Button';
import axios from "axios";
import { getCookie, setCookie } from 'react-use-cookie';
import { useHistory } from "react-router-dom";
import Rating from '@mui/material/Rating';
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import 'reactjs-popup/dist/index.css';
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import "react-datepicker/dist/react-datepicker.css";
import { useParams } from 'react-router-dom'
import RadioGroup from '@mui/material/RadioGroup';
import FormControlLabel from '@mui/material/FormControlLabel';
import FormControl from '@mui/material/FormControl';
import FormLabel from '@mui/material/FormLabel';
import Radio from '@mui/material/Radio';
import Checkbox from '@mui/material/Checkbox';
import Display_Action_And_Class from "./Display_Action_And_Class";
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
function SurveyDocument_Qr_Code() {
const history = useHistory();
const { survey_id } = useParams();
const [isLoading, setLoading] = useState();
const [tab_variable, settab_variable] = useState([]);
const [get_Given_Survey_Data_api, setget_Given_Survey_Data_api] = useState();
const [get_Given_Survey_Data_message, setget_Given_Survey_Data_message] = useState();
const [get_Given_Survey_Data_result, setget_Given_Survey_Data_result] = useState([]);
function get_Given_Survey_Data() {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Survey_Data_From_QR_Code_No_Token/";
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
//form.append("token", stored_cookie);
form.append("survey_id", survey_id);
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
//console.log(" get_Given_Survey_Data : In test res.data.status = " + res.data.status);
// console.log(" get_Given_Survey_Data: res.data.message = " + res.data.message);
if (String(res.data.status) === "true") {
setget_Given_Survey_Data_api("true");
setget_Given_Survey_Data_result(res.data.message);
var new_data2 = {};
const new_data = JSON.parse(res.data.message).list_questions.map((x) => {
var obj_name = x._id;
var local_node = {}
new_data2[String(obj_name)] = "";
});
settab_variable(new_data2);
}
else if (String(res.data.status) === String("Err_Connexion")) {
alert('Erreur: ' + res.data.message);
history.push("/Connexion");
return;
}
else {
setget_Given_Survey_Data_api("false");
setget_Given_Survey_Data_message(res.data.message)
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
}
}).catch((error) => {
setLoading(false);
console.warn('get_Given_Survey_Data ee: Not good man :( = ', error);
setget_Given_Survey_Data_api("false");
setget_Given_Survey_Data_message(" Impossible de recuperer les données")
})
}
useEffect(() => {
get_Given_Survey_Data();
window.scrollTo({
top: 0,
behavior: "smooth",
});
}, [])
const [Record_Survey_Data_api, setRecord_Survey_Data_api] = useState();
const [Record_Survey_Data_message, setRecord_Survey_Data_message] = useState();
const [Record_Survey_Data_result, setRecord_Survey_Data_result] = useState();
function Record_Survey_Data() {
var form = new FormData();
const myJSON = JSON.stringify(tab_variable);
form.append("survey_id", survey_id);
form.append("list_response", myJSON);
var is_empty_field = 0;
// console.log(" tab_variable = ", tab_variable);
for (let i = 0; i < Object.keys(tab_variable).length; i++) {
var key = Object.keys(tab_variable)[i];
var val = tab_variable[key];
document.getElementsByName(key)[0].style.backgroundColor = "#FFFFFF";
if (String(val).length === 0) {
document.getElementsByName(key)[0].style.backgroundColor = "#F9E79F";
is_empty_field = 1;
}
}
if (is_empty_field === 1) {
// alert(" Le questionnaire n'est pas correctement rempli");
setdisplay_alert_mysy("1");
setalert_message("Le questionnaire n'est pas correctement rempli");
setalert_type("error");
return;
}
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Record_Survey_Data_No_Token/";
setLoading(true);
axios.post(myurl, form).then(res => {
//console.log(" In Record_Survey_Data res.data.status = " + res.data.status);
//console.log(" In Record_Survey_Data res.data.message r_class = " + res.data.message);
setLoading(false);
if (String(res.data.status) === String("true")) {
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
history.push("/");
}
else {
setRecord_Survey_Data_api("false");
setRecord_Survey_Data_message(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
}
}).catch((error) => {
setLoading(false);
console.warn('Record_Survey_Data : Not good man :( Record_Survey_Data = ' + error);
setRecord_Survey_Data_api("false");
alert(" Impossible d'enregistrer le formulaire ");
})
}
function change_survey_data(e) {
var tmp = tab_variable;
tmp[String(e.name)] = e.value;
settab_variable(tmp)
}
const [value, setValue] = React.useState('female');
const handleChange = (event) => {
setValue(event.target.value);
};
const [selected_qcm_value, setselected_qcm_value] = React.useState('');
const handleChange_qcm = (event) => {
document.getElementsByName(event.target.name)[0].value = event.target.value;
// setselected_qcm_value(event.target.value);
change_survey_data(event.target);
};
const [selected_checkbox_value, setselected_checkbox_value] = React.useState('');
const handleChange_checkbox = (event) => {
var tmp_variable = tab_variable;
var tab = String(event.target.name).split(":");
var al = String(tab[0]);
if (event.currentTarget.checked) {
// console.log('checked');
if (!tmp_variable[al] || String(tmp_variable[al]) === "") {
//console.log(" première action ");
var t = [];
t.push(String(tab[1]));
} else {
//console.log(" PASSS première action ");
var t = tmp_variable[al];
t.push(String(tab[1]));
}
tmp_variable[al] = t;
//console.log(" sortirrr tmp_variable = ", tmp_variable);
settab_variable(tmp_variable);
//console.log(" ### sortir settab_variable = ", tab_variable);
}
else {
console.log('not checked');
if (!tmp_variable[al] || String(tmp_variable[al]) === "") {
console.log(" première action ");
} else {
var new_variable = []
for (let i = 0; i < tmp_variable[al].length; i++) {
if (String(tmp_variable[al][i]) !== String(tab[1])) {
new_variable.push(String(tmp_variable[al][i]))
}
}
tmp_variable[al] = new_variable;
settab_variable(tmp_variable);
}
}
};
const [display_alert_mysy, setdisplay_alert_mysy] = useState("");
const [alert_message, setalert_message] = useState("");
const [alert_type, setalert_type] = useState("");
function clear_alert_message() {
setalert_message("");
}
function clear_alert_type() {
setalert_type("");
}
function clear_display_alert_mysy() {
setdisplay_alert_mysy("");
}
return (
<div className="surveydocument">
{isLoading && <div className="loader-container">
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>}
{/*** Affichage des messages d'alerte*/}
{display_alert_mysy && String(display_alert_mysy) === "1" &&
<Module_Alert_Confirmation alert_message={alert_message}
alert_type={alert_type}
clear_alert_message={clear_alert_message}
clear_alert_type={clear_alert_type}
clear_display_alert_mysy={clear_display_alert_mysy}
/>
}
{/*** FIN Affichage des messages d'alerte*/}
<div className="div_row">
&nbsp;
</div>
{String(get_Given_Survey_Data_api) === "true" && <div style={{ "textAlign": "left", }}>
<div style={{ "width": "80%", "marginLeft": "10%", "background": "#F2F4F4", overflow: "auto", "paddingBottom": "1rem" }}>
<br />
<div className="question_box_introduction">
Bonjour {JSON.parse(get_Given_Survey_Data_result).prenom} &nbsp; {JSON.parse(get_Given_Survey_Data_result).nom}
<nav>
{JSON.parse(get_Given_Survey_Data_result).message_introduction}
</nav>
</div>
{String(JSON.parse(get_Given_Survey_Data_result).survey_type) === "pos" && <div className="question_box_entete">
Questionnaire de positionnement
</div>}
{String(JSON.parse(get_Given_Survey_Data_result).survey_type) === "hot_eval" && <div className="question_box_entete">
Questionnaire d'évaluation
</div>}
{String(JSON.parse(get_Given_Survey_Data_result).survey_type) === "cold_eval" && <div className="question_box_entete">
Questionnaire d'évaluation
</div>}
{String(JSON.parse(get_Given_Survey_Data_result).survey_type) === "human_eval" && <div className="question_box_entete">
Questionnaire d'évaluation pour le formateur <b> {JSON.parse(get_Given_Survey_Data_result).related_rh_data_civilite && JSON.parse(get_Given_Survey_Data_result).related_rh_data_civilite}. &nbsp;
{JSON.parse(get_Given_Survey_Data_result).related_rh_data_nom && JSON.parse(get_Given_Survey_Data_result).related_rh_data_nom} &nbsp;
{JSON.parse(get_Given_Survey_Data_result).related_rh_data_prenom && JSON.parse(get_Given_Survey_Data_result).related_rh_data_prenom} </b>
</div>}
{String(JSON.parse(get_Given_Survey_Data_result).survey_type) === "autre_eval" && <div className="question_box_entete">
Questionnaire d'évaluation
</div>}
<div className="question_box_entete">
{JSON.parse(get_Given_Survey_Data_result).class_title && <nav> Formation : {JSON.parse(get_Given_Survey_Data_result).class_title} </nav>}
{JSON.parse(get_Given_Survey_Data_result).session_code && <nav> Code Session : {JSON.parse(get_Given_Survey_Data_result).session_code} </nav>}
{JSON.parse(get_Given_Survey_Data_result).session_title && <nav> Titre Session : {JSON.parse(get_Given_Survey_Data_result).session_title} </nav>}
{JSON.parse(get_Given_Survey_Data_result).session_code_date_debut && <nav> Date début : {JSON.parse(get_Given_Survey_Data_result).session_code_date_debut} </nav>}
{JSON.parse(get_Given_Survey_Data_result).session_code_date_fin && <nav> Date fin : {JSON.parse(get_Given_Survey_Data_result).session_code_date_fin} </nav>}
</div>
{JSON.parse(get_Given_Survey_Data_result).list_questions && JSON.parse(get_Given_Survey_Data_result).list_questions.length > 0 &&
JSON.parse(get_Given_Survey_Data_result).list_questions.map((question, index) => (
<div>
<div className="question_box">
<nav style={{ width: "100%", "float": "left" }}> <nav style={{ width: "5%", "float": "left" }}> N° {index + 1}. </nav> <nav style={{ fontSize: '16px', "fontWeight": '600', "float": "left", 'color': '#34495E' }}> {question.question} </nav> </nav><br />
{question.type && String(question.type) === "text" &&
<TextField
margin="dense"
name={question._id}
fullWidth
type="text"
multiline={true}
rows={2}
onChange={(e) => {
change_survey_data(e.target);
}}
/>}
{question.type && String(question.type) === "note" && question.max_note &&
<div id={question._id}
name={question._id}>
<Rating
id={question._id}
name={question._id}
precision={0.5}
defaultValue={0}
max={parseInt(question.max_note)}
onChange={(e) => {
change_survey_data(e.target);
}}
/>
</div>
}
{question.type && String(question.type) === "entier" &&
<div id={question._id}
name={question._id}>
<TextField
name={question._id}
id={question._id}
type="number"
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", step: "1" }}
disabled={false}
onChange={(e) => {
change_survey_data(e.target);
}}
/>
</div>
}
{question.type && String(question.type) === "bool" &&
<div id={question._id}
name={question._id}>
<FormControl>
<RadioGroup
row
aria-labelledby="demo-row-radio-buttons-group-label"
onChange={(e) => {
change_survey_data(e.target);
}}
name={question._id}
>
<FormControlLabel value="oui" control={<Radio />} label="Oui" />
<FormControlLabel value="non" control={<Radio />} label="Non" />
</RadioGroup>
</FormControl>
</div>
}
{question.type && String(question.type) === "qcm" &&
<div id={question._id}
name={question._id}>
<FormControl>
<RadioGroup
aria-labelledby="demo-controlled-radio-buttons-group"
name={question._id}
//value={selected_qcm_value}
onChange={handleChange_qcm}
>
{question.list_choix &&
question.list_choix.map((list_choix, index) => (
<FormControlLabel value={list_choix.reponse_qcm} control={<Radio />} label={index + ". " + list_choix.reponse_qcm} />
))}
</RadioGroup>
</FormControl>
</div>}
{question.type && String(question.type) === "checkbox" &&
<div id={question._id}
name={question._id}>
<FormControl>
<RadioGroup
aria-labelledby="demo-controlled-radio-buttons-group"
>
{question.list_case_cocher &&
question.list_case_cocher.map((case_cocher, index) => (
<FormControlLabel control={<Checkbox />} id={question._id + ":" + case_cocher.reponse_checkbox} name={question._id + ":" + case_cocher.reponse_checkbox} onChange={handleChange_checkbox} label={index + ". " + case_cocher.reponse_checkbox} />
))}
</RadioGroup>
</FormControl>
</div>}
</div>
{/*
Question : {question.question} <br />
Type : {question.type} <br />
{question.max_note && question.max_note} <br />
*/}
</div>
))}
</div>
<div style={{ "width": "80%", "marginLeft": "10%", "background": "white", }}>
<br />
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_enreg" onClick={Record_Survey_Data}>Envoyer
</Button>
</div>
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }} >
<Button variant="contained" className="bton_annule" onClick={(event) => {
history.push("/");
}} >Annuler
</Button>
</div>
</div>
<div className="div_row" style={{ "border": "None" }}>
&nbsp;
</div>
</div>
<div style={{ "width": "80%", "marginLeft": "10%", "background": "#F2F4F4", overflow: "auto", "paddingBottom": "1rem" }}>
<br />
{get_Given_Survey_Data_result && get_Given_Survey_Data_result.length > 0 && JSON.parse(get_Given_Survey_Data_result).class_internal_url &&
String(JSON.parse(get_Given_Survey_Data_result).class_internal_url).length > 5 && <div className="question_box_entete">
<Display_Action_And_Class classId={JSON.parse(get_Given_Survey_Data_result).class_internal_url} action={""} />
</div>}
</div>
</div>}
{String(get_Given_Survey_Data_api) === "false" && <div style={{ height: "40vh" }}>
Le document est invalide
</div>}
<div className="div_row">
&nbsp;
</div>
</div>
);
}
export default SurveyDocument_Qr_Code;

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@ import axios from "axios";
import { Helmet } from "react-helmet";
import SideBar from "./sidebar";
import ReactPlayer from 'react-player'
import { Slide } from 'react-slideshow-image';
import { Slide } from 'react-slideshow-image';
import { Zoom } from 'react-slideshow-image';
import logowhite from "../mysy_img/MYSY-LOGO-WHITE.png";
import 'react-slideshow-image/dist/styles.css'
@ -92,6 +92,11 @@ import Box from '@mui/material/Box';
import { makeStyles } from '@mui/styles';
import Checkbox from '@mui/material/Checkbox';
import { Container, Row, Col } from 'react-grid-system';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { es } from 'date-fns/esm/locale';
import steph_img from "../mysy_img/spteph.jpg";
@ -241,6 +246,7 @@ const rows21 = [
const TestUrl = (props) => {
registerLocale('fr', fr);
const stripe = useStripe();
const elements = useElements();
@ -770,20 +776,26 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
&nbsp;
<div style={{ height: 400, width: "70%" }}>
<Container>
<Row>
<Col sm={4}>
One of three columns
</Col>
<Col sm={4}>
One of three columns
</Col>
<Col sm={4}>
One of three columns
</Col>
</Row>
</Container>
<div style={{ height: 400, width: "70%", marginLeft: '2rem' }}>
<b>Date début </b>
<DatePicker
name="decalge_sessiondatedebut"
id="decalge_sessiondatedebut"
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style"
// locale={'fr'}
todayButton="Aujourd'hui"
closeOnScroll={true}
locale={'fr'}
/>
</div>
@ -941,7 +953,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
<Dialog
open={open}
onClose={handleClose}>
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily:'DM Sans'}} id="draggable-dialog-title"> Subscribe</DialogTitle>
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> Subscribe</DialogTitle>
<DialogContent>
<DialogContentText>
To subscribe to this website, please enter your email address here. We
@ -1182,17 +1194,17 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
<div className="carte_visite">
<div className="main_div">
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '25%', 'borderColor':'#0a2a4d' }}>
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '25%', 'borderColor': '#0a2a4d' }}>
<br />
<img classname="img" src="https://img.mysy-training.com/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo"
style={{ "maxWidth": "50%", "marginTop": "0.5rem" }} />
<br />
<div className="div_nom" style={{ "fontSize": '22px', fontFamily:'DM Sans' }}>
<div className="div_nom" style={{ "fontSize": '22px', fontFamily: 'DM Sans' }}>
Cherif BALDE<br />
</div>
<div className="div_function" style={{ "fontSize": '20px', fontFamily:'DM Sans' }}>
Directeur Général <br/> MySy Training / ELYOS
<div className="div_function" style={{ "fontSize": '20px', fontFamily: 'DM Sans' }}>
Directeur Général <br /> MySy Training / ELYOS
</div>
</div>
<div className="ch_div_centre">
@ -1201,7 +1213,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
</div>
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight": '2.5rem', "fontSize": '18px', fontFamily:'DM Sans' }}>
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight": '2.5rem', "fontSize": '18px', fontFamily: 'DM Sans' }}>
<div> <ImMobile2 /> &nbsp;+337 69 20 39 45</div>
<div> <ImOffice /> &nbsp;+331 77 00 38 57</div>
<div> <BsMailbox /> &nbsp;cbalde@mysy-training.com</div>
@ -1212,22 +1224,22 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
</div>
</div>
<br/>
<br/>
<br />
<br />
<div className="carte_visite">
<div className="main_div">
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '25%', 'borderColor':'#0a2a4d' }}>
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '25%', 'borderColor': '#0a2a4d' }}>
<br />
<img classname="img" src="https://img.mysy-training.com/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo"
style={{ "maxWidth": "50%", "marginTop": "0.5rem" }} />
<br />
<div className="div_nom" style={{ "fontSize": '22px', fontFamily:'DM Sans' }}>
Isabelle LALYRE<br />
<div className="div_nom" style={{ "fontSize": '22px', fontFamily: 'DM Sans' }}>
Nicole BEAUCHESNE<br />
</div>
<div className="div_function" style={{ "fontSize": '20px', fontFamily:'DM Sans' }}>
Business Developer <br/> MySy Training / ELYOS
<div className="div_function" style={{ "fontSize": '20px', fontFamily: 'DM Sans' }}>
Responsable Qualité & Support <br /> MySy Training / ELYOS
</div>
</div>
<div className="ch_div_centre">
@ -1236,19 +1248,19 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
</div>
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight": '2.5rem', "fontSize": '18px', fontFamily:'DM Sans', paddingTop:'2rem' }}>
<div> <ImMobile2 /> &nbsp;+337 75 73 26 40</div>
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight": '2.5rem', "fontSize": '18px', fontFamily: 'DM Sans', paddingTop: '2rem' }}>
<br />
<div> <ImOffice /> &nbsp;+331 77 00 38 57</div>
<div> <BsMailbox /> &nbsp;ilalyre@mysy-training.com</div>
<div> <BsMailbox /> &nbsp;nbeauchesne@mysy-training.com</div>
<div> <ImHome /> &nbsp;https://www.mysy-training.com/</div>
<div> <ImWhatsapp /> &nbsp;+337 75 73 26 40</div>
</div>
</div>
d
</div>
<br/>
<br/>
<br />
<br />
<div className="div_row">
@ -1305,24 +1317,26 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
<img src={steph_img} alt="Mysy Training Logo"
style={{
"marginTop": "2rem", borderRadius: '10px', width: '60%', border: 'none', marginTop: '2px',
height: "100%", marginRight:'2px'
height: "100%", marginRight: '2px'
}} />
</div>
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '70%',
textAlign:'left'
}}>
<div className="ch_div_gauche" style={{
"borderRight": "5px solid gray", "borderRadius": "0px", "width": '70%',
textAlign: 'left'
}}>
<img classname="img" src="https://img.mysy-training.com/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo"
style={{ "maxWidth": "15%", "marginTop": "2rem", border: 'none', paddingLeft:'10px', marginLeft:'10px',
marginTop:'1px'
}} />
style={{
"maxWidth": "15%", "marginTop": "2rem", border: 'none', paddingLeft: '10px', marginLeft: '10px',
marginTop: '1px'
}} />
<div className="div_nom" style={{ "fontSize": '20px', textAlign:'left', paddingLeft:'10px' }}>
<div className="div_nom" style={{ "fontSize": '20px', textAlign: 'left', paddingLeft: '10px' }}>
Stéphanie BERNHARD <br />
</div>
<div className="div_function" style={{ "fontSize": '18px', textAlign:'left', paddingLeft:'10px' }}>
<div className="div_function" style={{ "fontSize": '18px', textAlign: 'left', paddingLeft: '10px' }}>
Responsable développement
<br /> <br />
<ImMobile2 /> &nbsp;+337 63 97 23 78 <br />
@ -1332,9 +1346,9 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
</div>
</div>
</div>
</div>
@ -1408,17 +1422,17 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
</div>
<div
style={{
marginLeft: "40%",
}}
>
</div>
<div
style={{
marginLeft: "40%",
}}
>
</div>
</div>
</div >

View File

@ -12,7 +12,7 @@ import TextField from '@mui/material/TextField';
import MenuItem from '@mui/material/MenuItem';
import { getCookie, setCookie } from 'react-use-cookie';
import { useHistory } from "react-router-dom";
import { Calendar, dateFnsLocalizer } from 'react-big-calendar'
import format from 'date-fns/format'
import Link from '@mui/material/Link';

View File

@ -21,6 +21,8 @@ import fileDownload from 'js-file-download'
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'

View File

@ -909,7 +909,7 @@ function UpdateAttendeeList() {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style datepicker_complement"
locale='fr-FR'
locale={'fr'}
/>
@ -932,7 +932,7 @@ function UpdateAttendeeList() {
showTimeSelect={false}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style datepicker_complement"
locale='fr-FR'
locale={'fr'}
/>
</div>

View File

@ -13,6 +13,8 @@ import { getCookie } from 'react-use-cookie';
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
import { useHistory } from "react-router-dom";
import { format } from 'date-fns';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { Editor } from '@tinymce/tinymce-react';

View File

@ -13,6 +13,8 @@ import { getCookie } from 'react-use-cookie';
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
import { useHistory } from "react-router-dom";
import { format } from 'date-fns';
import fr from 'date-fns/locale/fr';
import { registerLocale } from 'react-datepicker';
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { Editor } from '@tinymce/tinymce-react';

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

View File

@ -11,7 +11,6 @@ export default function emarge_qr_code() {
<div>
<New_Navigation_2025 />
<New_C_Header_2025_V2 />
<Emarge_QR_Code />
<New_C_Footer_Without_Testimony_2025_V2 />

View File

@ -0,0 +1,19 @@
import Link from "next/link";
import Navigation from "../components/Navigation";
import Survey_Eval_QR_Code from "../components/Survey_Eval_QR_Code";
import New_Navigation_2025 from "../components/New_Navigation_2025";
import New_C_Header_2025_V2 from "../components/header_automatic_files/Header";
import New_C_Footer_Without_Testimony_2025_V2 from "../components/footer_automatic_files/Layout_Without_Testimony";
export default function emarge_qr_code() {
return (
<div>
<New_Navigation_2025 />
<New_C_Header_2025_V2 />
<Survey_Eval_QR_Code />
<New_C_Footer_Without_Testimony_2025_V2 />
</div>
);
}

View File

@ -6,7 +6,7 @@ import New_C_Header_2025_V2 from "../components/header_automatic_files/Header";
import New_C_Footer_Without_Testimony_2025_V2 from "../components/footer_automatic_files/Layout_Without_Testimony";
export default function Login() {
export default function Surveydocument() {
return (
<div>
<New_Navigation_2025 />

View File

@ -0,0 +1,18 @@
import Link from "next/link";
import Navigation from "../components/Navigation";
import SurveyDocument_Qr_Code from "../components/SurveyDocument_Qr_Code"
import New_Navigation_2025 from "../components/New_Navigation_2025";
import New_C_Header_2025_V2 from "../components/header_automatic_files/Header";
import New_C_Footer_Without_Testimony_2025_V2 from "../components/footer_automatic_files/Layout_Without_Testimony";
export default function Surveydocument_Qr_Code() {
return (
<div>
<New_Navigation_2025 />
<New_C_Header_2025_V2 />
<SurveyDocument_Qr_Code />
<New_C_Footer_Without_Testimony_2025_V2 />
</div>
);
}

View File

@ -429,7 +429,7 @@
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
text-align: left;
}
@ -482,7 +482,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -1032,7 +1032,7 @@
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
text-align: left;
}
@ -1089,7 +1089,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -1541,7 +1541,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -1701,7 +1701,7 @@
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
text-align: left;
}
@ -1723,7 +1723,7 @@
text-align: center;
margin-bottom: 0.8rem;
color: white;
cursor: pointer;
cursor: default;
font-style: italic;
background-color: gray;
font-weight: normal;
@ -2145,7 +2145,7 @@
}
.bton_enreg {
font-family: DM sans;
font-family: DM sans;
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
@ -2305,7 +2305,7 @@
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
text-align: left;
}
@ -2327,7 +2327,7 @@
text-align: center;
margin-bottom: 0.8rem;
color: white;
cursor: pointer;
cursor: default;
font-style: italic;
background-color: gray;
font-weight: normal;
@ -2396,7 +2396,7 @@
// end media
.disabled_style_no_border{
.disabled_style_no_border {
border: none !important;
}
@ -2405,7 +2405,7 @@
padding: 5px !important;
font-family: 'DM Sans';
}
.separator {
display: flex;
align-items: center;
@ -2434,7 +2434,7 @@
.separator:not(:empty)::after {
margin-left: .35em;
}
.separator_label {
width: 10rem;
@ -2602,8 +2602,8 @@
width: 110%;
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input {
font-size: small !important;
font-family: "DM Sans" !important;
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input {
font-size: small !important;
font-family: "DM Sans" !important;
padding-left: 5px !important;
}

View File

@ -5790,9 +5790,10 @@
margin-top: 15rem;
text-align: center;
font-family: 'DM Sans';
width: 25%;
width: 30%;
color: #16274F;
margin-right: 2rem;
padding-right: 5px;
}
@ -5809,7 +5810,7 @@
text-align: left;
font-family: 'DM Sans';
width: 30%;
margin-left: 2rem;
margin-left: 1rem;
}
@ -9167,6 +9168,7 @@
font-family: 'DM Sans';
width: 25%;
color: #16274F;
padding-right: 5px;
}
@ -12573,8 +12575,9 @@
margin-top: 15rem;
text-align: center;
font-family: 'DM Sans';
width: 25%;
width: 28%;
color: #16274F;
padding-right: 20px;
}
@ -16020,17 +16023,6 @@
text-align: right;
}
.jmj_bloc_logo_indic_contact {
width: 18%;
float: right;
text-align: right;
margin-top: 15rem;
text-align: center;
font-family: 'DM Sans';
width: 25%;
color: #16274F;
}
.bloc_logo_indic_indic {
@ -16388,6 +16380,7 @@
font-family: 'DM Sans';
width: 25%;
color: #16274F;
padding-right: 20px;
}
}

View File

@ -3,7 +3,7 @@
width: 100%;
float: left;
min-height: calc(100vh - 5rem);
.css-1nmdiq5-menu {
background: transparent !important;
@ -13352,7 +13352,7 @@
.Partner_Catalog_Background_Header {
// position: absolute;