20/12/2023 - 18h
parent
3c495a2327
commit
a98bfdfbf6
1
.env
1
.env
|
@ -6,5 +6,6 @@ REACT_APP_API_URL_prod=https://apimysy.mysy-training.com/
|
||||||
REACT_APP_API_URL_recette=https://devapimysy.mysy-training.com/
|
REACT_APP_API_URL_recette=https://devapimysy.mysy-training.com/
|
||||||
REACT_APP_API_URL=http://localhost:5001/
|
REACT_APP_API_URL=http://localhost:5001/
|
||||||
REACT_APP_BASE_URL=http://localhost:3009/recherche-formation
|
REACT_APP_BASE_URL=http://localhost:3009/recherche-formation
|
||||||
|
REACT_APP_FRONT_URL=http://localhost:3009/
|
||||||
REACT_APP_ENV=DEV
|
REACT_APP_ENV=DEV
|
||||||
GENERATE_SOURCEMAP=false
|
GENERATE_SOURCEMAP=false
|
File diff suppressed because it is too large
Load Diff
|
@ -148,8 +148,8 @@
|
||||||
"wysiwyg": "^2.0.0"
|
"wysiwyg": "^2.0.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "set \"GENERATE_SOURCEMAP=false\" && react-scripts start --max-old-space-size=16384",
|
"start": "set \"GENERATE_SOURCEMAP=false\" && react-scripts --max_old_space_size=16384 start",
|
||||||
"build": "react-scripts build --max-old-space-size=16384",
|
"build": "react-scripts --max_old_space_size=16384 build",
|
||||||
"test": "react-scripts test",
|
"test": "react-scripts test",
|
||||||
"eject": "react-scripts eject",
|
"eject": "react-scripts eject",
|
||||||
"winBuild": "set \"GENERATE_SOURCEMAP=false\" && react-scripts build"
|
"winBuild": "set \"GENERATE_SOURCEMAP=false\" && react-scripts build"
|
||||||
|
|
|
@ -78,6 +78,10 @@ function App() {
|
||||||
<Route path="/Display-Detail-Article/:articleId" exact component={DisplayDetailArticle} />
|
<Route path="/Display-Detail-Article/:articleId" exact component={DisplayDetailArticle} />
|
||||||
<Route path="/Display-Detail-formation-Coeur/:classId" exact component={CoupDeCoeur} />
|
<Route path="/Display-Detail-formation-Coeur/:classId" exact component={CoupDeCoeur} />
|
||||||
<Route path="/Partner/:action/:orderid/:packs" exact component={Partner} />
|
<Route path="/Partner/:action/:orderid/:packs" exact component={Partner} />
|
||||||
|
|
||||||
|
<Route path="/Partner/:action/:orderid" exact component={Partner} />
|
||||||
|
|
||||||
|
|
||||||
<Route path="/Partner/:action" exact component={Partner} />
|
<Route path="/Partner/:action" exact component={Partner} />
|
||||||
<Route path="/Partner" exact component={Partner} />
|
<Route path="/Partner" exact component={Partner} />
|
||||||
<Route path="/PartnerLogin" exact component={PartnerLogin} />
|
<Route path="/PartnerLogin" exact component={PartnerLogin} />
|
||||||
|
|
|
@ -435,7 +435,7 @@ const AddParnerClient = (props) => {
|
||||||
setformedit_mode_invoice("0");
|
setformedit_mode_invoice("0");
|
||||||
|
|
||||||
submenu_donnee_client();
|
submenu_donnee_client();
|
||||||
fillfield(props.client_mail);
|
fillfield();
|
||||||
|
|
||||||
setdatamodification("0");
|
setdatamodification("0");
|
||||||
setdatamodification_invoice("0");
|
setdatamodification_invoice("0");
|
||||||
|
|
|
@ -26,7 +26,7 @@ import "react-datepicker/dist/react-datepicker.css";
|
||||||
import { format } from 'date-fns'
|
import { format } from 'date-fns'
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import InputAdornment from '@mui/material/InputAdornment';
|
import InputAdornment from '@mui/material/InputAdornment';
|
||||||
import { AiFillCloseCircle } from "react-icons/ai";
|
import { AiFillCloseCircle, AiOutlineConsoleSql } from "react-icons/ai";
|
||||||
import Box from '@mui/material/Box';
|
import Box from '@mui/material/Box';
|
||||||
import { Typography, LinearProgress } from '@mui/material';
|
import { Typography, LinearProgress } from '@mui/material';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
|
@ -48,8 +48,10 @@ import Module_Historique_Action from "./Module_Historique_Action";
|
||||||
import { HiDocumentCheck } from "react-icons/hi2";
|
import { HiDocumentCheck } from "react-icons/hi2";
|
||||||
import { BsSend } from "react-icons/bs";
|
import { BsSend } from "react-icons/bs";
|
||||||
import Autocomplete from '@mui/material/Autocomplete';
|
import Autocomplete from '@mui/material/Autocomplete';
|
||||||
|
import { FcOpenedFolder } from "react-icons/fc";
|
||||||
|
|
||||||
const DisplayPartnerSession = (props) => {
|
const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
const history = useHistory();
|
const history = useHistory();
|
||||||
const [submenu, setsubmenu] = useState("");
|
const [submenu, setsubmenu] = useState("");
|
||||||
const [rowss, setRows] = useState([]);
|
const [rowss, setRows] = useState([]);
|
||||||
|
@ -142,7 +144,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
field: 'etape', headerName: 'Etape', hide: false, width: datagrid_columns_size_model2,
|
field: 'etape', headerName: 'Etape', hide: false, width: datagrid_columns_size_model2,
|
||||||
|
|
||||||
},
|
},
|
||||||
{ field: 'class_external_code', headerName: 'Code Formation', align: "center", hideable: true, flex: 1, hide: false, minWidth: 150 },
|
{ field: 'class_external_code', headerName: 'Code Formation', align: "center", hideable: true, flex: 1, hide: true, minWidth: 150 },
|
||||||
{ field: 'date_debut', headerName: 'Debut', hide: false, width: datagrid_columns_size_model2, },
|
{ field: 'date_debut', headerName: 'Debut', hide: false, width: datagrid_columns_size_model2, },
|
||||||
{ field: 'date_fin', headerName: 'Fin', hideable: false, width: datagrid_columns_size_model2, },
|
{ field: 'date_fin', headerName: 'Fin', hideable: false, width: datagrid_columns_size_model2, },
|
||||||
{
|
{
|
||||||
|
@ -275,7 +277,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
|
||||||
|
|
||||||
]
|
]
|
||||||
|
@ -1021,7 +1023,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
console.warn('Not good man :( Getall_TrainingSession = ', error);
|
console.warn('Not good man :( Getall_TrainingSession = ', error);
|
||||||
setGetall_TrainingSession_api("false");
|
setGetall_TrainingSession_api("false");
|
||||||
alert("Impossible de lancer la recherche")
|
alert("Impossible de lancer la recherche");
|
||||||
//setmyApimyApiMessage("")
|
//setmyApimyApiMessage("")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1094,6 +1096,8 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
const [session_selected_row_id, setsession_selected_row_id] = useState("");
|
const [session_selected_row_id, setsession_selected_row_id] = useState("");
|
||||||
|
|
||||||
|
const [selected_class_external_code, setselected_class_external_code] = useState("");
|
||||||
|
|
||||||
function handleClick_edit_session_From_Line(selected_row_id) {
|
function handleClick_edit_session_From_Line(selected_row_id) {
|
||||||
setaddOneSession("0");
|
setaddOneSession("0");
|
||||||
setEdite_session("0");
|
setEdite_session("0");
|
||||||
|
@ -1115,6 +1119,8 @@ const DisplayPartnerSession = (props) => {
|
||||||
var session_id = line._id;
|
var session_id = line._id;
|
||||||
setselected_session_id(session_id);
|
setselected_session_id(session_id);
|
||||||
|
|
||||||
|
setselected_class_external_code(line.class_external_code);
|
||||||
|
|
||||||
Getall_Sequence_Of_Session(session_id);
|
Getall_Sequence_Of_Session(session_id);
|
||||||
|
|
||||||
|
|
||||||
|
@ -1130,6 +1136,41 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
GetListeEmargement(line._id, line.class_internal_url);
|
GetListeEmargement(line._id, line.class_internal_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// lorsqu'on rentre dans ce fichier avec deja un session_id (cas des directions )
|
||||||
|
function Display_session_From_Props(props_session_id, props_class_internal_url) {
|
||||||
|
setLoading(true);
|
||||||
|
|
||||||
|
setaddOneSession("0");
|
||||||
|
setEdite_session("0");
|
||||||
|
setnb_stagiaire_Preinscrit("0");
|
||||||
|
setnb_stagiaire_Inscrit("0");
|
||||||
|
|
||||||
|
setselectionModel_preinsc([]);
|
||||||
|
setSelectionModel_insc([]);
|
||||||
|
|
||||||
|
|
||||||
|
setselected_internal_url(props_class_internal_url);
|
||||||
|
|
||||||
|
setselected_session_id(props_session_id);
|
||||||
|
|
||||||
|
Getall_Sequence_Of_Session(props_session_id);
|
||||||
|
|
||||||
|
|
||||||
|
submenu_detail_session();
|
||||||
|
|
||||||
|
GetCurrentSession(props_session_id, props_class_internal_url);
|
||||||
|
|
||||||
|
GetListePreinscrit(props_session_id, props_class_internal_url);
|
||||||
|
|
||||||
|
GetListeInscrit(props_session_id, props_class_internal_url);
|
||||||
|
|
||||||
|
GetListeEmargement(props_session_id, props_class_internal_url);
|
||||||
|
setLoading(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const [Get_List_Partner_Clients_api, setGet_List_Partner_Clients_api] = useState();
|
const [Get_List_Partner_Clients_api, setGet_List_Partner_Clients_api] = useState();
|
||||||
const [Get_List_Partner_Clients_message, setGet_List_Partner_Clients_message] = useState();
|
const [Get_List_Partner_Clients_message, setGet_List_Partner_Clients_message] = useState();
|
||||||
const [Get_List_Partner_Clients_result, setGet_List_Partner_Clients_result] = useState();
|
const [Get_List_Partner_Clients_result, setGet_List_Partner_Clients_result] = useState();
|
||||||
|
@ -1316,6 +1357,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
||||||
|
|
||||||
Get_Partner_Object_Specific_Fields_stagiaire();
|
Get_Partner_Object_Specific_Fields_stagiaire();
|
||||||
|
|
||||||
Getall_Training_Employee_No_Filter();
|
Getall_Training_Employee_No_Filter();
|
||||||
|
@ -1334,10 +1376,18 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
Get_Partner_Object_Specific_Fields("session_formation");
|
Get_Partner_Object_Specific_Fields("session_formation");
|
||||||
|
|
||||||
|
if (String(props.object_key).length > 3) {
|
||||||
|
|
||||||
|
setLoading(true);
|
||||||
|
GetCurrentSession(props.object_key, props.class_internal_url);
|
||||||
|
Display_session_From_Props(props.object_key, props.class_internal_url);
|
||||||
|
setLoading(false);
|
||||||
|
} else {
|
||||||
window.scrollTo({
|
window.scrollTo({
|
||||||
top: 0,
|
top: 0,
|
||||||
behavior: "smooth",
|
behavior: "smooth",
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}, [])
|
}, [])
|
||||||
|
@ -3908,11 +3958,8 @@ const DisplayPartnerSession = (props) => {
|
||||||
setp_session_etape(mylocaltraining.session_etape);
|
setp_session_etape(mylocaltraining.session_etape);
|
||||||
setp_session_etape_label(mylocaltraining.session_etape);
|
setp_session_etape_label(mylocaltraining.session_etape);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|
||||||
setp_session_etape_label("Projet");
|
setp_session_etape_label("Projet");
|
||||||
setp_session_etape("0");
|
setp_session_etape("0");
|
||||||
}
|
}
|
||||||
|
@ -3951,9 +3998,16 @@ const DisplayPartnerSession = (props) => {
|
||||||
setp_myclass_title(mylocaltraining.myclass[0].title);
|
setp_myclass_title(mylocaltraining.myclass[0].title);
|
||||||
|
|
||||||
|
|
||||||
|
if (mylocaltraining.class_external_code)
|
||||||
|
setselected_class_external_code(mylocaltraining.class_external_code);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
document.getElementsByName("code_session")[0].value = "";
|
document.getElementsByName("code_session")[0].value = "";
|
||||||
if (mylocaltraining.code_session)
|
if (mylocaltraining.code_session) {
|
||||||
setp_code_session(mylocaltraining.code_session);
|
setp_code_session(mylocaltraining.code_session);
|
||||||
|
setselected_code_session(mylocaltraining.code_session);
|
||||||
|
}
|
||||||
|
|
||||||
document.getElementsByName("nb_participant")[0].value = "";
|
document.getElementsByName("nb_participant")[0].value = "";
|
||||||
if (mylocaltraining.nb_participant)
|
if (mylocaltraining.nb_participant)
|
||||||
|
@ -4032,6 +4086,12 @@ const DisplayPartnerSession = (props) => {
|
||||||
setp_detail_titre(mylocaltraining.titre);
|
setp_detail_titre(mylocaltraining.titre);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (mylocaltraining.title) {
|
||||||
|
setselected_class_title(mylocaltraining.title);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (mylocaltraining.location_type) {
|
if (mylocaltraining.location_type) {
|
||||||
setp_detail_location_type(mylocaltraining.location_type);
|
setp_detail_location_type(mylocaltraining.location_type);
|
||||||
}
|
}
|
||||||
|
@ -9223,7 +9283,6 @@ const DisplayPartnerSession = (props) => {
|
||||||
prix_session: JSON.parse(item).prix_session,
|
prix_session: JSON.parse(item).prix_session,
|
||||||
published: JSON.parse(item).class_published,
|
published: JSON.parse(item).class_published,
|
||||||
session_title: JSON.parse(item).titre,
|
session_title: JSON.parse(item).titre,
|
||||||
|
|
||||||
}
|
}
|
||||||
))}
|
))}
|
||||||
|
|
||||||
|
@ -9480,19 +9539,31 @@ const DisplayPartnerSession = (props) => {
|
||||||
shrink: true,
|
shrink: true,
|
||||||
}}
|
}}
|
||||||
disabled={true}
|
disabled={true}
|
||||||
className="disabled_style enable_style"
|
className="disabled_style enable_style disabled_style_left_text_with_visualiser_icone"
|
||||||
value={p_myclass_title}
|
value={p_myclass_title}
|
||||||
onChange={(e) => {
|
|
||||||
|
|
||||||
setone_selected_internal_url(e.target.value);
|
|
||||||
setp_myclass_title(e.target.value)
|
|
||||||
Get_Class_Data(e.target.value);
|
|
||||||
}}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<Tooltip id="detail_01" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="detail_01" data-tooltip-content="Voir les détails">
|
||||||
|
<div className="disabled_style disabled_style_right_bton_visualiser" onClick={(event) => {
|
||||||
|
|
||||||
|
if (selected_internal_url && String(selected_internal_url).length > 2) {
|
||||||
|
window.open(
|
||||||
|
process.env.REACT_APP_FRONT_URL + "Partner/affichage/" + String(selected_class_external_code) + "/" + String(selected_internal_url),
|
||||||
|
'_blank'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<div className="disabled_style_with_visualiser_icone" >
|
||||||
|
<FcOpenedFolder />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div className="session_caract"><b> Code Session </b><br />
|
<div className="session_caract"><b> Code Session </b><br />
|
||||||
|
|
|
@ -10,7 +10,7 @@ import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||||
import { Editor } from '@tinymce/tinymce-react';
|
import { Editor } from '@tinymce/tinymce-react';
|
||||||
|
|
||||||
import { FcViewDetails, FcDisapprove } from "react-icons/fc";
|
import { FcDisapprove } from "react-icons/fc";
|
||||||
import 'react-tooltip/dist/react-tooltip.css'
|
import 'react-tooltip/dist/react-tooltip.css'
|
||||||
import { Tooltip } from 'react-tooltip'
|
import { Tooltip } from 'react-tooltip'
|
||||||
import add_plus from "../mysy_img/plus.png";
|
import add_plus from "../mysy_img/plus.png";
|
||||||
|
@ -44,12 +44,14 @@ import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
||||||
import { AiTwotoneSave } from "react-icons/ai";
|
import { AiTwotoneSave } from "react-icons/ai";
|
||||||
import Module_Absence from "./Module_Absence";
|
import Module_Absence from "./Module_Absence";
|
||||||
import { RiMoreFill } from "react-icons/ri";
|
import { RiMoreFill } from "react-icons/ri";
|
||||||
import Switch from '@mui/material/Switch';
|
|
||||||
import { FcSearch } from "react-icons/fc";
|
|
||||||
import { useHistory } from "react-router-dom";
|
import { useHistory } from "react-router-dom";
|
||||||
import Module_Historique_Action from "./Module_Historique_Action";
|
import Module_Historique_Action from "./Module_Historique_Action";
|
||||||
import ToggleSwitch from "./ToggleSwitch";
|
import ToggleSwitch from "./ToggleSwitch";
|
||||||
|
|
||||||
import Autocomplete from '@mui/material/Autocomplete';
|
import Autocomplete from '@mui/material/Autocomplete';
|
||||||
|
import { FcDownRight, FcRight, FcSearch, FcViewDetails, FcOpenedFolder } from "react-icons/fc";
|
||||||
|
import { MdOutlineVisibility } from "react-icons/md";
|
||||||
|
|
||||||
const DisplayPartnerStagiaires = (props) => {
|
const DisplayPartnerStagiaires = (props) => {
|
||||||
const history = useHistory();
|
const history = useHistory();
|
||||||
|
@ -92,11 +94,12 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
{ field: 'prenom', headerName: 'Prénom', minWidth: 150, flex: 1, hide: false, editable: false },
|
{ field: 'prenom', headerName: 'Prénom', minWidth: 150, flex: 1, hide: false, editable: false },
|
||||||
{ field: 'email', headerName: 'Email', minWidth: 200, flex: 1, hideable: false, editable: false },
|
{ field: 'email', headerName: 'Email', minWidth: 200, flex: 1, hideable: false, editable: false },
|
||||||
{ field: 'employeur', headerName: 'Employeur', minWidth: 150, hide: true, editable: false },
|
{ field: 'employeur', headerName: 'Employeur', minWidth: 150, hide: true, editable: false },
|
||||||
|
{ field: 'client_nom', headerName: 'Client', minWidth: 150, flex: 1, hide: false, editable: false },
|
||||||
{
|
{
|
||||||
field: 'status', headerName: 'Statut', hide: false, width: datagrid_columns_size_model2,
|
field: 'status', headerName: 'Statut', hide: false, width: datagrid_columns_size_model2,
|
||||||
valueFormatter: (params) => {
|
valueFormatter: (params) => {
|
||||||
if (String(params.value) === "0")
|
if (String(params.value) === "0")
|
||||||
return "Préinscrit";
|
return "PréIns.";
|
||||||
else if (String(params.value) === "1")
|
else if (String(params.value) === "1")
|
||||||
return "Inscrit";
|
return "Inscrit";
|
||||||
else if (String(params.value) === "-1")
|
else if (String(params.value) === "-1")
|
||||||
|
@ -167,7 +170,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
trigger={<Button
|
trigger={<Button
|
||||||
|
|
||||||
>
|
>
|
||||||
<FcCancel /> Annuler
|
Annuler
|
||||||
|
|
||||||
</Button>}
|
</Button>}
|
||||||
modal
|
modal
|
||||||
|
@ -334,7 +337,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
field: "Imprimer", headerName: 'Imprimer detail',
|
field: "Impr.", headerName: 'Imprimer detail',
|
||||||
renderCell: (cellValues) => {
|
renderCell: (cellValues) => {
|
||||||
return (
|
return (
|
||||||
|
|
||||||
|
@ -5899,6 +5902,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
nom: JSON.parse(item).nom,
|
nom: JSON.parse(item).nom,
|
||||||
prenom: JSON.parse(item).prenom,
|
prenom: JSON.parse(item).prenom,
|
||||||
employeur: JSON.parse(item).employeur,
|
employeur: JSON.parse(item).employeur,
|
||||||
|
client_nom: JSON.parse(item).client_rattachement_nom,
|
||||||
status: JSON.parse(item).status,
|
status: JSON.parse(item).status,
|
||||||
title: JSON.parse(item).title,
|
title: JSON.parse(item).title,
|
||||||
distantiel: JSON.parse(item).distantiel,
|
distantiel: JSON.parse(item).distantiel,
|
||||||
|
@ -6674,9 +6678,9 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
<div className="session_data" >
|
<div className="session_data" >
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
{String(participant_data_edit_mode) !== "1" && <div className="session_caract"> <b> Session </b><br />
|
{String(participant_data_edit_mode) !== "1" && <div className="session_caract" tyle={{ "width": "80%", "float": "left" }}> <b> Session</b><br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 } }}
|
||||||
required
|
required
|
||||||
name="detail_session_class"
|
name="detail_session_class"
|
||||||
id="detail_session_class"
|
id="detail_session_class"
|
||||||
|
@ -6685,11 +6689,30 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
shrink: true,
|
shrink: true,
|
||||||
}}
|
}}
|
||||||
disabled={false}
|
disabled={false}
|
||||||
className="disabled_style"
|
className="disabled_style disabled_style_left_text_with_visualiser_icone"
|
||||||
value={p_detail_session_class}
|
value={p_detail_session_class}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
<Tooltip id="detail_01" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="detail_01" data-tooltip-content="Voir les détails">
|
||||||
|
<div className="disabled_style disabled_style_right_bton_visualiser" onClick={(event) => {
|
||||||
|
if (selected_session_id && selected_internal_url && String(selected_session_id).length > 2 && String(selected_internal_url).length > 2) {
|
||||||
|
window.open(
|
||||||
|
process.env.REACT_APP_FRONT_URL + "Partner/mes_sessions/" + String(selected_session_id) + "/" + String(selected_internal_url),
|
||||||
|
'_blank'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<div className="disabled_style_with_visualiser_icone" >
|
||||||
|
<FcOpenedFolder />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
|
@ -6772,10 +6795,33 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
shrink: true,
|
shrink: true,
|
||||||
}}
|
}}
|
||||||
disabled={false}
|
disabled={false}
|
||||||
className="disabled_style"
|
className="disabled_style disabled_style_left_text_with_visualiser_icone"
|
||||||
value={p_detail_client_rattachement_nom}
|
value={p_detail_client_rattachement_nom}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<Tooltip id="detail_01" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="detail_01" data-tooltip-content="Voir les détails">
|
||||||
|
<div className="disabled_style disabled_style_right_bton_visualiser" onClick={(event) => {
|
||||||
|
|
||||||
|
if (p_detail_client_rattachement_id && String(p_detail_client_rattachement_id).length > 2) {
|
||||||
|
window.open(
|
||||||
|
process.env.REACT_APP_FRONT_URL + "Partner/mes_clients/" + String(p_detail_client_rattachement_id),
|
||||||
|
'_blank'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
alert(" Aucun client selectionné")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<div className="disabled_style_with_visualiser_icone" >
|
||||||
|
<FcOpenedFolder />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,7 @@ import Button from '@mui/material/Button';
|
||||||
import Select from 'react-select'
|
import Select from 'react-select'
|
||||||
import { getCookie } from 'react-use-cookie';
|
import { getCookie } from 'react-use-cookie';
|
||||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||||
import Footer from "./Fotter";
|
|
||||||
import tick_ko from "../mysy_img/tick_KO.png";
|
|
||||||
import Popup from 'reactjs-popup';
|
import Popup from 'reactjs-popup';
|
||||||
import 'reactjs-popup/dist/index.css';
|
import 'reactjs-popup/dist/index.css';
|
||||||
import { AiFillCloseCircle, } from "react-icons/ai";
|
import { AiFillCloseCircle, } from "react-icons/ai";
|
||||||
|
@ -881,6 +880,18 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
|
|
||||||
//GetAllClass();
|
//GetAllClass();
|
||||||
GetAllClass_new();
|
GetAllClass_new();
|
||||||
|
|
||||||
|
|
||||||
|
if (String(props.class_internal_url).length > 3 && String(props.class_external_code).length > 3 ) {
|
||||||
|
|
||||||
|
setLoading(true);
|
||||||
|
setreftrainingtoupdate(props.class_internal_url);
|
||||||
|
setexternalcodetraining_toupdate(props.class_external_code);
|
||||||
|
setupdatetraining(true);
|
||||||
|
|
||||||
|
setLoading(false);
|
||||||
|
} else {
|
||||||
|
|
||||||
window.scrollTo({
|
window.scrollTo({
|
||||||
top: 0,
|
top: 0,
|
||||||
behavior: "smooth",
|
behavior: "smooth",
|
||||||
|
@ -891,6 +902,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
setismobilephone_columns_hide(true);
|
setismobilephone_columns_hide(true);
|
||||||
setdatagrid_columns_size_model2(10);
|
setdatagrid_columns_size_model2(10);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
function Clearselectedfilt1() {
|
function Clearselectedfilt1() {
|
||||||
|
|
|
@ -103,7 +103,7 @@ const Partner = (props) => {
|
||||||
const [firstConnexion, setfirstConnexion] = useState("");
|
const [firstConnexion, setfirstConnexion] = useState("");
|
||||||
const [part_is_partner_admin_account, setpart_is_partner_admin_account] = useState("");
|
const [part_is_partner_admin_account, setpart_is_partner_admin_account] = useState("");
|
||||||
|
|
||||||
const { action, orderid, packs } = useParams()
|
const { action, orderid, packs, object_key, class_internal_url } = useParams()
|
||||||
|
|
||||||
|
|
||||||
const changeHandler = (event) => {
|
const changeHandler = (event) => {
|
||||||
|
@ -1327,7 +1327,8 @@ const Partner = (props) => {
|
||||||
|
|
||||||
{String(menu) === "affichage" &&
|
{String(menu) === "affichage" &&
|
||||||
<div className="div_droite">
|
<div className="div_droite">
|
||||||
<PartnerTranings ispending={partnerstatus} currentpack={partnerPackService} />
|
<PartnerTranings ispending={partnerstatus} currentpack={partnerPackService} conntected_employee_id={conntected_employee_id}
|
||||||
|
class_external_code={orderid} class_internal_url={packs}/>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1483,7 +1484,9 @@ const Partner = (props) => {
|
||||||
|
|
||||||
{String(menu) === "mes_sessions" &&
|
{String(menu) === "mes_sessions" &&
|
||||||
<div className="div_droite">
|
<div className="div_droite">
|
||||||
<DisplayPartnerSession conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("session", "read")} write_access={check_user_acces_right("session", "write")} />
|
|
||||||
|
<DisplayPartnerSession conntected_employee_id={conntected_employee_id} object_key={orderid} class_internal_url={packs}
|
||||||
|
read_access={check_user_acces_right("session", "read")} write_access={check_user_acces_right("session", "write")} />
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1550,7 +1553,8 @@ const Partner = (props) => {
|
||||||
|
|
||||||
{String(menu) === "mes_clients" && <div className="div_droite">
|
{String(menu) === "mes_clients" && <div className="div_droite">
|
||||||
|
|
||||||
<Partner_Client conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("client", "read")} write_access={check_user_acces_right("client", "write")} />
|
<Partner_Client conntected_employee_id={conntected_employee_id} object_key={orderid}
|
||||||
|
read_access={check_user_acces_right("client", "read")} write_access={check_user_acces_right("client", "write")} />
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -292,11 +292,18 @@ const Partner_Client = (props) => {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
//menu_info();
|
//menu_info();
|
||||||
Get_List_Partner_Clients();
|
Get_List_Partner_Clients();
|
||||||
|
|
||||||
|
|
||||||
|
if (String(props.object_key).length > 3) {
|
||||||
|
handleClick_edit_session_From_Props(props.object_key);
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
window.scrollTo({
|
window.scrollTo({
|
||||||
top: 0,
|
top: 0,
|
||||||
left: 0,
|
|
||||||
behavior: "smooth",
|
behavior: "smooth",
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
@ -424,9 +431,24 @@ const Partner_Client = (props) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function handleClick_edit_session_From_Props(props_client_id) {
|
||||||
|
setselected_id(props_client_id);
|
||||||
|
setEdite_Client("1");
|
||||||
|
|
||||||
|
window.scrollTo({
|
||||||
|
top: 800,
|
||||||
|
left: 0,
|
||||||
|
behavior: "smooth",
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const [p_filtre1, setp_filtre1] = useState();
|
const [p_filtre1, setp_filtre1] = useState();
|
||||||
|
|
|
@ -13,7 +13,6 @@ import MenuItem from '@mui/material/MenuItem';
|
||||||
import { getCookie, setCookie } from 'react-use-cookie';
|
import { getCookie, setCookie } from 'react-use-cookie';
|
||||||
import { useHistory } from "react-router-dom";
|
import { useHistory } from "react-router-dom";
|
||||||
|
|
||||||
|
|
||||||
import { Calendar, dateFnsLocalizer } from 'react-big-calendar'
|
import { Calendar, dateFnsLocalizer } from 'react-big-calendar'
|
||||||
import format from 'date-fns/format'
|
import format from 'date-fns/format'
|
||||||
import parse from 'date-fns/parse'
|
import parse from 'date-fns/parse'
|
||||||
|
@ -34,8 +33,8 @@ import DialogActions from '@mui/material/DialogActions';
|
||||||
import DialogContent from '@mui/material/DialogContent';
|
import DialogContent from '@mui/material/DialogContent';
|
||||||
import DialogContentText from '@mui/material/DialogContentText';
|
import DialogContentText from '@mui/material/DialogContentText';
|
||||||
import DialogTitle from '@mui/material/DialogTitle';
|
import DialogTitle from '@mui/material/DialogTitle';
|
||||||
|
import Typography from '@mui/material/Typography';
|
||||||
|
import Menu from '@mui/material/Menu';
|
||||||
|
|
||||||
const locales = {
|
const locales = {
|
||||||
'en-US': enUS,
|
'en-US': enUS,
|
||||||
|
@ -531,7 +530,38 @@ const TestUrl_New = (props) => {
|
||||||
setOpen(false);
|
setOpen(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const [contextMenu, setContextMenu] = React.useState(null);
|
||||||
|
const handleContextMenu = (event) => {
|
||||||
|
event.preventDefault();
|
||||||
|
setContextMenu(
|
||||||
|
contextMenu === null
|
||||||
|
? {
|
||||||
|
mouseX: event.clientX + 2,
|
||||||
|
mouseY: event.clientY - 6,
|
||||||
|
}
|
||||||
|
: // repeated contextmenu when it is already open closes it with Chrome 84 on Ubuntu
|
||||||
|
// Other native context menus might behave different.
|
||||||
|
// With this behavior we prevent contextmenu from the backdrop to re-locale existing context menus.
|
||||||
|
null,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleClose22 = () => {
|
||||||
|
alert(" 22");
|
||||||
|
setContextMenu(null);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleClose23 = () => {
|
||||||
|
alert(" 23");
|
||||||
|
setContextMenu(null);
|
||||||
|
};
|
||||||
|
const handleClose24 = () => {
|
||||||
|
alert(" 24");
|
||||||
|
setContextMenu(null);
|
||||||
|
};
|
||||||
|
const handleClose25 = () => {
|
||||||
|
setContextMenu(null);
|
||||||
|
};
|
||||||
return (
|
return (
|
||||||
<div className="testurl_new">
|
<div className="testurl_new">
|
||||||
<Helmet>
|
<Helmet>
|
||||||
|
@ -569,6 +599,37 @@ const TestUrl_New = (props) => {
|
||||||
|
|
||||||
|
|
||||||
<div className="div_mobile">
|
<div className="div_mobile">
|
||||||
|
<div onContextMenu={handleContextMenu} style={{ cursor: 'context-menu' }}>
|
||||||
|
|
||||||
|
<TextField
|
||||||
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
|
|
||||||
|
name="detail_session_class"
|
||||||
|
id="detail_session_class"
|
||||||
|
value={"uuuuuuuuuuu"}
|
||||||
|
//onContextMenu={handleContextMenu}
|
||||||
|
|
||||||
|
>
|
||||||
|
</TextField>
|
||||||
|
<Menu
|
||||||
|
open={contextMenu !== null}
|
||||||
|
onClose={handleClose}
|
||||||
|
anchorReference="anchorPosition"
|
||||||
|
anchorPosition={
|
||||||
|
contextMenu !== null
|
||||||
|
? { top: contextMenu.mouseY, left: contextMenu.mouseX }
|
||||||
|
: undefined
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<MenuItem onClick={handleClose22} style={{"width":"100%"}}>Copy</MenuItem>
|
||||||
|
<MenuItem onClick={handleClose22} style={{"width":"100%"}}>Print</MenuItem>
|
||||||
|
<MenuItem onClick={handleClose22} style={{"width":"100%"}}>Highlight</MenuItem>
|
||||||
|
<MenuItem onClick={handleClose22} style={{"width":"100%"}}>Email</MenuItem>
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<h3> Page de test * testurl_new </h3>
|
<h3> Page de test * testurl_new </h3>
|
||||||
parametres courseid = {courseid}, tabid = {tabid}
|
parametres courseid = {courseid}, tabid = {tabid}
|
||||||
<br />
|
<br />
|
||||||
|
|
|
@ -2527,6 +2527,32 @@
|
||||||
|
|
||||||
// end media
|
// end media
|
||||||
|
|
||||||
|
|
||||||
|
.disabled_style_with_visualiser {
|
||||||
|
width: 80% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabled_style_with_visualiser_icone{
|
||||||
|
float: left;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
font-size: large;
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabled_style_left_text_with_visualiser_icone{
|
||||||
|
width: 80% !important;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabled_style_right_bton_visualiser{
|
||||||
|
width: 9% !important;
|
||||||
|
float: left;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.css-md26zr-MuiInputBase-root-MuiOutlinedInput-root{
|
.css-md26zr-MuiInputBase-root-MuiOutlinedInput-root{
|
||||||
height: 3rem !important;
|
height: 3rem !important;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
background-color: red;
|
background-color: red;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mysy_spinner {
|
.mysy_spinner {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
|
@ -228,6 +229,7 @@
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -607,12 +609,6 @@
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.block_en_mass_bton_action {
|
|
||||||
width: 100%;
|
|
||||||
float: left;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
padding-top: 0.5rem !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.div_row_list_pj {
|
.div_row_list_pj {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -639,6 +635,14 @@
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
padding-top: 0.5rem !important;
|
padding-top: 0.5rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tuteur_field {
|
||||||
|
width: 100%;
|
||||||
|
padding: 5px;
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
font-size: small;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (min-width: 601px) and (max-width: 991px) {
|
@media only screen and (min-width: 601px) and (max-width: 991px) {
|
||||||
|
@ -1162,7 +1166,7 @@
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
background: white;
|
background: white;
|
||||||
border: solid gainsboro 1px;
|
border: solid gainsboro 1px;
|
||||||
padding-top: 0.5rem !important;
|
padding-top: 0px !important;
|
||||||
border: none !important;
|
border: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1210,12 +1214,6 @@
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.block_en_mass_bton_action {
|
|
||||||
width: 45%;
|
|
||||||
float: left;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
padding-top: 0.5rem !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.div_row_list_pj {
|
.div_row_list_pj {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
|
@ -1242,6 +1240,13 @@
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
padding-top: 0.5rem !important;
|
padding-top: 0.5rem !important;
|
||||||
}
|
}
|
||||||
|
.tuteur_field {
|
||||||
|
width: 50%;
|
||||||
|
padding: 5px;
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
font-size: small;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1736,6 +1741,14 @@
|
||||||
padding-top: 0.5rem !important;
|
padding-top: 0.5rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tuteur_field {
|
||||||
|
width: 50%;
|
||||||
|
padding: 5px;
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
font-size: small;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (min-width: 1200px) {
|
@media only screen and (min-width: 1200px) {
|
||||||
|
@ -1874,6 +1887,8 @@
|
||||||
border: solid gainsboro 1px;
|
border: solid gainsboro 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.training_caract {
|
.training_caract {
|
||||||
width: 30%;
|
width: 30%;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
@ -2315,6 +2330,29 @@
|
||||||
|
|
||||||
// end media
|
// end media
|
||||||
|
|
||||||
|
.disabled_style_with_visualiser {
|
||||||
|
width: 80% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabled_style_with_visualiser_icone{
|
||||||
|
float: left;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
font-size: large;
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabled_style_left_text_with_visualiser_icone{
|
||||||
|
width: 80% !important;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabled_style_right_bton_visualiser{
|
||||||
|
width: 9% !important;
|
||||||
|
float: left;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
.css-1v4ccyo {
|
.css-1v4ccyo {
|
||||||
height: 3.5rem !important;
|
height: 3.5rem !important;
|
||||||
font-size: small;
|
font-size: small;
|
||||||
|
|
|
@ -194,7 +194,7 @@
|
||||||
float: center;
|
float: center;
|
||||||
//border: 1px solid black;
|
//border: 1px solid black;
|
||||||
border-width: 0.01rem;
|
border-width: 0.01rem;
|
||||||
width: 97%;
|
width: 98%;
|
||||||
height: auto;
|
height: auto;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
|
Loading…
Reference in New Issue