qsdq
parent
667ffccb49
commit
a6baa4cbfe
24
src/App.js
24
src/App.js
|
@ -1,10 +1,10 @@
|
|||
import React, { useState, useEffect } from "react";
|
||||
import { BrowserRouter, Switch, Route } from "react-router-dom"
|
||||
import { BrowserRouter, Route, Switch, useHistory } from "react-router-dom";
|
||||
|
||||
import './App.css';
|
||||
import NotFound from './pages/NotFound'
|
||||
import Contact from './pages/Contact'
|
||||
import Connexion from './pages/Connexion'
|
||||
import Login from './pages/Login';
|
||||
|
||||
import Recherche_new_v2 from "./pages/recherche_new_v2";
|
||||
import Recherche_new_v3 from "./pages/recherche_new_v3";
|
||||
|
@ -73,9 +73,11 @@ import New_Fonctionnalite_2025 from "./pages/new_p_fonctionnalite_2025";
|
|||
import New_A_Propos_2025 from "./pages/new_p_a_propos_2025";
|
||||
import New_Home_Page_2025 from "./pages/new_p_home_page_2025";
|
||||
|
||||
import Jmjformation_catalogue from "./pages/jmjformation_catalogue_public";
|
||||
|
||||
import New_Test_Header_Footer_2025 from "./pages/new_p_test_header_footer_2025";
|
||||
|
||||
import img_loading_spin from "./mysy_img/mysy_spin_loading.gif";
|
||||
|
||||
function App() {
|
||||
|
||||
|
@ -93,9 +95,12 @@ function App() {
|
|||
return subdomain;
|
||||
};
|
||||
|
||||
const history = useHistory();
|
||||
|
||||
|
||||
const [isLoading, setLoading] = useState();
|
||||
useEffect(() => {
|
||||
|
||||
setLoading(true);
|
||||
let myurl = window.location.host;
|
||||
let myurl_pathname = window.location.pathname;
|
||||
|
||||
|
@ -118,22 +123,28 @@ function App() {
|
|||
|
||||
var tab_action = ['/moncatalog', '/Display-Partner-Catalog-Detail-formation', 'Display-Partner-Catalog-Detail-formation', 'moncatalog'];
|
||||
|
||||
|
||||
|
||||
if (tab_myurl_pathname.length > 0 && !tab_action.includes(tab_myurl_pathname[1]) && !tab_reserved_subdomain.includes(subdomain)) {
|
||||
|
||||
var new_url = window.location.protocol + "//" + domain.split('.')[0] + "." + domain.split('.')[1] + "/moncatalog";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
setLoading(false);
|
||||
|
||||
}, []);
|
||||
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className="App">
|
||||
|
||||
{isLoading && <div className="loader-container">
|
||||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
|
||||
{/*API DEV = {process.env.REACT_APP_API_URL_DEV} <br/>
|
||||
API REC = {process.env.REACT_APP_API_URL_REC}<br/>
|
||||
API URL = {process.env.REACT_APP_API_URL}<br/>
|
||||
|
@ -245,6 +256,7 @@ function App() {
|
|||
|
||||
<Route path="/" exact component={New_Home_Page_2025} />
|
||||
|
||||
<Route path="/jmjformation" exact component={Jmjformation_catalogue} />
|
||||
|
||||
|
||||
{/* Debut Migration */}
|
||||
|
|
|
@ -221,57 +221,56 @@ const AddClassManual = (props) => {
|
|||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'UE <i><font color="red"> définitivement supprimée de cette formation </font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_UE_From_Class(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, l'UE <i><font color="red"> définitivement supprimée de cette formation </font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_UE_From_Class(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
);
|
||||
}
|
||||
},
|
||||
|
@ -305,53 +304,55 @@ const AddClassManual = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la caractéristique financière sera <i><font color="red"> définitivement supprimée de cette formation </font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Given_Financial_Caracteristique(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, la caractéristique financière sera <i><font color="red"> définitivement supprimée de cette formation </font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Given_Financial_Caracteristique(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -417,55 +418,56 @@ const AddClassManual = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'évaluation <i><font color="red"> définitivement supprimée de l'UE ainsi que de la formation </font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_evaluation_ue_class(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, l'évaluation <i><font color="red"> définitivement supprimée de l'UE ainsi que de la formation </font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_evaluation_ue_class(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
);
|
||||
}
|
||||
|
@ -2693,8 +2695,10 @@ const AddClassManual = (props) => {
|
|||
};
|
||||
|
||||
function DataUpdated() {
|
||||
setdatamodification("1");
|
||||
setimportmessage();
|
||||
if (String(props.check_user_acces_right("formation", "write")) === "1") {
|
||||
setdatamodification("1");
|
||||
setimportmessage();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -5614,7 +5618,6 @@ const AddClassManual = (props) => {
|
|||
coefficient: JSON.parse(item).coefficient,
|
||||
seuil_validation: JSON.parse(item).seuil_validation,
|
||||
|
||||
|
||||
duration: JSON.parse(item).duration,
|
||||
duration_unite: JSON.parse(item).duration_unite,
|
||||
duration_concat: JSON.parse(item).duration_concat,
|
||||
|
@ -5627,21 +5630,22 @@ const AddClassManual = (props) => {
|
|||
className="datagridclass"
|
||||
|
||||
onRowDoubleClick={(newSelectionModel) => {
|
||||
clean_ue_data();
|
||||
setgridline_ue_id(newSelectionModel.row.id);
|
||||
setselected_ue_id(newSelectionModel.row._id)
|
||||
if (String(props.check_user_acces_right("formation", "write")) === "1") {
|
||||
clean_ue_data();
|
||||
setgridline_ue_id(newSelectionModel.row.id);
|
||||
setselected_ue_id(newSelectionModel.row._id)
|
||||
|
||||
var current_class_ue_data = New_Getall_Class_List_UE_result.filter((ue_data) => ue_data._id === String((newSelectionModel.row._id)))
|
||||
var current_class_ue_data = New_Getall_Class_List_UE_result.filter((ue_data) => ue_data._id === String((newSelectionModel.row._id)))
|
||||
|
||||
// console.log(" ### current_class_ue_data[0] = ", current_class_ue_data[0]);
|
||||
setselected_ue_credit_ects(current_class_ue_data[0]['credit']);
|
||||
setselected_ue_is_noted(current_class_ue_data[0]['is_noted']);
|
||||
setselected_ue_pres_dist_hyp(current_class_ue_data[0]['pres_dist_hyp']);
|
||||
setselected_ue_coefficient(current_class_ue_data[0]['coefficient']);
|
||||
setselected_ue_seuil_validation(current_class_ue_data[0]['seuil_validation']);
|
||||
setadd_one_eu_to_class("0");
|
||||
|
||||
setDialog_Unite_Enseignement_open(true);
|
||||
// console.log(" ### current_class_ue_data[0] = ", current_class_ue_data[0]);
|
||||
setselected_ue_credit_ects(current_class_ue_data[0]['credit']);
|
||||
setselected_ue_is_noted(current_class_ue_data[0]['is_noted']);
|
||||
setselected_ue_pres_dist_hyp(current_class_ue_data[0]['pres_dist_hyp']);
|
||||
setselected_ue_coefficient(current_class_ue_data[0]['coefficient']);
|
||||
setselected_ue_seuil_validation(current_class_ue_data[0]['seuil_validation']);
|
||||
setadd_one_eu_to_class("0");
|
||||
setDialog_Unite_Enseignement_open(true);
|
||||
}
|
||||
|
||||
|
||||
}}
|
||||
|
@ -5657,9 +5661,6 @@ const AddClassManual = (props) => {
|
|||
getCellClassName={(params) => {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Pour la gestion de la couleur de zone double cliquée
|
||||
if (String(params.row.id) === String(ue_gridline_id)) {
|
||||
return 'line--statut--selected';
|
||||
|
@ -5706,7 +5707,7 @@ const AddClassManual = (props) => {
|
|||
<br />
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
<Button variant="outlined" onClick={(e) => {
|
||||
Getall_Partner_List_UE();
|
||||
setadd_one_eu_to_class("1")
|
||||
|
@ -5716,7 +5717,7 @@ const AddClassManual = (props) => {
|
|||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 UE
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
</div>
|
||||
</div>}
|
||||
|
@ -5789,19 +5790,19 @@ const AddClassManual = (props) => {
|
|||
className="datagridclass"
|
||||
|
||||
onRowDoubleClick={(newSelectionModel) => {
|
||||
if (String(props.check_user_acces_right("formation", "write")) === "1") {
|
||||
setadd_ue_evalution("0");
|
||||
setsetgridline_evaluation_ue_id(newSelectionModel.row.id);
|
||||
setselected_eu_evalution_id(newSelectionModel.row.type_evaluation_id)
|
||||
setselected_ue_id(newSelectionModel.row.class_ue_id);
|
||||
setp_detail_max_note(newSelectionModel.row.max_note);
|
||||
setp_detail_ponderation_type_eval(newSelectionModel.row.ponderation_type_eval);
|
||||
setclass_unite_enseignement_type_evaluation_id(newSelectionModel.row._id);
|
||||
|
||||
setadd_ue_evalution("0");
|
||||
setsetgridline_evaluation_ue_id(newSelectionModel.row.id);
|
||||
setselected_eu_evalution_id(newSelectionModel.row.type_evaluation_id)
|
||||
setselected_ue_id(newSelectionModel.row.class_ue_id);
|
||||
setp_detail_max_note(newSelectionModel.row.max_note);
|
||||
setp_detail_ponderation_type_eval(newSelectionModel.row.ponderation_type_eval);
|
||||
setclass_unite_enseignement_type_evaluation_id(newSelectionModel.row._id);
|
||||
|
||||
Getall_Partner_Type_Evalution_List();
|
||||
|
||||
setDialog_Evaluation_Unite_Enseignement_open(true);
|
||||
Getall_Partner_Type_Evalution_List();
|
||||
|
||||
setDialog_Evaluation_Unite_Enseignement_open(true);
|
||||
}
|
||||
}}
|
||||
|
||||
|
||||
|
@ -5849,7 +5850,7 @@ const AddClassManual = (props) => {
|
|||
<br />
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
<Button variant="outlined" onClick={(e) => {
|
||||
Getall_Partner_Type_Evalution_List();
|
||||
setadd_ue_evalution("1")
|
||||
|
@ -5859,7 +5860,7 @@ const AddClassManual = (props) => {
|
|||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Evaluation UE
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
@ -5873,7 +5874,7 @@ const AddClassManual = (props) => {
|
|||
<a data-tooltip-id="detail_regle_calcul2" data-tooltip-html={New_Get_List_Regle_Calcul_Note_Formation_result.filter((data) => (data)._id === String(selected_class_note_calculation_id))[0].calcul_rule}>
|
||||
<FcInfo />
|
||||
</a>
|
||||
<br/>
|
||||
<br />
|
||||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
@ -5881,7 +5882,7 @@ const AddClassManual = (props) => {
|
|||
id="regle_calcul_note_formation"
|
||||
className="disabled_style"
|
||||
options={New_Get_List_Regle_Calcul_Note_Formation_result}
|
||||
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
value={New_Get_List_Regle_Calcul_Note_Formation_result.filter((data) => (data)._id === String(selected_class_note_calculation_id))[0].label}
|
||||
onChange={(event, value) => {
|
||||
if (value && value._id) {
|
||||
|
@ -5903,7 +5904,7 @@ const AddClassManual = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{String(props.ispending) === String("0") && <div className="parter_div_filtrer_row">
|
||||
{/*String(props.ispending) === String("0") && <div className="parter_div_filtrer_row">
|
||||
|
||||
|
||||
{(String(datamodification) === String("1") || String(editor_tochange) === String("1")) && <div className="parter_div_filtrer_row_gauche" >
|
||||
|
@ -5970,7 +5971,7 @@ const AddClassManual = (props) => {
|
|||
|
||||
</div>}
|
||||
|
||||
</div>}
|
||||
</div>*/}
|
||||
|
||||
|
||||
|
||||
|
@ -5984,7 +5985,7 @@ const AddClassManual = (props) => {
|
|||
<div style={{ "padding": "5px", "marginRight": "10px" }}>
|
||||
<br />
|
||||
|
||||
<div className="div_row" style={{ "padding": "5px", "border": "None", "marginBottom": "1px" }}>
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <div className="div_row" style={{ "padding": "5px", "border": "None", "marginBottom": "1px" }}>
|
||||
|
||||
<div style={{ "fontSize": "12px" }}>
|
||||
<label htmlFor="upload-photo">
|
||||
|
@ -6019,7 +6020,7 @@ const AddClassManual = (props) => {
|
|||
shrink: true,
|
||||
}}
|
||||
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style enable_style"
|
||||
value={p_detail_one_file_to_download_type_name}
|
||||
onChange={(e) => {
|
||||
|
@ -6040,7 +6041,7 @@ const AddClassManual = (props) => {
|
|||
{Record_All_PJ_api && String(Record_All_PJ_api) === "false" && <div className="koUpdateData"> {Record_All_PJ_message} </div>}
|
||||
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
{file_1_name && file_1_name.name && <div className="div_row" style={{ "padding": "5px", "border": "none" }}>
|
||||
|
@ -6066,7 +6067,7 @@ const AddClassManual = (props) => {
|
|||
id={(JSON.parse(val).file_name)} onClick={Download_one_attached_document}> Télécharger </font></nav>
|
||||
|
||||
|
||||
<Popup
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <Popup
|
||||
trigger={
|
||||
<nav style={{ "color": "red", "cursor": "pointer" }} > Supprimer</nav>
|
||||
|
||||
|
@ -6114,7 +6115,7 @@ const AddClassManual = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</Popup>}
|
||||
|
||||
</div>
|
||||
))}
|
||||
|
@ -6149,10 +6150,11 @@ const AddClassManual = (props) => {
|
|||
required
|
||||
name="external_code"
|
||||
label="Code"
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
|
||||
className="disabled_style"
|
||||
|
||||
value={p_detail_external_code}
|
||||
|
@ -6173,7 +6175,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
value={p_detail_title}
|
||||
onChange={(e) => {
|
||||
|
@ -6192,6 +6194,7 @@ const AddClassManual = (props) => {
|
|||
className="disabled_style"
|
||||
options={New_Getall_Training_Employee_No_Filter_result}
|
||||
value={p_formateur_label}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onChange={(event, value) => {
|
||||
if (value && value._id) {
|
||||
setp_formateur_id(value._id);
|
||||
|
@ -6225,6 +6228,7 @@ const AddClassManual = (props) => {
|
|||
className="disabled_style"
|
||||
options={cpf}
|
||||
value={mycpf_label}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
|
||||
|
@ -6254,6 +6258,7 @@ const AddClassManual = (props) => {
|
|||
className="disabled_style"
|
||||
options={certif}
|
||||
value={mycertif_label}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
|
||||
|
@ -6279,7 +6284,7 @@ const AddClassManual = (props) => {
|
|||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
name="class_level"
|
||||
id="class_level"
|
||||
className="disabled_style"
|
||||
|
@ -6313,6 +6318,7 @@ const AddClassManual = (props) => {
|
|||
className="disabled_style"
|
||||
options={publiee}
|
||||
value={mypublished_label}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
// console.log(" value = ", value);
|
||||
|
@ -6341,7 +6347,7 @@ const AddClassManual = (props) => {
|
|||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
name="training_support"
|
||||
id="training_support"
|
||||
className="disabled_style"
|
||||
|
@ -6372,7 +6378,7 @@ const AddClassManual = (props) => {
|
|||
{New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="training_caract">
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
name="domaine"
|
||||
id="domaine"
|
||||
className="disabled_style"
|
||||
|
@ -6404,7 +6410,7 @@ const AddClassManual = (props) => {
|
|||
<div className="training_caract">
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
name="metier"
|
||||
id="metier"
|
||||
className="disabled_style"
|
||||
|
@ -6436,7 +6442,7 @@ const AddClassManual = (props) => {
|
|||
{(!mytrainingdomaine || String(mytrainingdomaine).trim().length <= 0 || String(mytrainingdomaine).trim() === "") && <div className="training_caract">
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
name="metier"
|
||||
id="metier"
|
||||
className="disabled_style"
|
||||
|
@ -6467,7 +6473,7 @@ const AddClassManual = (props) => {
|
|||
<div className="training_caract">
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
name="categorie"
|
||||
id="categorie"
|
||||
className="disabled_style"
|
||||
|
@ -6499,7 +6505,7 @@ const AddClassManual = (props) => {
|
|||
{(!mytrainingdomaine || String(mytrainingdomaine).trim().length <= 0 || String(mytrainingdomaine).trim() === "") && <div className="training_caract">
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
name="categorie"
|
||||
id="categorie"
|
||||
className="disabled_style"
|
||||
|
@ -6529,7 +6535,7 @@ const AddClassManual = (props) => {
|
|||
{New_Getall_Parter_referentiel_padagogique_result && New_Getall_Parter_referentiel_padagogique_result.length > 0 && <div className="training_caract">
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
name="ref_peda"
|
||||
id="ref_peda"
|
||||
className="disabled_style"
|
||||
|
@ -6577,7 +6583,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
value={p_detail_duree}
|
||||
onChange={(e) => {
|
||||
|
@ -6593,6 +6599,7 @@ const AddClassManual = (props) => {
|
|||
name="duration_unit"
|
||||
id="duration_unit"
|
||||
className="disabled_style"
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
options={New_duration_unit_list}
|
||||
value={mytrainingdurationunit}
|
||||
onChange={(event, value) => {
|
||||
|
@ -6621,7 +6628,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
value={p_detail_price}
|
||||
onChange={(e) => {
|
||||
|
@ -6656,7 +6663,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
value={p_detail_url}
|
||||
onChange={(e) => {
|
||||
|
@ -6674,7 +6681,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
value={p_detail_lms_class_code}
|
||||
onChange={(e) => {
|
||||
|
@ -6693,7 +6700,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
value={p_detail_class_inscription_url}
|
||||
onChange={(e) => {
|
||||
|
@ -6720,7 +6727,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
|
||||
value={p_detail_class_banner_img_url}
|
||||
|
@ -6743,7 +6750,7 @@ const AddClassManual = (props) => {
|
|||
shrink: true,
|
||||
}}
|
||||
inputProps={{ min: "1", max: "5", step: "0.5" }}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
value={p_detail_note}
|
||||
onChange={(e) => {
|
||||
|
@ -6761,7 +6768,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
value={p_detail_version_catalogue}
|
||||
onChange={(e) => {
|
||||
|
@ -6780,7 +6787,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
value={p_detail_recyclage_delai}
|
||||
onChange={(e) => {
|
||||
|
@ -6799,7 +6806,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
value={p_detail_recyclage_alert}
|
||||
onChange={(e) => {
|
||||
|
@ -6840,7 +6847,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
onChange={(e) => {
|
||||
change_champs_spec_handle(e.target.value);
|
||||
|
@ -6857,7 +6864,7 @@ const AddClassManual = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
className="disabled_style"
|
||||
onChange={(e) => {
|
||||
change_champs_spec_handle(e.target.value);
|
||||
|
@ -6929,7 +6936,7 @@ const AddClassManual = (props) => {
|
|||
|
||||
</div>}
|
||||
|
||||
{submenu && String(submenu) === "finance" && <div>
|
||||
{submenu && String(submenu) === "finance" && String(props.check_user_acces_right("formation", "write")) === "1" && <div>
|
||||
<div>
|
||||
|
||||
<div style={{ height: 550, width: '100%', paddingRight: '10px', paddingLeft: '10px' }}>
|
||||
|
@ -6999,27 +7006,27 @@ const AddClassManual = (props) => {
|
|||
className="datagridclass"
|
||||
|
||||
onRowDoubleClick={(newSelectionModel) => {
|
||||
if (String(props.check_user_acces_right("formation", "write")) === "1") {
|
||||
setfinance_data_gridline_id(newSelectionModel.row.id);
|
||||
setselected_finance_data_id(newSelectionModel.row._id)
|
||||
|
||||
setfinance_data_gridline_id(newSelectionModel.row.id);
|
||||
setselected_finance_data_id(newSelectionModel.row._id)
|
||||
|
||||
var current_class_finance_data = New_Getall_Class_Finance_Caracteristic_result.filter((finance_data) => finance_data._id === String((newSelectionModel.row._id)))
|
||||
var current_class_finance_data = New_Getall_Class_Finance_Caracteristic_result.filter((finance_data) => finance_data._id === String((newSelectionModel.row._id)))
|
||||
|
||||
|
||||
// console.log(" ### current_class_ue_data = ", current_class_finance_data);
|
||||
setp_detail_fin_data_code(current_class_finance_data[0]['code']);
|
||||
setp_detail_fin_data_description(current_class_finance_data[0]['description']);
|
||||
setp_detail_fin_data_commentaire(current_class_finance_data[0]['commentaire']);
|
||||
setp_detail_fin_data_montant(current_class_finance_data[0]['montant']);
|
||||
setp_detail_fin_data_type_cout(current_class_finance_data[0]['type_cout']);
|
||||
if (String(current_class_finance_data[0]['inclus_calcul']) === "1")
|
||||
setp_detail_fin_data_inclus_calcul(true);
|
||||
else
|
||||
setp_detail_fin_data_inclus_calcul(false);
|
||||
// console.log(" ### current_class_ue_data = ", current_class_finance_data);
|
||||
setp_detail_fin_data_code(current_class_finance_data[0]['code']);
|
||||
setp_detail_fin_data_description(current_class_finance_data[0]['description']);
|
||||
setp_detail_fin_data_commentaire(current_class_finance_data[0]['commentaire']);
|
||||
setp_detail_fin_data_montant(current_class_finance_data[0]['montant']);
|
||||
setp_detail_fin_data_type_cout(current_class_finance_data[0]['type_cout']);
|
||||
if (String(current_class_finance_data[0]['inclus_calcul']) === "1")
|
||||
setp_detail_fin_data_inclus_calcul(true);
|
||||
else
|
||||
setp_detail_fin_data_inclus_calcul(false);
|
||||
|
||||
|
||||
setDialog_Financial_Data_open(true);
|
||||
|
||||
setDialog_Financial_Data_open(true);
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
|
@ -7080,7 +7087,7 @@ const AddClassManual = (props) => {
|
|||
<br />
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
<Button variant="outlined" onClick={(e) => {
|
||||
clean_financial_data_fields();
|
||||
setDialog_Financial_Data_open(true);
|
||||
|
@ -7089,7 +7096,7 @@ const AddClassManual = (props) => {
|
|||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 caracteristiques
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -7105,15 +7112,13 @@ const AddClassManual = (props) => {
|
|||
|
||||
|
||||
{submenu && String(submenu) === "detail_formation" && <div>
|
||||
|
||||
<div style={{ "width": "100%" }}>
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <div style={{ "width": "100%" }}>
|
||||
{String(datamodification) === String("1") && <div className="parter_div_filtrer_row">
|
||||
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div>
|
||||
</div>}
|
||||
|
||||
{String(props.ispending) === String("0") && <div className="parter_div_filtrer_row">
|
||||
|
||||
|
||||
{(String(datamodification) === String("1") || String(editor_tochange) === String("1")) && <div className="parter_div_filtrer_row_gauche" >
|
||||
<Button variant="contained" onClick={RecordTraining} startIcon={<AiTwotoneSave />} className="bton_enreg2">ENREGISTRER LA FORMATION </Button>
|
||||
</div>
|
||||
|
@ -7214,7 +7219,7 @@ const AddClassManual = (props) => {
|
|||
{importmessage}
|
||||
|
||||
</div>}
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
<div className="training_data">
|
||||
|
@ -7225,12 +7230,11 @@ const AddClassManual = (props) => {
|
|||
<nav className="nav_descrip_champs" > Description * (max 1000 caractères) </nav>
|
||||
|
||||
<Tooltip className="tooltip_css" id="tooltip_use_ia" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
|
||||
<nav className="nav_ia">
|
||||
<AutoFixHighOutlinedIcon style={{ "color": "hsla(99, 75%, 75%, 1);" }}
|
||||
onClick={(e) => {
|
||||
|
||||
const regex = /(<([^>]+)>)/gi;
|
||||
var initial_text_no_html = editorRef_description.current.getContent().replace(regex, " ");
|
||||
initial_text_no_html = initial_text_no_html.replace(/[^ -~]/g, function (chr) {
|
||||
|
@ -7243,12 +7247,13 @@ const AddClassManual = (props) => {
|
|||
}} />
|
||||
|
||||
</nav>
|
||||
</a>
|
||||
</a>}
|
||||
</div>
|
||||
<Editor
|
||||
onInit={(evt, editor) => editorRef_description.current = editor}
|
||||
initialValue={field_description}
|
||||
onKeyUp={editor_keyup}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
|
||||
if (String(editor_tochange) === "1") {
|
||||
|
@ -7281,7 +7286,7 @@ const AddClassManual = (props) => {
|
|||
<nav className="nav_descrip_champs" > Objectif* (max 1000 caractères)
|
||||
</nav>
|
||||
<Tooltip className="tooltip_css" id="tooltip_use_ia" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
|
||||
<nav className="nav_ia">
|
||||
<AutoFixHighOutlinedIcon style={{ "color": "hsla(99, 75%, 75%, 1);" }}
|
||||
|
@ -7299,13 +7304,14 @@ const AddClassManual = (props) => {
|
|||
}} />
|
||||
|
||||
</nav>
|
||||
</a>
|
||||
</a>}
|
||||
|
||||
</div>
|
||||
<Editor
|
||||
onInit={(evt, editor) => editorRef_objectif.current = editor}
|
||||
initialValue={field_objectif}
|
||||
onKeyUp={editor_keyup}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
|
@ -7336,7 +7342,7 @@ const AddClassManual = (props) => {
|
|||
<nav className="nav_descrip_champs" > Programme (max 1000 caractères) </nav>
|
||||
|
||||
<Tooltip className="tooltip_css" id="tooltip_use_ia" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
|
||||
<nav className="nav_ia">
|
||||
<AutoFixHighOutlinedIcon style={{ "color": "hsla(99, 75%, 75%, 1);" }}
|
||||
|
@ -7356,13 +7362,14 @@ const AddClassManual = (props) => {
|
|||
}} />
|
||||
|
||||
</nav>
|
||||
</a>
|
||||
</a>}
|
||||
|
||||
</div>
|
||||
<Editor
|
||||
onInit={(evt, editor) => editorRef_programme.current = editor}
|
||||
initialValue={field_programme}
|
||||
onKeyUp={editor_keyup}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
|
@ -7394,6 +7401,7 @@ const AddClassManual = (props) => {
|
|||
onInit={(evt, editor) => editorRef_methode_pedago.current = editor}
|
||||
initialValue={field_methode_pedago}
|
||||
onKeyUp={editor_keyup}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
|
@ -7426,6 +7434,7 @@ const AddClassManual = (props) => {
|
|||
onInit={(evt, editor) => editorRef_suivi_eval.current = editor}
|
||||
initialValue={field_suivi_eval}
|
||||
onKeyUp={editor_keyup}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
|
@ -7459,6 +7468,7 @@ const AddClassManual = (props) => {
|
|||
onInit={(evt, editor) => editorRef_handicap.current = editor}
|
||||
initialValue={field_handicap}
|
||||
onKeyUp={editor_keyup}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
|
@ -7489,7 +7499,7 @@ const AddClassManual = (props) => {
|
|||
<div className="titre_training_text" style={{ "width": "100%", "float": "left" }}>
|
||||
<nav className="nav_descrip_champs" > Pré-requis </nav>
|
||||
<Tooltip className="tooltip_css" id="tooltip_use_ia" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
|
||||
<nav className="nav_ia">
|
||||
<AutoFixHighOutlinedIcon style={{ "color": "hsla(99, 75%, 75%, 1);" }}
|
||||
|
@ -7507,13 +7517,14 @@ const AddClassManual = (props) => {
|
|||
}} />
|
||||
|
||||
</nav>
|
||||
</a>
|
||||
</a>}
|
||||
|
||||
</div>
|
||||
<Editor
|
||||
onInit={(evt, editor) => editorRef_prerequis.current = editor}
|
||||
initialValue={field_prerequis}
|
||||
onKeyUp={editor_keyup}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
|
@ -7545,6 +7556,7 @@ const AddClassManual = (props) => {
|
|||
onInit={(evt, editor) => editorRef_pourqui.current = editor}
|
||||
initialValue={field_pourqui}
|
||||
onKeyUp={editor_keyup}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
|
@ -7576,6 +7588,7 @@ const AddClassManual = (props) => {
|
|||
onInit={(evt, editor) => editorRef_mots_cle.current = editor}
|
||||
initialValue={field_mots_cle}
|
||||
onKeyUp={editor_keyup}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
|
@ -7606,7 +7619,7 @@ const AddClassManual = (props) => {
|
|||
<nav className="nav_descrip_champs" > Plus produit </nav>
|
||||
|
||||
<Tooltip className="tooltip_css" id="tooltip_use_ia" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
|
||||
<nav className="nav_ia">
|
||||
<AutoFixHighOutlinedIcon style={{ "color": "hsla(99, 75%, 75%, 1);" }}
|
||||
|
@ -7624,12 +7637,13 @@ const AddClassManual = (props) => {
|
|||
}} />
|
||||
|
||||
</nav>
|
||||
</a>
|
||||
</a>}
|
||||
</div>
|
||||
<Editor
|
||||
onInit={(evt, editor) => editorRef_plus_produit.current = editor}
|
||||
initialValue={field_plus_produit}
|
||||
onKeyUp={editor_keyup}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
|
@ -7660,7 +7674,7 @@ const AddClassManual = (props) => {
|
|||
<nav className="nav_descrip_champs" > Attestation : Contenu de la formation(max 800 caractères) <i> (à afficher sur l'attestation) </i> </nav>
|
||||
|
||||
<Tooltip className="tooltip_css" id="tooltip_use_ia" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||
|
||||
<nav className="nav_ia">
|
||||
<AutoFixHighOutlinedIcon style={{ "color": "hsla(99, 75%, 75%, 1);" }}
|
||||
|
@ -7678,12 +7692,13 @@ const AddClassManual = (props) => {
|
|||
}} />
|
||||
|
||||
</nav>
|
||||
</a>
|
||||
</a>}
|
||||
</div>
|
||||
<Editor
|
||||
onInit={(evt, editor) => editorRef_contenu_attestation.current = editor}
|
||||
initialValue={field_contenu_attestation}
|
||||
onKeyUp={editor_keyup}
|
||||
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
|
@ -7842,7 +7857,7 @@ const AddClassManual = (props) => {
|
|||
|
||||
</div>
|
||||
</a>
|
||||
<div className="div_row_droite_image">
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <div className="div_row_droite_image">
|
||||
<input type="file" id="files_img_class" accept="image/*" onChange={imglogoclasschangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /> <br />
|
||||
<label for="files_img_class" className="bton_image_class">Charger une image</label><br />
|
||||
<nav className="bton_supprime_image_class" onClick={removeRecodedClassImage}>Supprimer l'image</nav><br />
|
||||
|
@ -7850,10 +7865,10 @@ const AddClassManual = (props) => {
|
|||
{isimgclassdeleted && String(isimgclassdeleted) === "1" && <nav className="koUpdateData"> {isimgclassdeleted_message}</nav>}
|
||||
{isimgclassdeleted && String(isimgclassdeleted) === "0" && <nav className="okUpdateData"> {isimgclassdeleted_message}</nav>}
|
||||
{isimgclassSelected && String(isimgclassSaved) === "0" && <nav className="koUpdateData"> {isimgclassSaved_message}</nav>}
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
</div>
|
||||
<div className="div_row_bis tips_img_class">
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <div className="div_row_bis tips_img_class">
|
||||
<li>
|
||||
L'image doit etre carrée.
|
||||
</li>
|
||||
|
@ -7867,7 +7882,7 @@ const AddClassManual = (props) => {
|
|||
<li>
|
||||
La taille de l'image ne doit pas dépasser 1 mega octet
|
||||
</li>
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
|
||||
</Box>
|
||||
|
@ -7965,7 +7980,6 @@ const AddClassManual = (props) => {
|
|||
disablePortal
|
||||
id="competence_nom"
|
||||
name="competence_nom"
|
||||
|
||||
fullWidth
|
||||
|
||||
options={New_Getall_Employee_Statistic_Question_List_result}
|
||||
|
|
|
@ -353,12 +353,16 @@ const AddParnerClient = (props) => {
|
|||
}
|
||||
|
||||
function DataUpdated() {
|
||||
setdatamodification("1");
|
||||
if (String(props.check_user_acces_right("client", "write")) === "1") {
|
||||
setdatamodification("1");
|
||||
}
|
||||
}
|
||||
|
||||
function DataEditMode() {
|
||||
setformedit_mode("1");
|
||||
Enable_fields();
|
||||
if (String(props.check_user_acces_right("client", "write")) === "1") {
|
||||
setformedit_mode("1");
|
||||
Enable_fields();
|
||||
}
|
||||
}
|
||||
|
||||
function AnnulerEdit() {
|
||||
|
@ -371,23 +375,31 @@ const AddParnerClient = (props) => {
|
|||
}
|
||||
|
||||
function DataUpdated_Invoice_Data() {
|
||||
setdatamodification_invoice("1");
|
||||
if (String(props.check_user_acces_right("client", "write")) === "1") {
|
||||
setdatamodification_invoice("1");
|
||||
}
|
||||
}
|
||||
|
||||
function DataEditMode_Invoice_Data() {
|
||||
setformedit_mode_invoice("1");
|
||||
Enable_invoice_fields();
|
||||
if (String(props.check_user_acces_right("client", "write")) === "1") {
|
||||
setformedit_mode_invoice("1");
|
||||
Enable_invoice_fields();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function DataUpdated_Contact_Data() {
|
||||
setdatamodification_contact("1");
|
||||
if (String(props.check_user_acces_right("client", "write")) === "1") {
|
||||
setdatamodification_contact("1");
|
||||
}
|
||||
}
|
||||
|
||||
function DataEditMode_Contact_Data() {
|
||||
setformedit_mode_contact("1");
|
||||
Enable_contact_fields();
|
||||
if (String(props.check_user_acces_right("client", "write")) === "1") {
|
||||
setformedit_mode_contact("1");
|
||||
Enable_contact_fields();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -3301,7 +3313,7 @@ const AddParnerClient = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
|
||||
>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title"> Gestion compte intranet </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> Gestion compte intranet </DialogTitle>
|
||||
|
||||
<DialogContent className="DialogContent_width" >
|
||||
|
||||
|
@ -3428,6 +3440,7 @@ const AddParnerClient = (props) => {
|
|||
<br /><br />
|
||||
<nav style={{ "paddingLeft": "10px" }}>
|
||||
<Radio
|
||||
disabled={Boolean(String(props.check_user_acces_right("client", "write")))}
|
||||
checked={p_client_is_company === '1'}
|
||||
onChange={(e) => {
|
||||
DataEditMode();
|
||||
|
@ -3443,7 +3456,7 @@ const AddParnerClient = (props) => {
|
|||
},
|
||||
}}
|
||||
|
||||
/> Société
|
||||
/> Société
|
||||
|
||||
<Radio
|
||||
checked={p_client_is_company === '0'}
|
||||
|
@ -3458,6 +3471,7 @@ const AddParnerClient = (props) => {
|
|||
/> Particulier
|
||||
<Radio
|
||||
checked={p_client_is_company === '2'}
|
||||
disabled={Boolean(String(props.check_user_acces_right("client", "write")))}
|
||||
onChange={(e) => {
|
||||
DataEditMode();
|
||||
setp_client_is_company('2');
|
||||
|
@ -3930,6 +3944,7 @@ const AddParnerClient = (props) => {
|
|||
<nav style={{ "paddingLeft": "10px" }}>
|
||||
<Radio
|
||||
checked={p_client_is_company === '1'}
|
||||
disabled={Boolean(String(props.check_user_acces_right("client", "write")))}
|
||||
onChange={(e) => {
|
||||
DataEditMode();
|
||||
setp_client_is_company('1');
|
||||
|
@ -3949,6 +3964,8 @@ const AddParnerClient = (props) => {
|
|||
|
||||
<Radio
|
||||
checked={p_client_is_company === '0'}
|
||||
disabled={Boolean(String(props.check_user_acces_right("client", "write")))}
|
||||
|
||||
onChange={(e) => {
|
||||
DataEditMode();
|
||||
setp_client_is_company('0');
|
||||
|
@ -3961,6 +3978,7 @@ const AddParnerClient = (props) => {
|
|||
|
||||
<Radio
|
||||
checked={p_client_is_company === '2'}
|
||||
disabled={Boolean(String(props.check_user_acces_right("client", "write")))}
|
||||
onChange={(e) => {
|
||||
DataEditMode();
|
||||
setp_client_is_company('2');
|
||||
|
@ -3983,8 +4001,10 @@ const AddParnerClient = (props) => {
|
|||
cursor: 'pointer',
|
||||
float: "left", textAlign: 'center'
|
||||
}} onClick={(e) => {
|
||||
setp_conf_new_login("");
|
||||
setDialog_mysy_intranet_account_open(true);
|
||||
if (String(props.check_user_acces_right("client", "write")) === "1") {
|
||||
setp_conf_new_login("");
|
||||
setDialog_mysy_intranet_account_open(true);
|
||||
}
|
||||
}}>
|
||||
<MdManageAccounts style={{ fontSize: '20px' }} />
|
||||
|
||||
|
@ -4310,13 +4330,14 @@ const AddParnerClient = (props) => {
|
|||
<a data-tooltip-id="tooltip_financeur" data-tooltip-html="Si ce type s'applique aux organismes finaceurs, cliquez 'OUI' ">
|
||||
<nav className="disabled_style" style={{ "height": '3rem', border: "none" }}
|
||||
onChange={(e) => {
|
||||
if (String(props.check_user_acces_right("client", "write")) === "1") {
|
||||
DataEditMode();
|
||||
if (p_client_is_financeur === true)
|
||||
setp_client_is_financeur(false)
|
||||
else {
|
||||
|
||||
DataEditMode();
|
||||
if (p_client_is_financeur === true)
|
||||
setp_client_is_financeur(false)
|
||||
else {
|
||||
|
||||
setp_client_is_financeur(true);
|
||||
setp_client_is_financeur(true);
|
||||
}
|
||||
}
|
||||
|
||||
}}
|
||||
|
@ -4334,12 +4355,14 @@ const AddParnerClient = (props) => {
|
|||
<a data-tooltip-id="tooltip_fsseur" data-tooltip-html="Si ce type s'applique aux fournisseurs, cliquez 'OUI' ">
|
||||
<nav className="disabled_style" style={{ "height": '3rem', border: "none" }}
|
||||
onChange={(e) => {
|
||||
DataEditMode();
|
||||
if (p_client_is_fournisseur === true)
|
||||
setp_client_is_fournisseur(false)
|
||||
else {
|
||||
if (String(props.check_user_acces_right("client", "write")) === "1") {
|
||||
DataEditMode();
|
||||
if (p_client_is_fournisseur === true)
|
||||
setp_client_is_fournisseur(false)
|
||||
else {
|
||||
|
||||
setp_client_is_fournisseur(true);
|
||||
setp_client_is_fournisseur(true);
|
||||
}
|
||||
}
|
||||
|
||||
}}
|
||||
|
@ -4361,12 +4384,14 @@ const AddParnerClient = (props) => {
|
|||
<a data-tooltip-id="tooltip_is_client" data-tooltip-html="Si ce type s'applique aux clients, cliquez 'OUI' ">
|
||||
<nav className="disabled_style" style={{ "height": '3rem', border: "none" }}
|
||||
onChange={(e) => {
|
||||
DataEditMode();
|
||||
if (p_client_is_client === true)
|
||||
setp_client_is_client(false)
|
||||
else {
|
||||
if (String(props.check_user_acces_right("client", "write")) === "1") {
|
||||
DataEditMode();
|
||||
if (p_client_is_client === true)
|
||||
setp_client_is_client(false)
|
||||
else {
|
||||
|
||||
setp_client_is_client(true);
|
||||
setp_client_is_client(true);
|
||||
}
|
||||
}
|
||||
|
||||
}}
|
||||
|
@ -4383,11 +4408,11 @@ const AddParnerClient = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
{String(datamodification) === "1" && <div className="div_row">
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && String(datamodification) === "1" && <div className="div_row">
|
||||
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div></div>}
|
||||
|
||||
|
||||
{String(formedit_mode) === "1" && <div className="div_row">
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && String(formedit_mode) === "1" && <div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button variant="contained" color="success" className="bton_enreg " onClick={recordPartnerClient}>Enregistrer <AiTwotoneSave /> </Button>
|
||||
</div>
|
||||
|
@ -4398,7 +4423,7 @@ const AddParnerClient = (props) => {
|
|||
}
|
||||
|
||||
|
||||
{String(formedit_mode) !== "1" && <div className="div_row">
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && String(formedit_mode) !== "1" && <div className="div_row">
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": "right" }}>
|
||||
<Button variant="contained" color="success" className="bton_edit" onClick={DataEditMode}> Editer </Button>
|
||||
|
@ -4633,10 +4658,10 @@ const AddParnerClient = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
}
|
||||
{String(formedit_mode_invoice) !== "1" && <div className="div_row">
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && String(formedit_mode_invoice) !== "1" && <div className="div_row">
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": "right" }}>
|
||||
<Button variant="contained" color="success" className="bton_edit" onClick={DataEditMode_Invoice_Data}> Modifier</Button>
|
||||
<Button variant="contained" color="success" className="bton_edit" onClick={DataEditMode_Invoice_Data}> Editer</Button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
@ -4646,7 +4671,7 @@ const AddParnerClient = (props) => {
|
|||
{String(submenu).trim() === "submenu_contact" && <div className="training_data">
|
||||
|
||||
{String(addcontact) !== "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px", "paddingRight": "10px" }}>
|
||||
<div className="div_row" onClick={Add_Contact} style={{ "cursor": "pointer" }}> <AiOutlineUserAdd /> Ajouter un contact </div>
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && <div className="div_row" onClick={Add_Contact} style={{ "cursor": "pointer" }}> <AiOutlineUserAdd /> Ajouter un contact </div>}
|
||||
<div className="div_row scroll_mysy" style={{ "height": "30rem", }}>
|
||||
<div className="contact_grid">
|
||||
|
||||
|
@ -4673,16 +4698,16 @@ const AddParnerClient = (props) => {
|
|||
|
||||
|
||||
|
||||
<nav style={{ "width": "10%", "float": "left" }}>
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && <nav style={{ "width": "10%", "float": "left" }}>
|
||||
<Tooltip className="tooltip_css" id="tooltip_edit" />
|
||||
<a data-tooltip-id="tooltip_edit" data-tooltip-html="Editer le contact">
|
||||
|
||||
<CiEdit style={{ "border": "1px solid", "cursor": "pointer" }} contactmail={String(JSON.parse(client).email)} contact_id={String(JSON.parse(client)._id)} onClick={Display_Part_Client_Contact} />
|
||||
</a>
|
||||
</nav>
|
||||
</nav>}
|
||||
|
||||
|
||||
<Popup
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && <Popup
|
||||
trigger={
|
||||
<nav style={{ "width": "10%", "float": "right", "cursor": "pointer" }}>
|
||||
<Tooltip className="tooltip_css" id="tooltip_delete" />
|
||||
|
@ -4736,7 +4761,7 @@ const AddParnerClient = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</Popup>}
|
||||
|
||||
|
||||
</nav>
|
||||
|
@ -5087,9 +5112,9 @@ const AddParnerClient = (props) => {
|
|||
<Button variant="contained" color="success" className="bton_enreg " onClick={retour_liste_contact}>Liste Contacts <GrOrderedList /> </Button>
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": "right" }}>
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && <div className="div_row_droite" style={{ "textAlign": "right" }}>
|
||||
<Button variant="contained" color="success" className="bton_edit" onClick={DataEditMode_Contact_Data}> Editer</Button>
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -5109,7 +5134,7 @@ const AddParnerClient = (props) => {
|
|||
<div className="div_row">
|
||||
<div className="div_row" style={{ "padding": "5px" }}>
|
||||
|
||||
<div style={{ "fontSize": "12px" }}>
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && <div style={{ "fontSize": "12px" }}>
|
||||
<label htmlFor="upload-photo">
|
||||
<input
|
||||
style={{ display: "none" }}
|
||||
|
@ -5130,7 +5155,7 @@ const AddParnerClient = (props) => {
|
|||
</Fab>
|
||||
|
||||
</label>
|
||||
</div>
|
||||
</div>}
|
||||
{file_1_name && file_1_name.name &&
|
||||
<nav style={{ "fontSize": "12px" }}>
|
||||
<div className="session_caract">Nom du fichier <br />
|
||||
|
@ -5189,7 +5214,7 @@ const AddParnerClient = (props) => {
|
|||
name={(JSON.parse(val).file_name)}
|
||||
id={(JSON.parse(val).file_name)} onClick={Download_one_attached_document}> Télécharger </font></nav>
|
||||
|
||||
<Popup
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && <Popup
|
||||
trigger={
|
||||
<nav style={{ "color": "red", "cursor": "pointer" }} > Supprimer</nav>
|
||||
|
||||
|
@ -5237,7 +5262,7 @@ const AddParnerClient = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</Popup>}
|
||||
|
||||
</div>
|
||||
))}
|
||||
|
|
|
@ -222,7 +222,6 @@ const Apprenant = (props) => {
|
|||
field: "Detail", headerName: 'Voir détail', disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Button
|
||||
|
||||
onClick={(event) => {
|
||||
|
@ -234,6 +233,7 @@ const Apprenant = (props) => {
|
|||
|
||||
</Button>
|
||||
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
|
@ -242,54 +242,55 @@ const Apprenant = (props) => {
|
|||
field: "delete", headerName: 'Supprimer', disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'apprenant sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_Apprenant(event, cellValues);
|
||||
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, l'apprenant sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_Apprenant(event, cellValues);
|
||||
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -488,53 +489,55 @@ const Apprenant = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, le suivi pédagogique sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_suivi_pedago(event, cellValues);
|
||||
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, le suivi pédagogique sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_suivi_pedago(event, cellValues);
|
||||
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -655,7 +658,7 @@ const Apprenant = (props) => {
|
|||
const [p_detail_email, setp_detail_email] = useState("");
|
||||
const [p_detail_naissance, setp_detail_naissance] = useState(new Date().toLocaleDateString('fr-FR'));
|
||||
|
||||
const [p_detail_is_ent_compte, setp_detail_is_ent_compte] = useState("");
|
||||
const [p_detail_is_ent_compte, setp_detail_is_ent_compte] = useState("");
|
||||
|
||||
// ajout 04/06/2025
|
||||
const [p_detail_is_handicap, setp_detail_is_handicap] = useState(false);
|
||||
|
@ -843,7 +846,7 @@ const Apprenant = (props) => {
|
|||
setp_detail_civilite("");
|
||||
}
|
||||
|
||||
if (mylocaltraining.is_ent_compte) {
|
||||
if (mylocaltraining.is_ent_compte) {
|
||||
setp_detail_is_ent_compte(mylocaltraining.is_ent_compte);
|
||||
} else {
|
||||
setp_detail_is_ent_compte("");
|
||||
|
@ -7248,7 +7251,7 @@ const Apprenant = (props) => {
|
|||
employeur: JSON.parse(item).employeur,
|
||||
client_nom: JSON.parse(item).client_rattachement_nom,
|
||||
|
||||
is_ent_compte: JSON.parse(item).is_ent_compte,
|
||||
is_ent_compte: JSON.parse(item).is_ent_compte,
|
||||
|
||||
|
||||
}
|
||||
|
@ -7333,7 +7336,7 @@ const Apprenant = (props) => {
|
|||
|
||||
<div className="div_row">
|
||||
|
||||
{selectionModel && selectionModel.length >= 1 && <div className="block_en_mass">
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && selectionModel && selectionModel.length >= 1 && <div className="block_en_mass">
|
||||
<nav >Traitement en masse </nav>
|
||||
|
||||
<Autocomplete
|
||||
|
@ -7369,7 +7372,7 @@ const Apprenant = (props) => {
|
|||
|
||||
|
||||
|
||||
{actionmass_ftion_val && <nav className='block_en_mass_bton_action'>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && actionmass_ftion_val && <nav className='block_en_mass_bton_action'>
|
||||
<Popup
|
||||
trigger={<Button className="bton_enreg" style={{ "width": "90%" }}>
|
||||
|
||||
|
@ -7450,7 +7453,7 @@ const Apprenant = (props) => {
|
|||
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
<Button variant="outlined" onClick={submenu_import_apprenant} className="detail_class_submenu bton_import_excel"
|
||||
id='menu_import_participant' name='menu_import_participant'>Importer des apprenants excel
|
||||
|
@ -7478,7 +7481,7 @@ const Apprenant = (props) => {
|
|||
/>
|
||||
|
||||
<a href='/sample/template_import_apprenant.csv' download>Télécharger un fichier modèle</a>
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
|
||||
<div className="div_row" ref={myRef_details} id="myRef_details"> </div>
|
||||
|
@ -7498,7 +7501,7 @@ const Apprenant = (props) => {
|
|||
|
||||
</div>}
|
||||
|
||||
{String(add_One_Apprenant) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(add_One_Apprenant) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }}>
|
||||
|
||||
|
||||
<nav style={{
|
||||
|
@ -8130,7 +8133,7 @@ const Apprenant = (props) => {
|
|||
</div>
|
||||
<div className="div_row_gauche_image">
|
||||
{<input type="file" id="files_img_class" accept="image/*" onChange={imglogoclasschangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} />}
|
||||
{<nav>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <nav>
|
||||
<Tooltip className="tooltip_css" id="tooltip_speacker" />
|
||||
<a data-tooltip-id="tooltip_speacker" data-tooltip-html=" <div className='div_row_bis tips_img_class'>
|
||||
<li>
|
||||
|
@ -8900,26 +8903,26 @@ const Apprenant = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{String(apprenant_data_changed) === "1" && String(apprenant_data_edit_mode) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(apprenant_data_changed) === "1" && String(apprenant_data_edit_mode) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
/!\ Pensez à enregistrer les modifications
|
||||
</div>}
|
||||
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
{String(apprenant_data_changed) === "1" && String(apprenant_data_edit_mode) === "1" && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(apprenant_data_changed) === "1" && String(apprenant_data_edit_mode) === "1" && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_enreg" onClick={Update_Apprenant_Data}>Enregistrer les modifications
|
||||
</Button>
|
||||
|
||||
</div>}
|
||||
|
||||
{String(apprenant_data_edit_mode) === "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }} >
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(apprenant_data_edit_mode) === "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }} >
|
||||
<Button variant="contained" className="bton_annule" onClick={Annule_Detail_Apprenant_Fields}>Annuler
|
||||
</Button>
|
||||
</div>}
|
||||
</div>
|
||||
|
||||
|
||||
{String(apprenant_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(apprenant_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Detail_Apprenant_Fields}>Editer
|
||||
</Button>
|
||||
|
@ -9077,12 +9080,12 @@ const Apprenant = (props) => {
|
|||
|
||||
|
||||
</div>
|
||||
<div className="tuteur_field" style={{ "cursor": "pointer" }} onClick={(e) => {
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <div className="tuteur_field" style={{ "cursor": "pointer" }} onClick={(e) => {
|
||||
setquel_tuteur("1");
|
||||
setDialog_tuteur_1_open(true);
|
||||
}}> Voir plus <RiMoreFill /> <FcEditImage style={{ "fontSize": "large" }} />
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
|
@ -9226,12 +9229,12 @@ const Apprenant = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="tuteur_field" style={{ "cursor": "pointer" }} onClick={(e) => {
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <div className="tuteur_field" style={{ "cursor": "pointer" }} onClick={(e) => {
|
||||
setquel_tuteur("2");
|
||||
setDialog_tuteur_1_open(true);
|
||||
}}> Voir plus <RiMoreFill /> <FcEditImage style={{ "fontSize": "large" }} />
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -9260,7 +9263,7 @@ const Apprenant = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
{String(apprenant_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(apprenant_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Detail_Apprenant_Fields}>Editer
|
||||
</Button>
|
||||
|
@ -9417,11 +9420,11 @@ const Apprenant = (props) => {
|
|||
|
||||
|
||||
|
||||
<Button variant="outlined" onClick={submenu_add_one_inscription}
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Button variant="outlined" onClick={submenu_add_one_inscription}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajouter 1 inscription
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
<br />
|
||||
|
||||
|
@ -9439,7 +9442,9 @@ const Apprenant = (props) => {
|
|||
inscription_id={selected_apprenant_id}
|
||||
related_collection={"apprenant"}
|
||||
read_access={props.read_access}
|
||||
write_access={props.write_access} />
|
||||
write_access={props.write_access}
|
||||
check_user_acces_right={props.check_user_acces_right}
|
||||
origin={"apprenant"} />
|
||||
</div>}
|
||||
|
||||
{String(display_detail_historique) === "1" && String(add_One_Apprenant) !== "1" && selected_apprenant_id && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||
|
@ -9452,7 +9457,7 @@ const Apprenant = (props) => {
|
|||
<div className="div_row" >
|
||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600", "padding": "5px" }}> Pièces Jointes </nav>
|
||||
<div className="div_row" style={{ "padding": "5px" }}>
|
||||
<div style={{ "fontSize": "12px" }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <div style={{ "fontSize": "12px" }}>
|
||||
<label htmlFor="upload-photo">
|
||||
<input
|
||||
style={{ display: "none" }}
|
||||
|
@ -9474,7 +9479,7 @@ const Apprenant = (props) => {
|
|||
</Fab>
|
||||
|
||||
</label>
|
||||
</div>
|
||||
</div>}
|
||||
{file_1_name && file_1_name.name &&
|
||||
<nav style={{ "fontSize": "12px" }}>
|
||||
<div className="session_caract">Nom du fichier <br />
|
||||
|
@ -9528,7 +9533,7 @@ const Apprenant = (props) => {
|
|||
{Get_List_Of_All_PJ_result && Get_List_Of_All_PJ_result.map((val) => (
|
||||
<div className="div_row_list_pj" >
|
||||
<nav style={{ "color": "green", "cursor": "pointer" }} onClick={Download_one_attached_document} name={(JSON.parse(val).file_name)} id={(JSON.parse(val).file_name)}> Télécharger <i> {(JSON.parse(val).file_business_object)}</i> </nav> <br />
|
||||
<Popup
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Popup
|
||||
trigger={
|
||||
<nav style={{ "color": "red", "cursor": "pointer" }} > Supprimer</nav>
|
||||
|
||||
|
@ -9576,7 +9581,7 @@ const Apprenant = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</Popup>}
|
||||
|
||||
</div>
|
||||
))}
|
||||
|
@ -9726,11 +9731,11 @@ const Apprenant = (props) => {
|
|||
|
||||
|
||||
|
||||
<Button variant="outlined" onClick={add_suivi_ped_funct}
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Button variant="outlined" onClick={add_suivi_ped_funct}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Suivi
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
<br />
|
||||
|
||||
|
@ -10496,7 +10501,7 @@ const Apprenant = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
{String(given_suivi_ped_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(given_suivi_ped_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Suivi_Pedago_Fields}>Editer
|
||||
</Button>
|
||||
|
|
|
@ -576,7 +576,7 @@ const DisplayDetailClass_new_v2 = (props) => {
|
|||
//console.log(" ON PASSE au MIN");
|
||||
var local_tmp_val = 2100 + decalage_pr_certificat;
|
||||
var local_main_h_px = 4800 + decalage_pr_certificat;
|
||||
|
||||
|
||||
local_tmp = local_tmp_val + "px";
|
||||
main_h_px = local_main_h_px + "px";
|
||||
|
||||
|
|
|
@ -432,89 +432,14 @@ const DisplayPartnerPromotion = (props) => {
|
|||
},
|
||||
|
||||
{ field: 'duration', headerName: 'Durée', minWidth: datagrid_columns_size_model2, align: "center", hide: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
/* {
|
||||
field: "Detail", headerName: 'Voir détail', disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<Button
|
||||
onClick={(event) => {
|
||||
setLoading(true);
|
||||
setsessionChanged(false);
|
||||
handleClick_edit_session_From_Line(cellValues.row.id); }}
|
||||
>
|
||||
<FcViewDetails />
|
||||
</Button>
|
||||
);
|
||||
}
|
||||
},*/
|
||||
|
||||
/* {
|
||||
field: "delete", headerName: 'Supprimer', disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
//handleClick_delete_Session_Formation(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la promotion de formation sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_Session_Formation(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
|
||||
);
|
||||
}
|
||||
},*/
|
||||
{
|
||||
field: 'bton_vertif', headerName: 'Gestion', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center",
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div>
|
||||
|
||||
<nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
<IconButton
|
||||
aria-label="more"
|
||||
id="long-button2"
|
||||
|
@ -724,7 +649,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
|
||||
</Dialog>}
|
||||
{/*** FIN GESTION Dialog menu item pour suppression*/}
|
||||
</nav>
|
||||
</nav>}
|
||||
</div>
|
||||
);
|
||||
},
|
||||
|
@ -850,54 +775,57 @@ const DisplayPartnerPromotion = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
handleClick_accept(event, cellValues);
|
||||
}}
|
||||
onClick={(event) => {
|
||||
handleClick_accept(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<FcAcceptDatabase />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<FcAcceptDatabase />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
Confirmer la mise à jour des informations du stagiaire
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_update_data(event, cellValues);
|
||||
close();
|
||||
}}> Valider </button>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
Confirmer la mise à jour des informations du stagiaire
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_update_data(event, cellValues);
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
|
||||
</>
|
||||
|
||||
);
|
||||
}
|
||||
|
@ -910,7 +838,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
return (
|
||||
<div>
|
||||
|
||||
<nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
<IconButton
|
||||
aria-label="more"
|
||||
id="long-button"
|
||||
|
@ -1262,7 +1190,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
{/*** FIN GESTION Dialog pour supprimer preinscription*/}
|
||||
|
||||
|
||||
</nav>
|
||||
</nav>}
|
||||
|
||||
</div>
|
||||
);
|
||||
|
@ -1377,36 +1305,38 @@ const DisplayPartnerPromotion = (props) => {
|
|||
field: "split_invoice", headerName: 'Eclat. Fact',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Button
|
||||
|
||||
onClick={(event) => {
|
||||
onClick={(event) => {
|
||||
|
||||
if (String(cellValues.row.client_rattachement_id) === String(cellValues.row.client_facture)) {
|
||||
// alert(" Le client facturé est le même que client. Aucun partage à faire");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le client facturé est le même que client. Aucun partage à faire");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
setselected_inscription_id(cellValues.row._id);
|
||||
setp_detail_invoice_split_type("percent");
|
||||
setp_detail_invoice_split_client_rattachement_id(cellValues.row.client_rattachement_id);
|
||||
setp_detail_invoice_split_facture_client_rattachement_id(cellValues.row.client_facture);
|
||||
setp_detail_invoice_split_inscrit_nom(cellValues.row.nom);
|
||||
setp_detail_invoice_split_inscrit_prenom(cellValues.row.prenom);
|
||||
setp_detail_invoice_split_facture_done(cellValues.row.invoiced);
|
||||
if (String(cellValues.row.client_rattachement_id) === String(cellValues.row.client_facture)) {
|
||||
// alert(" Le client facturé est le même que client. Aucun partage à faire");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message("Le client facturé est le même que client. Aucun partage à faire");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
setselected_inscription_id(cellValues.row._id);
|
||||
setp_detail_invoice_split_type("percent");
|
||||
setp_detail_invoice_split_client_rattachement_id(cellValues.row.client_rattachement_id);
|
||||
setp_detail_invoice_split_facture_client_rattachement_id(cellValues.row.client_facture);
|
||||
setp_detail_invoice_split_inscrit_nom(cellValues.row.nom);
|
||||
setp_detail_invoice_split_inscrit_prenom(cellValues.row.prenom);
|
||||
setp_detail_invoice_split_facture_done(cellValues.row.invoiced);
|
||||
|
||||
setp_detail_invoice_split_changed("");
|
||||
setp_detail_invoice_split_changed("");
|
||||
|
||||
Get_Inscription_Split_Invoice(cellValues.row._id);
|
||||
setDialog_SPLIT_INVOICE_open(true);
|
||||
Get_Inscription_Split_Invoice(cellValues.row._id);
|
||||
setDialog_SPLIT_INVOICE_open(true);
|
||||
|
||||
}}
|
||||
>
|
||||
{cellValues.row.has_invoice_split && String(cellValues.row.has_invoice_split) !== "1" && <AccountTreeIcon style={{ color: "blue" }} />}
|
||||
{cellValues.row.has_invoice_split && String(cellValues.row.has_invoice_split) === "1" && <AccountTreeIcon style={{ color: "green" }} />}
|
||||
}}
|
||||
>
|
||||
{cellValues.row.has_invoice_split && String(cellValues.row.has_invoice_split) !== "1" && <AccountTreeIcon style={{ color: "blue" }} />}
|
||||
{cellValues.row.has_invoice_split && String(cellValues.row.has_invoice_split) === "1" && <AccountTreeIcon style={{ color: "green" }} />}
|
||||
|
||||
</Button>
|
||||
</Button>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -1421,7 +1351,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
return (
|
||||
<div>
|
||||
|
||||
<nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
<IconButton
|
||||
aria-label="more"
|
||||
id="long-button"
|
||||
|
@ -1666,7 +1596,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
{/*** FIN GESTION Dialog menu item pour push lms*/}
|
||||
|
||||
|
||||
</nav>
|
||||
</nav>}
|
||||
|
||||
</div>
|
||||
);
|
||||
|
@ -1768,22 +1698,24 @@ const DisplayPartnerPromotion = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Button
|
||||
|
||||
onClick={(event) => {
|
||||
onClick={(event) => {
|
||||
|
||||
|
||||
setp_detail_emargement_comment(cellValues.row.comment);
|
||||
setp_detail_emargement_comment(cellValues.row.comment);
|
||||
|
||||
setselected_emargement_user(cellValues.row.prenom + " " + cellValues.row.nom);
|
||||
setselected_emargement_date("Du " + cellValues.row.sequence_start + " au " + cellValues.row.sequence_end);
|
||||
setselected_emargement_id(cellValues.row._id);
|
||||
setDialog_COMMENT_EMARGEMENTE_open(true);
|
||||
}}
|
||||
>
|
||||
<FcComments />
|
||||
setselected_emargement_user(cellValues.row.prenom + " " + cellValues.row.nom);
|
||||
setselected_emargement_date("Du " + cellValues.row.sequence_start + " au " + cellValues.row.sequence_end);
|
||||
setselected_emargement_id(cellValues.row._id);
|
||||
setDialog_COMMENT_EMARGEMENTE_open(true);
|
||||
}}
|
||||
>
|
||||
<FcComments />
|
||||
|
||||
</Button>
|
||||
</Button>}
|
||||
</>
|
||||
|
||||
);
|
||||
}
|
||||
|
@ -1854,40 +1786,42 @@ const DisplayPartnerPromotion = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Button
|
||||
|
||||
onClick={(event) => {
|
||||
onClick={(event) => {
|
||||
|
||||
setsequence_gridline_id(cellValues.row.id);
|
||||
setselected_detail_sequence_title(cellValues.row.sequence_title);
|
||||
setsequence_gridline_id(cellValues.row.id);
|
||||
setselected_detail_sequence_title(cellValues.row.sequence_title);
|
||||
|
||||
setselected_sequence_startDate(cellValues.row.sequence_start);
|
||||
setselected_sequence_endDate(cellValues.row.sequence_end);
|
||||
setselected_sequence_startDate(cellValues.row.sequence_start);
|
||||
setselected_sequence_endDate(cellValues.row.sequence_end);
|
||||
|
||||
setp_detail_sequence_agenda(cellValues.row.agenda);
|
||||
setp_detail_sequence_objectif(cellValues.row.objectif);
|
||||
setp_detail_sequence_comment(cellValues.row.commentaire);
|
||||
setp_detail_sequence_agenda(cellValues.row.agenda);
|
||||
setp_detail_sequence_objectif(cellValues.row.objectif);
|
||||
setp_detail_sequence_comment(cellValues.row.commentaire);
|
||||
|
||||
Getall_List_Sequence_Ressource(cellValues.row._id);
|
||||
Getall_List_Sequence_Ressource(cellValues.row._id);
|
||||
|
||||
setselected_sequence_id(cellValues.row._id);
|
||||
setdisplay_detail_sequence("1");
|
||||
setselected_sequence_id(cellValues.row._id);
|
||||
setdisplay_detail_sequence("1");
|
||||
|
||||
Get_List_Of_All_PJ_For_Session(cellValues.row._id);
|
||||
Get_List_Of_All_PJ_For_Session(cellValues.row._id);
|
||||
|
||||
if (document.getElementById('myRef_seq_ressource')) {
|
||||
var divh = document.getElementById('myRef_seq_ressource').offsetTop;
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
});
|
||||
}
|
||||
if (document.getElementById('myRef_seq_ressource')) {
|
||||
var divh = document.getElementById('myRef_seq_ressource').offsetTop;
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
});
|
||||
}
|
||||
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
|
||||
</Button>
|
||||
</Button>}
|
||||
</>
|
||||
|
||||
);
|
||||
}
|
||||
|
@ -1898,31 +1832,33 @@ const DisplayPartnerPromotion = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Button
|
||||
|
||||
onClick={(event) => {
|
||||
onClick={(event) => {
|
||||
|
||||
setsequence_gridline_id(cellValues.row.id);
|
||||
setdisplay_detail_sequence("");
|
||||
setp_detail_sequence_title(cellValues.row.sequence_title);
|
||||
setselected_sequence_id(cellValues.row._id);
|
||||
var date_du = new Date(moment(cellValues.row.sequence_start, "DD/MM/YYYY HH:mm"));
|
||||
var date_au = new Date(moment(cellValues.row.sequence_end, "DD/MM/YYYY HH:mm"));
|
||||
setsequence_gridline_id(cellValues.row.id);
|
||||
setdisplay_detail_sequence("");
|
||||
setp_detail_sequence_title(cellValues.row.sequence_title);
|
||||
setselected_sequence_id(cellValues.row._id);
|
||||
var date_du = new Date(moment(cellValues.row.sequence_start, "DD/MM/YYYY HH:mm"));
|
||||
var date_au = new Date(moment(cellValues.row.sequence_end, "DD/MM/YYYY HH:mm"));
|
||||
|
||||
setsequence_startDate(date_du);
|
||||
setsequence_endDate(date_au);
|
||||
setsequence_startDate(date_du);
|
||||
setsequence_endDate(date_au);
|
||||
|
||||
setp_detail_sequence_agenda(cellValues.row.agenda);
|
||||
setp_detail_sequence_objectif(cellValues.row.objectif);
|
||||
setp_detail_sequence_comment(cellValues.row.commentaire);
|
||||
setp_detail_sequence_agenda(cellValues.row.agenda);
|
||||
setp_detail_sequence_objectif(cellValues.row.objectif);
|
||||
setp_detail_sequence_comment(cellValues.row.commentaire);
|
||||
|
||||
setupdate_sequence("1");
|
||||
submenu_update_sequence();
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
setupdate_sequence("1");
|
||||
submenu_update_sequence();
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
|
||||
</Button>
|
||||
</Button>}
|
||||
</>
|
||||
|
||||
);
|
||||
}
|
||||
|
@ -1933,56 +1869,59 @@ const DisplayPartnerPromotion = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
onClick={(event) => {
|
||||
|
||||
}}
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la séquence sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
Delete_Sequence_Session_Data(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, la séquence sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
Delete_Sequence_Session_Data(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -2007,57 +1946,60 @@ const DisplayPartnerPromotion = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
onClick={(event) => {
|
||||
|
||||
}}
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la ressource sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Sequence_Session_Ressource_Data(cellValues.row._id);
|
||||
console.log('cellValues.row = ', cellValues.row);
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, la ressource sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Sequence_Session_Ressource_Data(cellValues.row._id);
|
||||
console.log('cellValues.row = ', cellValues.row);
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -2095,53 +2037,56 @@ const DisplayPartnerPromotion = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la caractéristique financière sera <i><font color="red"> définitivement supprimée de cette formation </font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Given_Financial_Caracteristique(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, la caractéristique financière sera <i><font color="red"> définitivement supprimée de cette formation </font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Given_Financial_Caracteristique(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -6909,7 +6854,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
setalert_type("success");
|
||||
|
||||
|
||||
if (document.getElementById('myRef_head')) {
|
||||
if (document.getElementById('myRef_head')) {
|
||||
var divh = document.getElementById('myRef_head').offsetTop;
|
||||
|
||||
window.scrollTo({
|
||||
|
@ -20784,7 +20729,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
|
||||
<div className="div_row">
|
||||
|
||||
{selectionModel && selectionModel.length >= 1 && <div className="block_en_mass">
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && selectionModel && selectionModel.length >= 1 && <div className="block_en_mass">
|
||||
<nav >Traitement en masse </nav>
|
||||
|
||||
<TextField
|
||||
|
@ -20946,18 +20891,22 @@ const DisplayPartnerPromotion = (props) => {
|
|||
|
||||
<Button variant="outlined" onClick={submenu_preinscrit} className="detail_class_submenu" id='preinscrit' name='preinscrit'>Preinscript. ({String(nb_stagiaire_Preinscrit)}) </Button>
|
||||
<Button variant="outlined" onClick={submenu_inscrit} className="detail_class_submenu" id='inscrit' name='inscrit'>Inscription ({String(nb_stagiaire_Inscrit)}) </Button>
|
||||
<Button variant="outlined" onClick={submenu_editique} className="detail_class_submenu" id='editique' name='editique' style={{ background: '#6C3483', color: "#FFFFFF", "fontWeight": '700' }}>Gestion </Button>
|
||||
<Button variant="outlined" onClick={submenu_emargement} className="detail_class_submenu" id='emargement' name='emargement'>Emargement </Button>
|
||||
{/*<Button variant="outlined" onClick={submenu_evaluation} className="detail_class_submenu" id='menu_eval' name='menu_eval'>Les avis (old)</Button>*/}
|
||||
<Button variant="outlined" onClick={submenu_attestation} className="detail_class_submenu" id='menu_eval' name='menu_eval'>Attestation</Button>
|
||||
<Button variant="outlined" onClick={submenu_q_positionnement} className="detail_class_submenu" id='q_positionnement' name='q_positionnement'>Q. Position </Button>
|
||||
|
||||
<Button variant="outlined" ref={myRef} onClick={submenu_evaluation_session} className="detail_class_submenu" id='evaluation_session' name='evaluation_session'> Evaluation</Button>
|
||||
<Button variant="outlined" onClick={submenu_finance} className="detail_class_submenu" id='finance' name='finance'>Finance </Button>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" &&
|
||||
<Button variant="outlined" onClick={submenu_editique} className="detail_class_submenu" id='editique' name='editique' style={{ background: '#6C3483', color: "#FFFFFF", "fontWeight": '700' }}>Gestion </Button>}
|
||||
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" &&
|
||||
<Button variant="outlined" onClick={submenu_emargement} className="detail_class_submenu" id='emargement' name='emargement'>Emargement </Button>}
|
||||
{/*<Button variant="outlined" onClick={submenu_evaluation} className="detail_class_submenu" id='menu_eval' name='menu_eval'>Les avis (old)</Button>*/}
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Button variant="outlined" onClick={submenu_attestation} className="detail_class_submenu" id='menu_eval' name='menu_eval'>Attestation</Button>}
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Button variant="outlined" onClick={submenu_q_positionnement} className="detail_class_submenu" id='q_positionnement' name='q_positionnement'>Q. Position </Button>}
|
||||
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Button variant="outlined" ref={myRef} onClick={submenu_evaluation_session} className="detail_class_submenu" id='evaluation_session' name='evaluation_session'> Evaluation</Button>}
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Button variant="outlined" onClick={submenu_finance} className="detail_class_submenu" id='finance' name='finance'>Finance </Button>}
|
||||
|
||||
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='piece_jointe'>Pièces Jointes </Button>
|
||||
|
||||
{String(props.formation_initiale) === "1" && <Button variant="outlined" onClick={submenu_notes_classement} className="detail_class_submenu" id='notes_classement' name='notes_classement'>Notes & Classem.</Button>}
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && String(props.formation_initiale) === "1" && <Button variant="outlined" onClick={submenu_notes_classement} className="detail_class_submenu" id='notes_classement' name='notes_classement'>Notes & Classem.</Button>}
|
||||
|
||||
|
||||
|
||||
|
@ -21981,7 +21930,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
/!\ Pensez à enregistrer les modifications
|
||||
</div>}
|
||||
|
||||
{<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
|
||||
|
@ -22865,7 +22814,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
</Box>
|
||||
|
||||
|
||||
{selectionModel_sequence && selectionModel_sequence.length > 1 &&
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && selectionModel_sequence && selectionModel_sequence.length > 1 &&
|
||||
<div className="block_en_mass">
|
||||
<nav>Traitement en masse / Séquence</nav>
|
||||
<select
|
||||
|
@ -23602,7 +23551,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
/>
|
||||
</Box>
|
||||
|
||||
{selectionModel_preinsc && selectionModel_preinsc.length >= 1 &&
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && selectionModel_preinsc && selectionModel_preinsc.length >= 1 &&
|
||||
<div className="div_row" style={{ "border": "none", "marginLeft": "10px" }}>
|
||||
<div className="block_en_mass">
|
||||
<nav className='traitement_mass'>Traitement en masse</nav>
|
||||
|
@ -23707,7 +23656,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
</div>}
|
||||
<br />
|
||||
|
||||
{String(addOneParticipant) !== "1" && selected_code_session && selected_internal_url &&
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && String(addOneParticipant) !== "1" && selected_code_session && selected_internal_url &&
|
||||
<div id='ajout_participant' style={{ "textAlign": "left", "float": "left", "width": "100%", padding: '10px' }}>
|
||||
|
||||
<Button variant="outlined"
|
||||
|
@ -24494,7 +24443,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
|
||||
/>
|
||||
</Box>
|
||||
{selectionModel_insc && selectionModel_insc.length >= 1 &&
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && selectionModel_insc && selectionModel_insc.length >= 1 &&
|
||||
<div className="block_en_mass">
|
||||
<nav className='traitement_mass'>Traitement en masse / Inscrit</nav>
|
||||
|
||||
|
@ -24631,7 +24580,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
|
||||
<br />
|
||||
|
||||
{String(addOneParticipant) !== "1" && selected_code_session && selected_internal_url && <div id='ajout_participant' style={{ "textAlign": "left", "float": "left", "width": "100%", padding: '10px' }}>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && String(addOneParticipant) !== "1" && selected_code_session && selected_internal_url && <div id='ajout_participant' style={{ "textAlign": "left", "float": "left", "width": "100%", padding: '10px' }}>
|
||||
|
||||
<Button variant="outlined"
|
||||
|
||||
|
@ -25465,7 +25414,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
</div>}
|
||||
|
||||
|
||||
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
{String(participant_data_edit_mode) === "1" &&
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
|
@ -25479,10 +25428,10 @@ const DisplayPartnerPromotion = (props) => {
|
|||
<Button variant="contained" className="bton_annule" onClick={AnnuleAttendeeDetailFields}>Annuler
|
||||
</Button>
|
||||
</div>}
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
{String(participant_data_edit_mode) !== "1" && <div className="div_row" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && String(participant_data_edit_mode) !== "1" && <div className="div_row" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
|
||||
|
||||
|
@ -26076,7 +26025,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
|
||||
<div className="div_row"> </div>
|
||||
<div className="div_row">
|
||||
{selectionModel_emarg && selectionModel_emarg.length >= 1 &&
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && selectionModel_emarg && selectionModel_emarg.length >= 1 &&
|
||||
<div className="block_en_mass">
|
||||
<nav >Traitement en masse </nav><br />
|
||||
|
||||
|
@ -26560,19 +26509,12 @@ const DisplayPartnerPromotion = (props) => {
|
|||
/>
|
||||
</Box>
|
||||
|
||||
{selectionModel_evaluation && selectionModel_evaluation.length >= 1 &&
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && selectionModel_evaluation && selectionModel_evaluation.length >= 1 &&
|
||||
<div className="block_en_mass">
|
||||
<br />
|
||||
<nav >Traitement en masse / Evaluation</nav><br />
|
||||
|
||||
{/* <select
|
||||
id={"actionmassemarg"} name={"actionmassemarg"}
|
||||
onChange={actionmass_evaluation}
|
||||
className="action_mass">
|
||||
<option selected value="n/a">Choisir une action</option>
|
||||
<option value="demande evaluation">Demande évaluation</option>
|
||||
|
||||
</select> */}
|
||||
|
||||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
@ -26691,7 +26633,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
<div className="session_data">
|
||||
<br />
|
||||
<div className="div_row">
|
||||
<div className="div_row" style={{ "padding": "5px" }}>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <div className="div_row" style={{ "padding": "5px" }}>
|
||||
|
||||
<div style={{ "fontSize": "12px" }}>
|
||||
<label htmlFor="upload-photo">
|
||||
|
@ -26747,7 +26689,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
{Record_All_PJ_api && String(Record_All_PJ_api) === "false" && <div className="koUpdateData"> {Record_All_PJ_message} </div>}
|
||||
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
|
@ -26768,7 +26710,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
{Get_List_Of_All_PJ_For_Session_result && Get_List_Of_All_PJ_For_Session_result.map((val) => (
|
||||
<div className="div_row_list_pj" >
|
||||
<nav style={{ "color": "green", "cursor": "pointer" }} onClick={Download_one_attached_document} name={(JSON.parse(val).file_name)} id={(JSON.parse(val).file_name)}> Télécharger <i> {(JSON.parse(val).file_business_object)}</i> </nav> <br />
|
||||
<Popup
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Popup
|
||||
trigger={
|
||||
<nav style={{ "color": "red", "cursor": "pointer" }} > Supprimer</nav>
|
||||
|
||||
|
@ -26816,7 +26758,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</Popup>}
|
||||
|
||||
</div>
|
||||
))}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -8,8 +8,6 @@ import { getCookie, setCookie } from 'react-use-cookie';
|
|||
import AttachFileIcon from '@mui/icons-material/AttachFile';
|
||||
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 { IoShareSocialOutline } from "react-icons/io5";
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
import add_plus from "../mysy_img/plus.png";
|
||||
|
@ -321,116 +319,117 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
|
||||
return (
|
||||
<nav>
|
||||
{cellValues.row.status && String(cellValues.row.status) === "1" &&
|
||||
<>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <nav>
|
||||
{cellValues.row.status && String(cellValues.row.status) === "1" &&
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
>
|
||||
Annuler
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
Annuler
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'inscription du stagiaire sera <i><font color="red"> définitivement annulée</font></i>. <br />
|
||||
Il (le stagiaire) sera automatiquement <i><font color="red"> notifié par email de l'annulation de son inscription. </font></i> <br />
|
||||
<br /> Motif du annulation : <br />
|
||||
<textarea name='motif_refus' id="motif_refus" style={{ "width": "80%" }}
|
||||
rows="3" maxlength="180" />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_refuse(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, l'inscription du stagiaire sera <i><font color="red"> définitivement annulée</font></i>. <br />
|
||||
Il (le stagiaire) sera automatiquement <i><font color="red"> notifié par email de l'annulation de son inscription. </font></i> <br />
|
||||
<br /> Motif du annulation : <br />
|
||||
<textarea name='motif_refus' id="motif_refus" style={{ "width": "80%" }}
|
||||
rows="3" maxlength="180" />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_refuse(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
{cellValues.row.status && String(cellValues.row.status) === "0" &&
|
||||
<Popup
|
||||
trigger={<Button
|
||||
{cellValues.row.status && String(cellValues.row.status) === "0" &&
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
|
||||
>
|
||||
<FcApproval /> Valider inscr.
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<FcApproval /> Valider inscr.
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'inscription du stagiaire sera définitivement validée. <br />
|
||||
Il (le stagiaire) sera automatiquement notifié par email de la validation de son inscription. <br />
|
||||
Le stagiaire passera de l'onglet "préinscrit" vers l'onglet "inscription".<br />
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_accept(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'inscription du stagiaire sera définitivement validée. <br />
|
||||
Il (le stagiaire) sera automatiquement notifié par email de la validation de son inscription. <br />
|
||||
Le stagiaire passera de l'onglet "préinscrit" vers l'onglet "inscription".<br />
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_accept(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
}
|
||||
)}
|
||||
</Popup>
|
||||
}
|
||||
|
||||
{/*cellValues.row.status && String(cellValues.row.status) === "-1" &&
|
||||
{/*cellValues.row.status && String(cellValues.row.status) === "-1" &&
|
||||
|
||||
|
||||
<Popup
|
||||
|
@ -488,85 +487,71 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
|
||||
</nav>
|
||||
</nav>}
|
||||
</>
|
||||
)
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
/*{
|
||||
field: "Impr.", headerName: 'Imprimer detail', disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Button
|
||||
|
||||
onClick={(event) => {
|
||||
Print_Detail_Inscription(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<FcPrint />
|
||||
|
||||
</Button>
|
||||
|
||||
);
|
||||
}
|
||||
},*/
|
||||
{
|
||||
field: "delete", headerName: 'Supprimer', disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" &&
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'inscription du stagiaire sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'inscription du stagiaire sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -1060,7 +1045,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
function Getall_TrainingParticipant(event) {
|
||||
|
||||
setSelectionModel([]);
|
||||
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
|
||||
|
@ -5674,7 +5659,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setselected_list_inscription_id(tab_tmp_inscription_id.join());
|
||||
|
||||
setselected_list_session_id(tab_tmp_session_id.join());
|
||||
|
||||
|
||||
|
||||
return tab_tmp;
|
||||
}
|
||||
|
@ -7116,7 +7101,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
//console.log(" ## form =", form)
|
||||
|
||||
// return;
|
||||
// return;
|
||||
|
||||
setLoading(true);
|
||||
|
||||
|
@ -9396,7 +9381,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
<div className="div_row">
|
||||
|
||||
{selectionModel && selectionModel.length >= 1 && <div className="block_en_mass">
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && selectionModel && selectionModel.length >= 1 && <div className="block_en_mass">
|
||||
<nav >Traitement en masse </nav>
|
||||
|
||||
<Autocomplete
|
||||
|
@ -9431,7 +9416,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
/>
|
||||
|
||||
|
||||
{actionmass_ftion_val && String(actionmass_ftion_val) !== "sendemail"
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && actionmass_ftion_val && String(actionmass_ftion_val) !== "sendemail"
|
||||
&& String(actionmass_ftion_val) !== "pushdocument" && <nav className='block_en_mass_bton_action'>
|
||||
<Popup
|
||||
trigger={<Button className="bton_enreg" style={{ "width": "90%" }}>
|
||||
|
@ -9528,7 +9513,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
<Button variant="outlined" onClick={submenu_import_stagiaire} className="detail_class_submenu bton_import_excel"
|
||||
id='menu_import_participant' name='menu_import_participant'>Importer des participants excel
|
||||
|
@ -9557,12 +9542,12 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
/>
|
||||
|
||||
<a href='/sample/template_import_stagiaires.csv' download>Télécharger un fichier modèle</a>
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
<div className="div_row" ref={myRef_details} id="myRef_details"> </div>
|
||||
{selected_id && String(selected_id).length > 0 && <div className="div_row">
|
||||
<nav style={{ textAlign: 'center', padding: '10px', fontFamily: 'DM Sans' }}> <b>{p_detail_prenom} </b>
|
||||
<b>{p_detail_nom}</b> Email <b>{p_detail_mail} </b> Session <b> {p_detail_session_class}</b>
|
||||
<b>{String(p_detail_nom)}</b> Email <b>{String(p_detail_mail)} </b> Session <b> {String(p_detail_session_class)}</b>
|
||||
</nav>
|
||||
|
||||
</div>}
|
||||
|
@ -9587,7 +9572,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
|
||||
{String(addOneParticipant) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(addOneParticipant) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }}>
|
||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}>Ajout d'un nouveau participant </nav>
|
||||
|
||||
|
||||
|
@ -11099,7 +11084,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
|
||||
|
||||
{String(participant_data_edit_mode) !== "1" && String(inscription_invoiced) !== "1" && p_detail_apprenant_id && String(p_detail_apprenant_id).trim().length > 3 && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(participant_data_edit_mode) !== "1" && String(inscription_invoiced) !== "1" && p_detail_apprenant_id && String(p_detail_apprenant_id).trim().length > 3 && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
<Button variant="contained" className="bton_edit" onClick={EnableAttendeeDetailFields_Deja_Inscrit}>Editer
|
||||
</Button>
|
||||
</div>}
|
||||
|
@ -11109,7 +11094,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
{String(participant_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
{String(selected_id_status) !== "1" && (!p_detail_apprenant_id || String(p_detail_apprenant_id).trim().length <= 3) &&
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(selected_id_status) !== "1" && (!p_detail_apprenant_id || String(p_detail_apprenant_id).trim().length <= 3) &&
|
||||
<Button variant="contained" className="bton_edit" onClick={EnableAttendeeDetailFields}>Editer
|
||||
</Button>}
|
||||
|
||||
|
@ -11747,7 +11732,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="div_row" style={{ "padding": "5px" }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <div className="div_row" style={{ "padding": "5px" }}>
|
||||
|
||||
<div style={{ "fontSize": "12px" }}>
|
||||
<label htmlFor="upload-photo">
|
||||
|
@ -11803,7 +11788,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
{Record_All_PJ_api && String(Record_All_PJ_api) === "false" && <div className="koUpdateData"> {Record_All_PJ_message} </div>}
|
||||
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
{file_1_name && file_1_name.name && <div className="div_row">
|
||||
|
@ -11823,7 +11808,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
{Get_List_Of_All_PJ_result && Get_List_Of_All_PJ_result.map((val) => (
|
||||
<div className="div_row_list_pj" >
|
||||
<nav style={{ "color": "green", "cursor": "pointer" }} onClick={Download_one_attached_document} name={(JSON.parse(val).file_name)} id={(JSON.parse(val).file_name)}> Télécharger <i> {(JSON.parse(val).file_business_object)}</i> </nav> <br />
|
||||
<Popup
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Popup
|
||||
trigger={
|
||||
<nav style={{ "color": "red", "cursor": "pointer" }} > Supprimer</nav>
|
||||
|
||||
|
@ -11871,7 +11856,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</Popup>}
|
||||
|
||||
</div>
|
||||
))}
|
||||
|
@ -11910,6 +11895,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
disablePortal
|
||||
disableCloseOnSelect
|
||||
getOptionLabel={(option) => option.label}
|
||||
disabled={Boolean(String(props.check_user_acces_right("stagiaire", "write")))}
|
||||
|
||||
options={New_Get_List_UE_From_Class_Id_result}
|
||||
defaultValue={New_Get_List_UE_From_Class_Id_result.filter((data) => {
|
||||
|
@ -11960,7 +11946,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
disablePortal
|
||||
disableCloseOnSelect
|
||||
getOptionLabel={(option) => option.label}
|
||||
|
||||
disabled={Boolean(String(props.check_user_acces_right("stagiaire", "write")))}
|
||||
options={New_Getall_Class_List_Evalution_result}
|
||||
defaultValue={New_Getall_Class_List_Evalution_result.filter((data) => {
|
||||
|
||||
|
@ -12010,11 +11996,11 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
</div>
|
||||
<div className="div_row">
|
||||
{ueChanged && String(ueChanged) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && ueChanged && String(ueChanged) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
/!\ Pensez à enregistrer les modifications
|
||||
</div>}
|
||||
|
||||
{<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -763,7 +763,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
return (
|
||||
<div>
|
||||
|
||||
{(!cellValues.row.lms_class_code || String(cellValues.row.lms_class_code).length <= 2) &&
|
||||
{(!cellValues.row.lms_class_code || String(cellValues.row.lms_class_code).length <= 2) && String(props.check_user_acces_right("formation", "write")) === "1" &&
|
||||
<nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
<IconButton
|
||||
aria-label="more"
|
||||
|
@ -1062,7 +1062,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
|
||||
|
||||
</nav>}
|
||||
{cellValues.row.lms_class_code && String(cellValues.row.lms_class_code).length > 2 && <nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
{cellValues.row.lms_class_code && String(cellValues.row.lms_class_code).length > 2 && String(props.check_user_acces_right("formation", "write")) === "1" && <nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
<IconButton
|
||||
aria-label="more"
|
||||
id="long-button"
|
||||
|
@ -3718,7 +3718,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
|
||||
|
||||
<div className="div_row"> </div>
|
||||
<div className="div_row">
|
||||
{String(props.check_user_acces_right("formation", "write")) === "1" && <div className="div_row">
|
||||
{selectionModel && selectionModel.length >= 1 && <div className="block_en_mass">
|
||||
<nav >Traitement en masse </nav>
|
||||
<br />
|
||||
|
@ -3843,14 +3843,14 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
|
||||
|
||||
</div>}
|
||||
</div>
|
||||
</div>}
|
||||
{selectionModel && selectionModel.length >= 1 && <div className="div_row" style={{ "border": "None" }}>
|
||||
<hr className="hr_break" />
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
<div className='div_row' >
|
||||
{props.check_user_acces_right("formation", "write") === "1" && <div className='div_row' >
|
||||
|
||||
<Button variant="outlined" onClick={changeHandler2} className="detail_class_submenu bton_add_session_long"
|
||||
id='menu_import_formation' name='menu_import_formation'>Choisir un fichier et importer <GrDocumentCsv style={{ "fontSize": "large" }} /> <SendIcon />
|
||||
|
@ -3863,7 +3863,6 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
name="liste_formation_file"
|
||||
onChange={handleSubmission}
|
||||
|
||||
|
||||
/>
|
||||
|
||||
<Button variant="outlined" onClick={Createtraining}
|
||||
|
@ -3878,9 +3877,9 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
<a href='/sample/template_import_formations.csv' download><nav style={{ "fontSize": "14px" }}>Télécharger un fichier modèle</nav></a>
|
||||
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
<div className="import_excel_text">
|
||||
{props.check_user_acces_right("formation", "write") === "1" && <div className="import_excel_text">
|
||||
|
||||
<nav className="titre1"> Comment utiliser le fichier d'import des formations ? </nav>
|
||||
<nav style={{ "color": "orange" }}>
|
||||
|
@ -3901,7 +3900,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
</ul>
|
||||
<a href='/sample/MySy_Import_formation_csv.pdf' download>Télécharger le guide complet pour plus d'informations</a><br />
|
||||
<br />
|
||||
</div>
|
||||
</div>}
|
||||
<div style={{ "width": "50%" }}> </div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -1190,7 +1190,7 @@ const Display_Partner_Catalog_DetailClass_new_v2 = (props) => {
|
|||
const subdomain = domain.split('.')[0];
|
||||
|
||||
var form = new FormData();
|
||||
form.append("subdomain", subdomain);
|
||||
form.append("subdomain", "colasrail");
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Partner_Data_From_Subdomain/";
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -6,20 +6,13 @@ import Button from '@mui/material/Button';
|
|||
import axios from "axios";
|
||||
import { getCookie, setCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
import CheckOut from "./CheckOut";
|
||||
|
||||
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 parse from 'html-react-parser';
|
||||
import { FcViewDetails, FcDisapprove } from "react-icons/fc";
|
||||
import { FcPodiumWithAudience } from "react-icons/fc";
|
||||
import { FcInfo } from "react-icons/fc";
|
||||
import { LiaDharmachakraSolid } from "react-icons/lia";
|
||||
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
import add_plus from "../mysy_img/plus.png";
|
||||
import excel_icone from "../mysy_img/excel_icone.png";
|
||||
import participants from "../mysy_img/participants.png";
|
||||
|
||||
import fileDownload from 'js-file-download';
|
||||
import Popup from 'reactjs-popup';
|
||||
import 'reactjs-popup/dist/index.css';
|
||||
|
@ -41,11 +34,10 @@ import DialogContent from '@mui/material/DialogContent';
|
|||
import DialogContentText from '@mui/material/DialogContentText';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import ColorPicker from 'react-pick-color';
|
||||
import Visibility from '@mui/icons-material/Visibility';
|
||||
import VisibilityOff from '@mui/icons-material/VisibilityOff';
|
||||
|
||||
import { Fab } from "@material-ui/core";
|
||||
import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
||||
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
|
||||
import { AiTwotoneSave } from "react-icons/ai";
|
||||
import Autocomplete from '@mui/material/Autocomplete';
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
|
||||
|
@ -53,12 +45,11 @@ import { gridClasses } from '@mui/x-data-grid';
|
|||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree } from "react-icons/pi";
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
import Rating from '@mui/material/Rating';
|
||||
import Module_Selection_Evaluation_Apprenants from "./Module_Selection_Evaluation_Apprenants";
|
||||
|
||||
import AttachFileIcon from '@mui/icons-material/AttachFile';
|
||||
import Module_Selection_Apprenants from "./Module_Selection_Apprenants";
|
||||
|
||||
import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow } from "react-icons/fc";
|
||||
import { FcMultipleSmartphones } from "react-icons/fc";
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
|
||||
|
||||
|
@ -72,8 +63,7 @@ import {
|
|||
GridToolbarFilterButton, GridToolbarDensitySelector, GridToolbarExportContainer, useGridApiContext,
|
||||
gridFilteredSortedRowIdsSelector,
|
||||
gridVisibleColumnFieldsSelector,
|
||||
GridValueGetterParams,
|
||||
GridPreferencePanelsValue,
|
||||
|
||||
|
||||
} from '@mui/x-data-grid';
|
||||
import * as XLSX from 'xlsx';
|
||||
|
@ -264,65 +254,68 @@ const Groupe_Apprenant = (props) => {
|
|||
field: "delete", headerName: 'Supprimer', disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<nav>
|
||||
{String(cellValues.row.nb_membre) !== "0" && <Button onClick={(e) => {
|
||||
alert(" Vous devez supprimer les membres avant de supprimer le groupe");
|
||||
}}>
|
||||
<CiTrash />
|
||||
<>
|
||||
|
||||
</Button>}
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <nav>
|
||||
{String(cellValues.row.nb_membre) !== "0" && <Button onClick={(e) => {
|
||||
alert(" Vous devez supprimer les membres avant de supprimer le groupe");
|
||||
}}>
|
||||
<CiTrash />
|
||||
|
||||
{String(cellValues.row.nb_membre) === "0" &&
|
||||
<Popup
|
||||
trigger={<Button
|
||||
</Button>}
|
||||
|
||||
{String(cellValues.row.nb_membre) === "0" &&
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, le groupe sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_groupe(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, le groupe sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_groupe(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>}
|
||||
)}
|
||||
</Popup>}
|
||||
|
||||
</nav>
|
||||
</nav>}
|
||||
</>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -341,59 +334,60 @@ const Groupe_Apprenant = (props) => {
|
|||
field: "delete", headerName: 'Supprimer', disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
onClick={(event) => {
|
||||
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la personne sera <i><font color="red"> supprimée du groupe </font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
var tab = []
|
||||
tab.push(String(cellValues.row._id));
|
||||
Delete_List_Membre_From_Groupe(tab);
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, la personne sera <i><font color="red"> supprimée du groupe </font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
var tab = []
|
||||
tab.push(String(cellValues.row._id));
|
||||
Delete_List_Membre_From_Groupe(tab);
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -2418,7 +2412,7 @@ const Groupe_Apprenant = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> Choisir une couleur</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> Choisir une couleur</DialogTitle>
|
||||
<DialogContent className="DialogContent_color_pickup_width" >
|
||||
<DialogContentText>
|
||||
|
||||
|
@ -2437,6 +2431,7 @@ const Groupe_Apprenant = (props) => {
|
|||
}}
|
||||
name="detail_grp_color"
|
||||
id="detail_grp_color"
|
||||
disabled={Boolean(String(props.check_user_acces_right("stagiaire", "write")))}
|
||||
onChange={(color) => {
|
||||
setp_detail_color(color.hex);
|
||||
setgrp_apprenant_data_changed("1");
|
||||
|
@ -2501,7 +2496,7 @@ const Groupe_Apprenant = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> Création automatique des groupes </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> Création automatique des groupes </DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
|
||||
|
@ -3288,7 +3283,7 @@ const Groupe_Apprenant = (props) => {
|
|||
<div className="div_row" style={{ "border": "None" }} id="bton_gestion_grp" name="bton_gestion_grp">
|
||||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
<Button variant="outlined"
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Button variant="outlined"
|
||||
className="detail_class_submenu bton_add_session bton_add_session_create_automatic" style={{ "width": "40%" }}
|
||||
id='menu_import_participant' name='menu_import_participant' onClick={(event) => {
|
||||
|
||||
|
@ -3300,16 +3295,16 @@ const Groupe_Apprenant = (props) => {
|
|||
|
||||
}} > Gestion automatique
|
||||
<FcMultipleSmartphones />
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
|
||||
|
||||
|
||||
<Button variant="outlined" onClick={Ajout_1_grp_apprenant}
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Button variant="outlined" onClick={Ajout_1_grp_apprenant}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Grp
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -3320,7 +3315,7 @@ const Groupe_Apprenant = (props) => {
|
|||
{selected_id && String(selected_id).length > 5 && <div className="div_row">
|
||||
<Button variant="outlined" onClick={submenu_detail} className="detail_class_submenu" id='detail_groupe' name='detail_groupe'>Détail Evaluation</Button>
|
||||
<Button variant="outlined" onClick={submenu_apprenant} className="detail_class_submenu" id='apprenant' name='apprenant'>Membres </Button>
|
||||
<Button variant="outlined" onClick={submenu_selection} className="detail_class_submenu" id='selection' name='selection'>Sélection </Button>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Button variant="outlined" onClick={submenu_selection} className="detail_class_submenu" id='selection' name='selection'>Sélection </Button>}
|
||||
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='piece_jointe'>Pièces Jointes </Button>
|
||||
|
||||
</div>}
|
||||
|
@ -3642,7 +3637,9 @@ const Groupe_Apprenant = (props) => {
|
|||
|
||||
<div className="session_caract"> Code couleur
|
||||
<nav className="disabled_style" style={{ backgroundColor: p_detail_color, cursor: 'pointer', borderRadius: '10px', paddingTop: '15px' }} onClick={(event, value) => {
|
||||
setDialog_GRP_COLOR_open(true)
|
||||
|
||||
if (String(props.check_user_acces_right("stagiaire", "write")) === "1")
|
||||
setDialog_GRP_COLOR_open(true)
|
||||
}}
|
||||
> Cliquer pour choisir </nav>
|
||||
|
||||
|
@ -3669,7 +3666,7 @@ const Groupe_Apprenant = (props) => {
|
|||
|
||||
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
{ String(grp_apprenant_data_edit_mode) === "1" && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
{String(grp_apprenant_data_edit_mode) === "1" && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_enreg" onClick={Add_Update_Grp_Apprenant_Data}>Enregistrer les modifications
|
||||
</Button>
|
||||
|
@ -3683,7 +3680,7 @@ const Groupe_Apprenant = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
{String(grp_apprenant_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(grp_apprenant_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Grp_Apprenant_DetailFields}>Editer
|
||||
</Button>
|
||||
|
@ -3697,7 +3694,7 @@ const Groupe_Apprenant = (props) => {
|
|||
</div>}
|
||||
|
||||
|
||||
{String(add_one_grp_apprenant) === "1" && String(display_grp_apprenant) !== "1" && <div className="div_row session_data">
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && String(add_one_grp_apprenant) === "1" && String(display_grp_apprenant) !== "1" && <div className="div_row session_data">
|
||||
|
||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600", "paddingTop": "10px", "paddingLeft": "5px" }}> Ajouter un nouveau groupe </nav>
|
||||
|
||||
|
@ -3880,7 +3877,8 @@ const Groupe_Apprenant = (props) => {
|
|||
|
||||
<div className="session_caract"> Code couleur
|
||||
<nav className="disabled_style" style={{ backgroundColor: p_detail_color, cursor: 'pointer', borderRadius: '10px', paddingTop: '15px' }} onClick={(event, value) => {
|
||||
setDialog_GRP_COLOR_open(true)
|
||||
if (String(props.check_user_acces_right("stagiaire", "write")) === "1")
|
||||
setDialog_GRP_COLOR_open(true)
|
||||
}}
|
||||
> Cliquer pour choisir </nav>
|
||||
|
||||
|
@ -3934,7 +3932,7 @@ const Groupe_Apprenant = (props) => {
|
|||
<div className="div_row session_data">
|
||||
<div className="div_row" style={{ "padding": "5px", 'paddingTop': '15px' }}>
|
||||
|
||||
<div style={{ "fontSize": "12px" }}>
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <div style={{ "fontSize": "12px" }}>
|
||||
<label htmlFor="upload-photo">
|
||||
<input
|
||||
style={{ display: "none" }}
|
||||
|
@ -3955,7 +3953,7 @@ const Groupe_Apprenant = (props) => {
|
|||
</Fab>
|
||||
|
||||
</label>
|
||||
</div>
|
||||
</div>}
|
||||
{file_1_name && file_1_name.name &&
|
||||
<nav style={{ "fontSize": "12px" }}>
|
||||
<div className="session_caract">Nom du fichier <br />
|
||||
|
@ -4014,7 +4012,7 @@ const Groupe_Apprenant = (props) => {
|
|||
name={(JSON.parse(val).file_name)}
|
||||
id={(JSON.parse(val).file_name)} onClick={Download_one_attached_document}> Télécharger </font></nav>
|
||||
|
||||
<Popup
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && <Popup
|
||||
trigger={
|
||||
<nav style={{ "color": "red", "cursor": "pointer" }} > Supprimer</nav>
|
||||
|
||||
|
@ -4062,7 +4060,7 @@ const Groupe_Apprenant = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</Popup>}
|
||||
|
||||
</div>
|
||||
))}
|
||||
|
|
|
@ -1,31 +1,22 @@
|
|||
import React, { useRef, useState, useEffect } from "react";
|
||||
import Button from '@mui/material/Button';
|
||||
import { getCookie } from 'react-use-cookie';
|
||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||
import axios from "axios";
|
||||
import Box from '@mui/material/Box';
|
||||
|
||||
import { useHistory } from "react-router-dom";
|
||||
import { FcIdea } from "react-icons/fc";
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import img_paypal from "./../mysy_img/paypal.png"
|
||||
import moment from "moment";
|
||||
|
||||
import {
|
||||
CardElement,
|
||||
useStripe,
|
||||
useElements,
|
||||
} from '@stripe/react-stripe-js';
|
||||
import { Elements } from '@stripe/react-stripe-js';
|
||||
import { loadStripe } from '@stripe/stripe-js';
|
||||
import { PaymentElement } from '@stripe/react-stripe-js';
|
||||
import Popup from 'reactjs-popup';
|
||||
import SendIcon from '@mui/icons-material/Send';
|
||||
|
||||
import Popup from 'reactjs-popup';
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
import EditIcon from '@mui/icons-material/Edit';
|
||||
import { MdDeleteForever } from "react-icons/md";
|
||||
import Fab from '@mui/material/Fab';
|
||||
import { IoIosAddCircleOutline, IoMdTrash } from "react-icons/io";
|
||||
|
||||
|
@ -279,7 +270,7 @@ function HebergementLms(props) {
|
|||
img_height = this.height;
|
||||
img_width = this.width;
|
||||
_URL.revokeObjectURL(objectUrl);
|
||||
// console.log(" img_width = ", img_width, " img_height = ", img_height)
|
||||
// console.log(" img_width = ", img_width, " img_height = ", img_height)
|
||||
|
||||
if (parseFloat(img_width) > 130 && parseFloat(img_width) < 260 &&
|
||||
parseFloat(img_height) > 60 && parseFloat(img_height) < 150) {
|
||||
|
@ -753,7 +744,9 @@ function HebergementLms(props) {
|
|||
|
||||
<div className="session_caract">Choisir un exemple de thème : <br />
|
||||
|
||||
<select id="lms_theme_liste" name="lms_theme_liste" value={selected_lms_theme} onChange={handleChangeselected_lms_theme} className="selectsession">
|
||||
<select id="lms_theme_liste" name="lms_theme_liste"
|
||||
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 &&
|
||||
GetLms_Themes_result.map((lms_theme) => (
|
||||
|
@ -774,7 +767,7 @@ function HebergementLms(props) {
|
|||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
</div>
|
||||
{<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
{String(props.check_user_acces_right("lms", "write")) === "1" && <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="btn_modif" onClick={"One_annuleSessionUpdate"}>Annuler
|
||||
|
@ -807,7 +800,7 @@ function HebergementLms(props) {
|
|||
|
||||
</div>}
|
||||
|
||||
<div style={{ "width": "250px", textAlign: 'left', "marginTop": "1rem", marginBottom: '1rem' }} onClick={(e) => {
|
||||
{String(props.check_user_acces_right("lms", "write")) === "1" && <div style={{ "width": "250px", textAlign: 'left', "marginTop": "1rem", marginBottom: '1rem' }} onClick={(e) => {
|
||||
e.preventDefault();
|
||||
|
||||
}}>
|
||||
|
@ -883,7 +876,7 @@ Le nom du fichier ne contient que des caractères alphanumériques </i>">
|
|||
</nav>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
|
@ -910,13 +903,13 @@ Le nom du fichier ne contient que des caractères alphanumériques </i>">
|
|||
</nav>*/}
|
||||
<br />
|
||||
{logo_file_name && <nav className="okUpdateData"><i>{logo_file_name}</i></nav>}
|
||||
<input type="file"
|
||||
{String(props.check_user_acces_right("lms", "write")) === "1" && <input type="file"
|
||||
accept=".png"
|
||||
ref={hiddenFileInput_logo}
|
||||
style={{ display: 'none' }}
|
||||
name="liste_formation_file"
|
||||
onChange={handleSubmission_logo}
|
||||
/>
|
||||
/>}
|
||||
|
||||
{img_logo_file && <nav> Fichier à importer : {img_logo_file.name} <br />
|
||||
<img src={img_logo_file} alt={""} />
|
||||
|
@ -938,7 +931,7 @@ Le nom du fichier ne contient que des caractères alphanumériques </i>">
|
|||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
</div>
|
||||
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
{String(props.check_user_acces_right("lms", "write")) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row" style={{
|
||||
|
@ -964,7 +957,7 @@ Le nom du fichier ne contient que des caractères alphanumériques </i>">
|
|||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
</div>
|
||||
|
@ -983,7 +976,7 @@ Le nom du fichier ne contient que des caractères alphanumériques </i>">
|
|||
</Button>*/}
|
||||
</div>}
|
||||
|
||||
<div style={{ "width": "250px", marginLeft: 'auto', marginRight: 'auto', "marginTop": "1rem", marginBottom: '1rem' }} onClick={(e) => {
|
||||
{String(props.check_user_acces_right("lms", "write")) === "1" && <div style={{ "width": "250px", marginLeft: 'auto', marginRight: 'auto', "marginTop": "1rem", marginBottom: '1rem' }} onClick={(e) => {
|
||||
e.preventDefault();
|
||||
|
||||
}}>
|
||||
|
@ -1059,7 +1052,7 @@ Le nom du fichier ne contient que des caractères alphanumériques </i>">
|
|||
</nav>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
|
@ -1072,13 +1065,13 @@ Le nom du fichier ne contient que des caractères alphanumériques </i>">
|
|||
|
||||
|
||||
{bg_file_name && <nav className="okUpdateData"><i>{bg_file_name}</i></nav>}
|
||||
<input type="file"
|
||||
{String(props.check_user_acces_right("lms", "write")) === "1" && <input type="file"
|
||||
accept=".png"
|
||||
ref={hiddenFileInput_bg}
|
||||
style={{ display: 'none' }}
|
||||
name="liste_formation_file"
|
||||
onChange={handleSubmission_bg}
|
||||
/>
|
||||
/>}
|
||||
|
||||
{img_bg_file && <nav> Fichier à importer : {img_bg_file.name} <br />
|
||||
<img src={img_bg_file} alt={""} className="img_bg_file_css" />
|
||||
|
@ -1097,7 +1090,7 @@ Le nom du fichier ne contient que des caractères alphanumériques </i>">
|
|||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
</div>
|
||||
<div className="div_row">
|
||||
{String(props.check_user_acces_right("lms", "write")) === "1" && <div className="div_row">
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row" style={{
|
||||
|
@ -1128,7 +1121,7 @@ Le nom du fichier ne contient que des caractères alphanumériques </i>">
|
|||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -4,7 +4,7 @@ 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 { getCookie, } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
|
@ -20,7 +20,6 @@ import 'reactjs-popup/dist/index.css';
|
|||
|
||||
import DatePicker from "react-datepicker";
|
||||
import "react-datepicker/dist/react-datepicker.css";
|
||||
import { format } from 'date-fns'
|
||||
import moment from "moment";
|
||||
import InputAdornment from '@mui/material/InputAdornment';
|
||||
import { AiFillCloseCircle } from "react-icons/ai";
|
||||
|
@ -48,7 +47,6 @@ import { FcAcceptDatabase, FcPlanner } from "react-icons/fc";
|
|||
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
import Module_Historique_Action from "./Module_Historique_Action";
|
||||
import ToggleSwitch from "./ToggleSwitch";
|
||||
import daygridPlugin from "@fullcalendar/daygrid";
|
||||
|
||||
import FullCalendar, { formatDate } from "@fullcalendar/react";
|
||||
|
@ -242,66 +240,68 @@ const Jury = (props) => {
|
|||
field: "delete", headerName: 'Supprimer', disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<nav>
|
||||
{String(cellValues.row.nb_membre) !== "0" && <Button onClick={(e) => {
|
||||
alert(" Vous devez supprimer les membres avant de supprimer le jury");
|
||||
}}>
|
||||
<CiTrash />
|
||||
<>
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <nav>
|
||||
{String(cellValues.row.nb_membre) !== "0" && <Button onClick={(e) => {
|
||||
alert(" Vous devez supprimer les membres avant de supprimer le jury");
|
||||
}}>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
</Button>}
|
||||
|
||||
{String(cellValues.row.nb_membre) === "0" &&
|
||||
<Popup
|
||||
trigger={<Button
|
||||
{String(cellValues.row.nb_membre) === "0" &&
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, le jury sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Given_Jury(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, le jury sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Given_Jury(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>}
|
||||
)}
|
||||
</Popup>}
|
||||
|
||||
</nav>
|
||||
</nav>}
|
||||
</>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -342,61 +342,62 @@ const Jury = (props) => {
|
|||
field: "delete", headerName: 'Supprimer', disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
onClick={(event) => {
|
||||
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la personne sera <i><font color="red"> supprimée de l'équipe </font></i>. <br />
|
||||
En confirmant cette opération, la personne sera <i><font color="red"> supprimée de l'équipe </font></i>. <br />
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
var tab = []
|
||||
tab.push(String(cellValues.row._id));
|
||||
Delete_List_Membre_From_Jury(tab);
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
var tab = []
|
||||
tab.push(String(cellValues.row._id));
|
||||
Delete_List_Membre_From_Jury(tab);
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -446,7 +447,7 @@ const Jury = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<nav>
|
||||
<Button onClick={(e) => {
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <Button onClick={(e) => {
|
||||
|
||||
Get_Jury_List_Apprenant_Soutenance(cellValues.row._id, cellValues.row.jury_soutenance_id);
|
||||
|
||||
|
@ -462,10 +463,7 @@ const Jury = (props) => {
|
|||
}}>
|
||||
<TbUsersGroup />
|
||||
|
||||
</Button>
|
||||
|
||||
|
||||
|
||||
</Button>}
|
||||
</nav>
|
||||
);
|
||||
}
|
||||
|
@ -476,7 +474,7 @@ const Jury = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<nav>
|
||||
<Popup
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
>
|
||||
<CiTrash />
|
||||
|
@ -522,7 +520,7 @@ const Jury = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</Popup>}
|
||||
|
||||
</nav>
|
||||
);
|
||||
|
@ -534,7 +532,7 @@ const Jury = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div>
|
||||
<nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||
<IconButton
|
||||
aria-label="more"
|
||||
id="long-button"
|
||||
|
@ -630,7 +628,7 @@ const Jury = (props) => {
|
|||
|
||||
|
||||
|
||||
</nav>
|
||||
</nav>}
|
||||
</div>
|
||||
);
|
||||
},
|
||||
|
@ -658,7 +656,7 @@ const Jury = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<nav>
|
||||
<Popup
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
>
|
||||
<CiTrash />
|
||||
|
@ -704,7 +702,7 @@ const Jury = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</Popup>}
|
||||
|
||||
</nav>
|
||||
);
|
||||
|
@ -2066,7 +2064,7 @@ const Jury = (props) => {
|
|||
|
||||
|
||||
async function submenu_detail() {
|
||||
await sleep(5);
|
||||
|
||||
setsubmenu("detail_jury");
|
||||
inactive_active_menu_header("detail_jury");
|
||||
|
||||
|
@ -2078,7 +2076,7 @@ const Jury = (props) => {
|
|||
}
|
||||
|
||||
async function submenu_membres() {
|
||||
await sleep(5);
|
||||
|
||||
setsubmenu("membre");
|
||||
inactive_active_menu_header("membre");
|
||||
|
||||
|
@ -2090,7 +2088,7 @@ const Jury = (props) => {
|
|||
}
|
||||
|
||||
async function submenu_piece_jointe() {
|
||||
await sleep(5);
|
||||
|
||||
setsubmenu("piece_jointe");
|
||||
inactive_active_menu_header("piece_jointe");
|
||||
|
||||
|
@ -2105,7 +2103,7 @@ const Jury = (props) => {
|
|||
}
|
||||
|
||||
async function submenu_selection() {
|
||||
await sleep(5);
|
||||
|
||||
setsubmenu("selection");
|
||||
inactive_active_menu_header("selection");
|
||||
|
||||
|
@ -3027,9 +3025,6 @@ const Jury = (props) => {
|
|||
|
||||
|
||||
const handleSelect_V2 = (info) => {
|
||||
|
||||
|
||||
|
||||
GetListeInscrit();
|
||||
setGet_Jury_List_Apprenant_Seance_insc_result([]);
|
||||
setselected_agenda_id("");
|
||||
|
@ -6606,11 +6601,11 @@ const Jury = (props) => {
|
|||
|
||||
|
||||
|
||||
<Button variant="outlined" onClick={Ajout_1_jury}
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <Button variant="outlined" onClick={Ajout_1_jury}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Jury
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -7346,12 +7341,12 @@ const Jury = (props) => {
|
|||
|
||||
</div>
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
{String(equipe_data_changed) === "1" && String(equipe_data_edit_mode) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && String(equipe_data_changed) === "1" && String(equipe_data_edit_mode) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
/!\ Pensez à enregistrer les modifications
|
||||
</div>}
|
||||
|
||||
|
||||
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
{String(equipe_data_edit_mode) === "1" && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
|
||||
|
@ -7364,10 +7359,10 @@ const Jury = (props) => {
|
|||
<Button variant="contained" className="bton_annule" onClick={Annule_Jury_DetailFields}>Annuler
|
||||
</Button>
|
||||
</div>}
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
{String(equipe_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && String(equipe_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Jury_DetailFields}>Editer
|
||||
</Button>
|
||||
|
@ -8104,7 +8099,7 @@ const Jury = (props) => {
|
|||
<div className="div_row session_data">
|
||||
<div className="div_row" style={{ "padding": "5px", 'paddingTop': '15px' }}>
|
||||
|
||||
<div style={{ "fontSize": "12px" }}>
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <div style={{ "fontSize": "12px" }}>
|
||||
<label htmlFor="upload-photo">
|
||||
<input
|
||||
style={{ display: "none" }}
|
||||
|
@ -8125,7 +8120,7 @@ const Jury = (props) => {
|
|||
</Fab>
|
||||
|
||||
</label>
|
||||
</div>
|
||||
</div>}
|
||||
{file_1_name && file_1_name.name &&
|
||||
<nav style={{ "fontSize": "12px" }}>
|
||||
<div className="session_caract">Nom du fichier <br />
|
||||
|
@ -8184,7 +8179,7 @@ const Jury = (props) => {
|
|||
name={(JSON.parse(val).file_name)}
|
||||
id={(JSON.parse(val).file_name)} onClick={Download_one_attached_document}> Télécharger </font></nav>
|
||||
|
||||
<Popup
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <Popup
|
||||
trigger={
|
||||
<nav style={{ "color": "red", "cursor": "pointer" }} > Supprimer</nav>
|
||||
|
||||
|
@ -8232,7 +8227,7 @@ const Jury = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</Popup>}
|
||||
|
||||
</div>
|
||||
))}
|
||||
|
@ -8382,23 +8377,25 @@ const Jury = (props) => {
|
|||
className="datagridclass"
|
||||
|
||||
onRowDoubleClick={(newSelectionModel) => {
|
||||
setselected_agenda_id(newSelectionModel.row._id);
|
||||
setselected_jury_soutenance_id(newSelectionModel.row.jury_soutenance_id);
|
||||
setp_detail_linked_collection_recid(newSelectionModel.row.jury_session_id);
|
||||
setsubmenu_detail_seance("display_jury_seance");
|
||||
GetCurrentSession(newSelectionModel.row.jury_session_id);
|
||||
if (String(props.check_user_acces_right("jury", "write")) === "1") {
|
||||
setselected_agenda_id(newSelectionModel.row._id);
|
||||
setselected_jury_soutenance_id(newSelectionModel.row.jury_soutenance_id);
|
||||
setp_detail_linked_collection_recid(newSelectionModel.row.jury_session_id);
|
||||
setsubmenu_detail_seance("display_jury_seance");
|
||||
GetCurrentSession(newSelectionModel.row.jury_session_id);
|
||||
|
||||
if (String(selected_jury_cible) === "soutenance") {
|
||||
Get_Jury_List_Apprenant_Soutenance(newSelectionModel.row._id, newSelectionModel.row.jury_soutenance_id);
|
||||
}
|
||||
if (String(selected_jury_cible) === "soutenance") {
|
||||
Get_Jury_List_Apprenant_Soutenance(newSelectionModel.row._id, newSelectionModel.row.jury_soutenance_id);
|
||||
}
|
||||
|
||||
if (document.getElementById('myRef_note_classemment')) {
|
||||
var divh = document.getElementById('myRef_note_classemment').offsetTop;
|
||||
if (document.getElementById('myRef_note_classemment')) {
|
||||
var divh = document.getElementById('myRef_note_classemment').offsetTop;
|
||||
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
});
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}}
|
||||
|
@ -8567,7 +8564,7 @@ const Jury = (props) => {
|
|||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
<Button variant="outlined"
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <Button variant="outlined"
|
||||
onClick={(event) => {
|
||||
GetListeInscrit();
|
||||
setGet_Jury_List_Apprenant_Seance_insc_result([]);
|
||||
|
@ -8593,7 +8590,7 @@ const Jury = (props) => {
|
|||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Soutenance
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</Button>}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -8786,7 +8783,7 @@ const Jury = (props) => {
|
|||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
</div>
|
||||
{String(soutenance_data_edit_mode) === "1" && <div className="div_row" style={{ "border": "None" }}>
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && String(soutenance_data_edit_mode) === "1" && <div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
|
@ -8810,8 +8807,8 @@ const Jury = (props) => {
|
|||
|
||||
{String(soutenance_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Jury_Soutenance_DetailFields}>Editer
|
||||
</Button>
|
||||
{String(props.check_user_acces_right("jury", "write")) === "1" && <Button variant="contained" className="bton_edit" onClick={Enable_Jury_Soutenance_DetailFields}>Editer
|
||||
</Button>}
|
||||
|
||||
</div>}
|
||||
|
||||
|
|
|
@ -29,8 +29,8 @@ 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 { TransitionProps } from '@mui/material/transitions';
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
|
||||
import { IoAddCircleOutline } from "react-icons/io5";
|
||||
import ToggleSwitch from "./ToggleSwitch";
|
||||
import ToggleSwitch_v2_mysy from "./ToggleSwitch_v2_mysy";
|
||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||
|
@ -143,57 +143,58 @@ const Materiel_Salle = (props) => {
|
|||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la salle sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, la salle sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -217,56 +218,58 @@ const Materiel_Salle = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
//handleClick_delete(event, cellValues);
|
||||
}}
|
||||
onClick={(event) => {
|
||||
//handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la fonction sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_affection(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, la fonction sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_affection(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -287,67 +290,6 @@ const Materiel_Salle = (props) => {
|
|||
{ field: 'related_target_collection_id_nom', headerName: 'Cible Nom', flex: 1, hide: false, },
|
||||
{ field: 'target_related_collection', headerName: 'Type', hide: true },
|
||||
{ field: 'target_related_collection_id', headerName: 'Type ID', hide: true },
|
||||
{/*
|
||||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
//handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la fonction sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_affection(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
|
||||
);
|
||||
}
|
||||
*/}
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
@ -371,7 +313,7 @@ const Materiel_Salle = (props) => {
|
|||
|
||||
const [Partner_Debut_Journee, setPartner_Debut_Journee] = useState("7:00");
|
||||
const [Partner_Fin_Journee, setPartner_Fin_Journee] = useState("20:00");
|
||||
|
||||
|
||||
const [New_Getall_Partner_Site_Formation_result, setNew_Getall_Partner_Site_Formation_result] = useState([]);
|
||||
|
||||
const [Getall_Partner_Site_Formation_api, setGetall_Partner_Site_Formation_api] = useState();
|
||||
|
@ -2734,16 +2676,18 @@ const Materiel_Salle = (props) => {
|
|||
// Pas d'acces en ecriture.
|
||||
return;
|
||||
}
|
||||
setp_detail_title("Nouvelle")
|
||||
setp_detail_start(info.start)
|
||||
setp_detail_end(info.end)
|
||||
setp_detail_comment("");
|
||||
setp_detail_sequence_session_id("");
|
||||
setp_detail_event_id("");
|
||||
if (String(props.check_user_acces_right("materiel", "write")) === "1") {
|
||||
setp_detail_title("Nouvelle")
|
||||
setp_detail_start(info.start)
|
||||
setp_detail_end(info.end)
|
||||
setp_detail_comment("");
|
||||
setp_detail_sequence_session_id("");
|
||||
setp_detail_event_id("");
|
||||
|
||||
setStartDate(info.start);
|
||||
setendDate(info.end);
|
||||
setDialog_1_open(true);
|
||||
setStartDate(info.start);
|
||||
setendDate(info.end);
|
||||
setDialog_1_open(true);
|
||||
}
|
||||
};
|
||||
|
||||
const [Get_List_Agenda_Events_For_Given_User_api, setGet_List_Agenda_Events_For_Given_User_api] = useState();
|
||||
|
@ -2946,47 +2890,48 @@ const Materiel_Salle = (props) => {
|
|||
|
||||
const handleEventClick = (arg) => {
|
||||
|
||||
if (String(props.check_user_acces_right("materiel", "write")) === "1") {
|
||||
setp_detail_title(arg.event.title)
|
||||
setp_detail_start(arg.event.start)
|
||||
setp_detail_end(arg.event.end)
|
||||
setp_detail_event_id(arg.event.id);
|
||||
|
||||
setp_detail_title(arg.event.title)
|
||||
setp_detail_start(arg.event.start)
|
||||
setp_detail_end(arg.event.end)
|
||||
setp_detail_event_id(arg.event.id);
|
||||
if (arg.event.extendedProps.comment) {
|
||||
setp_detail_comment(arg.event.extendedProps.comment);
|
||||
|
||||
if (arg.event.extendedProps.comment) {
|
||||
setp_detail_comment(arg.event.extendedProps.comment);
|
||||
}
|
||||
else
|
||||
setp_detail_comment("");
|
||||
|
||||
}
|
||||
else
|
||||
setp_detail_comment("");
|
||||
if (arg.event.extendedProps.sequence_session_id) {
|
||||
setp_detail_sequence_session_id(arg.event.extendedProps.sequence_session_id);
|
||||
|
||||
if (arg.event.extendedProps.sequence_session_id) {
|
||||
setp_detail_sequence_session_id(arg.event.extendedProps.sequence_session_id);
|
||||
|
||||
}
|
||||
else
|
||||
setp_detail_sequence_session_id("");
|
||||
}
|
||||
else
|
||||
setp_detail_sequence_session_id("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.justified) {
|
||||
if (String(arg.event.extendedProps.justified) === "true")
|
||||
setp_detail_justified(true);
|
||||
if (arg.event.extendedProps.justified) {
|
||||
if (String(arg.event.extendedProps.justified) === "true")
|
||||
setp_detail_justified(true);
|
||||
else
|
||||
setp_detail_justified(false);
|
||||
}
|
||||
else
|
||||
setp_detail_justified(false);
|
||||
|
||||
|
||||
|
||||
if (arg.event.extendedProps.type) {
|
||||
setp_detail_event_type(arg.event.extendedProps.type);
|
||||
}
|
||||
else
|
||||
setp_detail_event_type("");
|
||||
|
||||
setStartDate(arg.event.start);
|
||||
setendDate(arg.event.end);
|
||||
setDialog_1_open(true);
|
||||
}
|
||||
else
|
||||
setp_detail_justified(false);
|
||||
|
||||
|
||||
|
||||
if (arg.event.extendedProps.type) {
|
||||
setp_detail_event_type(arg.event.extendedProps.type);
|
||||
}
|
||||
else
|
||||
setp_detail_event_type("");
|
||||
|
||||
setStartDate(arg.event.start);
|
||||
setendDate(arg.event.end);
|
||||
setDialog_1_open(true);
|
||||
}
|
||||
|
||||
const [Delete_One_Agenda_Event_api, setDelete_One_Agenda_Event_api] = useState();
|
||||
|
@ -3136,7 +3081,7 @@ const Materiel_Salle = (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}
|
||||
|
@ -3180,7 +3125,7 @@ const Materiel_Salle = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
|
||||
>
|
||||
<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 className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_1_message}
|
||||
|
@ -3388,7 +3333,7 @@ const Materiel_Salle = (props) => {
|
|||
</Dialog>
|
||||
{/*** FIn Dialog detail eventement */}
|
||||
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Les Salles </h3>
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Les salles </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -3771,11 +3716,11 @@ const Materiel_Salle = (props) => {
|
|||
*/}
|
||||
|
||||
|
||||
<Button variant="outlined" onClick={submenu_add_one_materiel}
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && <Button variant="outlined" onClick={submenu_add_one_materiel}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Salle
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
<br />
|
||||
{session_file_name && <nav><i>{session_file_name}</i></nav>}
|
||||
|
@ -3816,7 +3761,7 @@ const Materiel_Salle = (props) => {
|
|||
</div>
|
||||
<div className="div_row_droite_image">
|
||||
<input type="file" id="files_img_class" accept="image/*" onChange={imglogoclasschangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br />
|
||||
{<nav>
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && <nav>
|
||||
|
||||
<label for="files_img_class" className="bton_image_class">Charger une photo</label><br />
|
||||
|
||||
|
@ -3870,9 +3815,10 @@ const Materiel_Salle = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
|
||||
className="disabled_style"
|
||||
value={p_detail_ref_interne}
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
onChange={(e) => {
|
||||
setp_detail_ref_interne(e.target.value);
|
||||
setmateriel_data_changed("1");
|
||||
|
@ -3892,7 +3838,7 @@ const Materiel_Salle = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
className="disabled_style"
|
||||
value={p_detail_nom}
|
||||
onChange={(e) => {
|
||||
|
@ -3914,7 +3860,7 @@ const Materiel_Salle = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
className="disabled_style"
|
||||
value={p_detail_description}
|
||||
onChange={(e) => {
|
||||
|
@ -3943,7 +3889,7 @@ const Materiel_Salle = (props) => {
|
|||
className="disabled_style"
|
||||
options={New_Getall_Partner_Site_Formation_result}
|
||||
value={New_Getall_Partner_Site_Formation_result.filter((data) => (data)._id === String(p_detail_site_formation))[0].label}
|
||||
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
onChange={(event, value) => {
|
||||
if (value && value._id) {
|
||||
setp_detail_site_formation(value._id);
|
||||
|
@ -3968,11 +3914,11 @@ const Materiel_Salle = (props) => {
|
|||
required
|
||||
name="detail_site_formation"
|
||||
id="detail_site_formation"
|
||||
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
|
||||
className="disabled_style"
|
||||
value={New_Getall_Partner_Site_Formation_result.filter((data) => (data)._id === String(p_detail_site_formation))[0].label}
|
||||
/>
|
||||
|
@ -3989,11 +3935,11 @@ const Materiel_Salle = (props) => {
|
|||
required
|
||||
name="detail_prix_achat"
|
||||
id="detail_prix_achat"
|
||||
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
|
||||
className="disabled_style disabled_style_moitier"
|
||||
value={p_detail_prix_achat}
|
||||
onChange={(e) => {
|
||||
|
@ -4008,12 +3954,12 @@ const Materiel_Salle = (props) => {
|
|||
required
|
||||
name="detail_prix_achat_by"
|
||||
id="detail_prix_achat_by"
|
||||
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
inputProps={{ min: "1", max: "1000", step: "1" }}
|
||||
disabled={false}
|
||||
|
||||
className="disabled_style disabled_style_moitier"
|
||||
value={New_Price_by.filter((data) => (data).value === String(p_detail_prix_achat_by))[0].label}
|
||||
|
||||
|
@ -4024,7 +3970,7 @@ const Materiel_Salle = (props) => {
|
|||
id="detail_prix_achat_by"
|
||||
className="disabled_style disabled_style_moitier"
|
||||
value={New_Price_by.filter((data) => (data).value === String(p_detail_prix_achat_by))[0].label}
|
||||
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
options={New_Price_by}
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
|
@ -4057,7 +4003,7 @@ const Materiel_Salle = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
className="disabled_style"
|
||||
value={p_detail_complement_adresse}
|
||||
onChange={(e) => {
|
||||
|
@ -4079,7 +4025,7 @@ const Materiel_Salle = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
className="disabled_style"
|
||||
value={p_detail_capacite_ideale}
|
||||
onChange={(e) => {
|
||||
|
@ -4101,7 +4047,7 @@ const Materiel_Salle = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
className="disabled_style"
|
||||
value={p_detail_capacite_max}
|
||||
onChange={(e) => {
|
||||
|
@ -4117,13 +4063,16 @@ const Materiel_Salle = (props) => {
|
|||
<div className="session_caract" >
|
||||
Accès handicapé ?<br />
|
||||
<nav className="disabled_style" style={{ "height": '3rem', border: "none" }}
|
||||
|
||||
onChange={(e) => {
|
||||
setmateriel_data_changed("1");
|
||||
if (p_detail_acces_handicape === true)
|
||||
setp_detail_acces_handicape(false)
|
||||
else {
|
||||
if (String(props.check_user_acces_right("materiel", "write")) === "1") {
|
||||
setmateriel_data_changed("1");
|
||||
if (p_detail_acces_handicape === true)
|
||||
setp_detail_acces_handicape(false)
|
||||
else {
|
||||
|
||||
setp_detail_acces_handicape(true);
|
||||
setp_detail_acces_handicape(true);
|
||||
}
|
||||
}
|
||||
|
||||
}}
|
||||
|
@ -4144,7 +4093,7 @@ const Materiel_Salle = (props) => {
|
|||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
disabled={Boolean(String(props.check_user_acces_right("materiel", "write")))}
|
||||
className="disabled_style"
|
||||
value={p_detail_detail}
|
||||
onChange={(e) => {
|
||||
|
@ -4179,7 +4128,7 @@ const Materiel_Salle = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
{String(materiel_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && String(materiel_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Materiel_DetailFields}>Editer
|
||||
</Button>
|
||||
|
@ -4631,11 +4580,11 @@ const Materiel_Salle = (props) => {
|
|||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
<Button variant="outlined" onClick={add_one_affectation_block}
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && <Button variant="outlined" onClick={add_one_affectation_block}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_add_participant' name='menu_add_participant'>Ajout 1 affectation
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
<br />
|
||||
|
||||
|
@ -4938,7 +4887,7 @@ const Materiel_Salle = (props) => {
|
|||
</div>}
|
||||
|
||||
|
||||
{String(edite_affectation_form) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && String(edite_affectation_form) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Detail_Affectation_Fields}>Editer
|
||||
</Button>
|
||||
|
|
|
@ -126,57 +126,59 @@ const Materiels = (props) => {
|
|||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" &&
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, le matériel sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, le matériel sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -199,57 +201,59 @@ const Materiels = (props) => {
|
|||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" &&
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
onClick={(event) => {
|
||||
//handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
onClick={(event) => {
|
||||
//handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la fonction sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_affection(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la fonction sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_affection(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -676,7 +680,7 @@ const Materiels = (props) => {
|
|||
.catch((error) => {
|
||||
console.error('Error:', error);
|
||||
setliste_sessions_file_change_api("false");
|
||||
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'importer le materiel ");
|
||||
setalert_type("error");
|
||||
|
@ -702,19 +706,19 @@ const Materiels = (props) => {
|
|||
|
||||
|
||||
if (p_one_detail_ref_interne.trim() == "") {
|
||||
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez saisir la référence interne du materiel");
|
||||
setalert_type("error");
|
||||
setalert_message(" Vous devez saisir la référence interne du materiel");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (p_one_detail_nom.trim() == "") {
|
||||
|
||||
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Vous devez saisir le nom du materiel");
|
||||
setalert_type("error");
|
||||
setalert_message(" Vous devez saisir le nom du materiel");
|
||||
setalert_type("error");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -823,8 +827,8 @@ const Materiels = (props) => {
|
|||
console.warn('UpdateStagiaireData : Not good man :( Add_One_Materiel_Data = ' + error);
|
||||
setAdd_One_Materiel_Data_api("false");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible d'ajouter le materiel");
|
||||
setalert_type("error");
|
||||
setalert_message(" Impossible d'ajouter le materiel");
|
||||
setalert_type("error");
|
||||
|
||||
|
||||
})
|
||||
|
@ -868,10 +872,10 @@ const Materiels = (props) => {
|
|||
console.warn('Not good man :( Getall_Training_Materiel_No_Salle_No_Filter = ', error);
|
||||
setGetall_Training_Materiel_No_Salle_No_Filter_api("false");
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(" Impossible de recuperer la liste du materiel");
|
||||
setalert_type("error");
|
||||
setalert_message(" Impossible de recuperer la liste du materiel");
|
||||
setalert_type("error");
|
||||
|
||||
|
||||
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -1264,7 +1268,7 @@ const Materiels = (props) => {
|
|||
|
||||
Getall_Materiel_Affectation(materiel_id);
|
||||
Getall_Materiel_Rattachement(materiel_id);
|
||||
|
||||
|
||||
if (document.getElementById('myRef')) {
|
||||
var divh = document.getElementById('myRef').offsetTop;
|
||||
window.scrollTo({
|
||||
|
@ -2897,7 +2901,7 @@ const Materiels = (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}
|
||||
|
@ -2941,7 +2945,7 @@ const Materiels = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
|
||||
>
|
||||
<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 className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_1_message}
|
||||
|
@ -3564,11 +3568,11 @@ const Materiels = (props) => {
|
|||
*/}
|
||||
|
||||
|
||||
<Button variant="outlined" onClick={submenu_add_one_materiel}
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && <Button variant="outlined" onClick={submenu_add_one_materiel}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Materiel
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
<br />
|
||||
{session_file_name && <nav><i>{session_file_name}</i></nav>}
|
||||
|
@ -3618,7 +3622,7 @@ const Materiels = (props) => {
|
|||
</div>
|
||||
<div className="div_row_droite_image">
|
||||
<input type="file" id="files_img_class" accept="image/*" onChange={imglogoclasschangeHandler} style={{ opacity: "0", zIndex: "-1", maxWidth: "5px", maxHeight: "0px" }} /><br />
|
||||
{<nav>
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && <nav>
|
||||
|
||||
<label for="files_img_class" className="bton_image_class">Charger une photo</label><br />
|
||||
|
||||
|
@ -3985,7 +3989,7 @@ const Materiels = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
{String(materiel_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && String(materiel_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Materiel_DetailFields}>Editer
|
||||
</Button>
|
||||
|
@ -4427,11 +4431,11 @@ const Materiels = (props) => {
|
|||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
<Button variant="outlined" onClick={add_one_affectation_block}
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && <Button variant="outlined" onClick={add_one_affectation_block}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_add_participant' name='menu_add_participant'>Ajout 1 affectation
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
<br />
|
||||
|
||||
|
@ -4734,7 +4738,7 @@ const Materiels = (props) => {
|
|||
</div>}
|
||||
|
||||
|
||||
{String(edite_affectation_form) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("materiel", "write")) === "1" && String(edite_affectation_form) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Detail_Affectation_Fields}>Editer
|
||||
</Button>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import React, { useRef, useState, useEffect } from "react";
|
||||
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
|
||||
|
@ -18,7 +18,7 @@ import moment from "moment";
|
|||
|
||||
import Box from '@mui/material/Box';
|
||||
|
||||
import { CiBoxList } from "react-icons/ci";
|
||||
import { CiBoxList } from "react-icons/ci";
|
||||
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
|
@ -82,7 +82,7 @@ const Module_Absence = (props) => {
|
|||
{ field: 'event_comment', headerName: 'Comment', flex: 1, hide: true, editable: false, },
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
@ -512,48 +512,50 @@ const Module_Absence = (props) => {
|
|||
|
||||
const handleEventClick = (arg) => {
|
||||
|
||||
if (String(selected_attendee_email).length < 2) {
|
||||
alert(" Vous devez choisir un stagiaire");
|
||||
return;
|
||||
}
|
||||
if (String(props.check_user_acces_right("stagiaire", "write")) === "1") {
|
||||
if (String(selected_attendee_email).length < 2) {
|
||||
alert(" Vous devez choisir un stagiaire");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
setp_detail_title(arg.event.title)
|
||||
setp_detail_start(arg.event.start)
|
||||
setp_detail_end(arg.event.end)
|
||||
setp_detail_event_id(arg.event.id);
|
||||
setp_detail_title(arg.event.title)
|
||||
setp_detail_start(arg.event.start)
|
||||
setp_detail_end(arg.event.end)
|
||||
setp_detail_event_id(arg.event.id);
|
||||
|
||||
if (arg.event.extendedProps.comment) {
|
||||
setp_detail_comment(arg.event.extendedProps.comment);
|
||||
}
|
||||
else
|
||||
setp_detail_comment("");
|
||||
if (arg.event.extendedProps.comment) {
|
||||
setp_detail_comment(arg.event.extendedProps.comment);
|
||||
}
|
||||
else
|
||||
setp_detail_comment("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.justified) {
|
||||
if (String(arg.event.extendedProps.justified) === "true")
|
||||
setp_detail_justified(true);
|
||||
if (arg.event.extendedProps.justified) {
|
||||
if (String(arg.event.extendedProps.justified) === "true")
|
||||
setp_detail_justified(true);
|
||||
|
||||
else
|
||||
setp_detail_justified(false);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
setp_detail_justified(false);
|
||||
|
||||
|
||||
|
||||
if (arg.event.extendedProps.type) {
|
||||
setp_detail_event_type(arg.event.extendedProps.type);
|
||||
}
|
||||
else
|
||||
setp_detail_event_type("");
|
||||
|
||||
|
||||
setStartDate(arg.event.start);
|
||||
setendDate(arg.event.end);
|
||||
setDialog_1_open(true);
|
||||
}
|
||||
else
|
||||
setp_detail_justified(false);
|
||||
|
||||
|
||||
|
||||
if (arg.event.extendedProps.type) {
|
||||
setp_detail_event_type(arg.event.extendedProps.type);
|
||||
}
|
||||
else
|
||||
setp_detail_event_type("");
|
||||
|
||||
|
||||
setStartDate(arg.event.start);
|
||||
setendDate(arg.event.end);
|
||||
setDialog_1_open(true);
|
||||
|
||||
}
|
||||
|
||||
|
@ -888,7 +890,7 @@ const Module_Absence = (props) => {
|
|||
setdisplay_view("list");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<div className="module_agenda">
|
||||
|
@ -904,7 +906,7 @@ const Module_Absence = (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 className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_1_message}
|
||||
|
@ -1100,14 +1102,14 @@ const Module_Absence = (props) => {
|
|||
|
||||
</Dialog>
|
||||
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Planning </h3>
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Planning </h3>
|
||||
|
||||
<div style={{ "textAlign": "right", "float": "right", "width": "100%" }}>
|
||||
Affichage : <nav className="mode_affichage" onClick={func_display_planning_view}> <FcPlanner /> planning </nav>
|
||||
<nav className="mode_affichage" onClick={func_display_list_view}> <CiBoxList /> Liste </nav>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{String(display_view) === "planning" && <div style={{ "width": "98%", "marginLeft": "5px" }}>
|
||||
|
||||
|
||||
|
|
|
@ -225,77 +225,79 @@ const Module_Session_Planification = (props) => {
|
|||
field: "modifier", headerName: 'Modifier', minWidth: 200, flex: 1,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Button
|
||||
|
||||
<Button
|
||||
onClick={(event) => {
|
||||
|
||||
onClick={(event) => {
|
||||
setsequence_gridline_id(cellValues.row.id);
|
||||
setdisplay_detail_sequence("");
|
||||
setp_detail_sequence_title(cellValues.row.sequence_title);
|
||||
setselected_sequence_id(cellValues.row._id);
|
||||
var date_du = new Date(moment(cellValues.row.sequence_start, "DD/MM/YYYY HH:mm"));
|
||||
var date_au = new Date(moment(cellValues.row.sequence_end, "DD/MM/YYYY HH:mm"));
|
||||
|
||||
setsequence_gridline_id(cellValues.row.id);
|
||||
setdisplay_detail_sequence("");
|
||||
setp_detail_sequence_title(cellValues.row.sequence_title);
|
||||
setselected_sequence_id(cellValues.row._id);
|
||||
var date_du = new Date(moment(cellValues.row.sequence_start, "DD/MM/YYYY HH:mm"));
|
||||
var date_au = new Date(moment(cellValues.row.sequence_end, "DD/MM/YYYY HH:mm"));
|
||||
setsequence_startDate(date_du);
|
||||
setsequence_endDate(date_au);
|
||||
|
||||
setsequence_startDate(date_du);
|
||||
setsequence_endDate(date_au);
|
||||
|
||||
setsubmenu_seq_dialog("dialog_detail");
|
||||
setsubmenu_seq_dialog("dialog_detail");
|
||||
|
||||
|
||||
setselectionModel_sequence([]);
|
||||
Getall_List_Sequence_Ressource(cellValues.row._id);
|
||||
setselectionModel_sequence([]);
|
||||
Getall_List_Sequence_Ressource(cellValues.row._id);
|
||||
|
||||
setp_detail_event_type(cellValues.row.type);
|
||||
setp_detail_event_type(cellValues.row.type);
|
||||
|
||||
setp_detail_sequence_agenda(cellValues.row.agenda);
|
||||
setp_detail_sequence_objectif(cellValues.row.objectif);
|
||||
setp_detail_sequence_comment(cellValues.row.commentaire);
|
||||
setp_detail_sequence_agenda(cellValues.row.agenda);
|
||||
setp_detail_sequence_objectif(cellValues.row.objectif);
|
||||
setp_detail_sequence_comment(cellValues.row.commentaire);
|
||||
|
||||
setp_detail_mode_animation(cellValues.row.mode_animation);
|
||||
setp_detail_mode_animation(cellValues.row.mode_animation);
|
||||
|
||||
setp_detail_sequence_groupe_apprenant_id(cellValues.row.grp_apprenant_id);
|
||||
setp_detail_sequence_groupe_apprenant_id(cellValues.row.grp_apprenant_id);
|
||||
|
||||
if (cellValues.row.ue_id) {
|
||||
if (cellValues.row.ue_id) {
|
||||
|
||||
setp_detail_sequence_ue_id(cellValues.row.ue_id);
|
||||
Get_List_Given_UE_Planif_lines(cellValues.row.ue_id);
|
||||
setp_detail_sequence_ue_id(cellValues.row.ue_id);
|
||||
Get_List_Given_UE_Planif_lines(cellValues.row.ue_id);
|
||||
|
||||
} else {
|
||||
} else {
|
||||
|
||||
setp_detail_sequence_ue_id("");
|
||||
//---
|
||||
var node = {
|
||||
"_id": "",
|
||||
"id": "",
|
||||
"label": "",
|
||||
"code": "",
|
||||
"titre": "",
|
||||
"volume_horaire": "",
|
||||
"in_use": "",
|
||||
};
|
||||
var new_data2 = [];
|
||||
new_data2.push(node);
|
||||
setNew_Get_List_Given_UE_Planif_lines_result(new_data2);
|
||||
setp_detail_sequence_ue_id("");
|
||||
//---
|
||||
var node = {
|
||||
"_id": "",
|
||||
"id": "",
|
||||
"label": "",
|
||||
"code": "",
|
||||
"titre": "",
|
||||
"volume_horaire": "",
|
||||
"in_use": "",
|
||||
};
|
||||
var new_data2 = [];
|
||||
new_data2.push(node);
|
||||
setNew_Get_List_Given_UE_Planif_lines_result(new_data2);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (cellValues.row.unite_enseignement_planif_id) {
|
||||
setp_detail_sequence_ue_planif_line_id(cellValues.row.unite_enseignement_planif_id);
|
||||
} else {
|
||||
setp_detail_sequence_ue_planif_line_id("");
|
||||
}
|
||||
if (cellValues.row.unite_enseignement_planif_id) {
|
||||
setp_detail_sequence_ue_planif_line_id(cellValues.row.unite_enseignement_planif_id);
|
||||
} else {
|
||||
setp_detail_sequence_ue_planif_line_id("");
|
||||
}
|
||||
|
||||
// console.log(" New_Get_List_Given_UE_Planif_lines_result", New_Get_List_Given_UE_Planif_lines_result);
|
||||
// console.log(" New_Get_List_Given_UE_Planif_lines_result", New_Get_List_Given_UE_Planif_lines_result);
|
||||
|
||||
|
||||
setupdate_sequence("1");
|
||||
submenu_update_sequence();
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
setupdate_sequence("1");
|
||||
submenu_update_sequence();
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
</>
|
||||
|
||||
);
|
||||
}
|
||||
|
@ -306,56 +308,58 @@ const Module_Session_Planification = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
onClick={(event) => {
|
||||
|
||||
}}
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la séquence sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
Delete_Sequence_Session_Data(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, la séquence sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
Delete_Sequence_Session_Data(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -404,57 +408,60 @@ const Module_Session_Planification = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" &&
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
onClick={(event) => {
|
||||
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la ressource sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Sequence_Session_Ressource_Data(cellValues.row._id);
|
||||
//console.log('cellValues.row = ', cellValues.row);
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la ressource sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Sequence_Session_Ressource_Data(cellValues.row._id);
|
||||
//console.log('cellValues.row = ', cellValues.row);
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -1964,10 +1971,8 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
const handleSelect_event_type_semaine = (info) => {
|
||||
|
||||
|
||||
setDialog_seq_CREATION_SEMAINE_TYPE_open(false);
|
||||
|
||||
|
||||
setp_detail_sequence_event_type_semaine_title("Nouvelle")
|
||||
setsequence_event_type_semaine_startDate(info.start)
|
||||
setsequence_event_type_semaine_endDate(info.end)
|
||||
|
@ -2253,123 +2258,125 @@ const Module_Session_Planification = (props) => {
|
|||
};
|
||||
|
||||
const handleEventClick = (arg) => {
|
||||
if (String(props.check_user_acces_right("session", "write")) === "1") {
|
||||
if (document.getElementById('myRef_seq_calendrier_01')) {
|
||||
var divh = document.getElementById('myRef_seq_calendrier_01').offsetTop;
|
||||
setposition_h_myRef_seq_calendrier_01(document.getElementById('myRef_seq_calendrier_01').offsetTop)
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
});
|
||||
|
||||
if (document.getElementById('myRef_seq_calendrier_01')) {
|
||||
var divh = document.getElementById('myRef_seq_calendrier_01').offsetTop;
|
||||
setposition_h_myRef_seq_calendrier_01(document.getElementById('myRef_seq_calendrier_01').offsetTop)
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
});
|
||||
|
||||
// console.log(" ### divh = ", divh)
|
||||
}
|
||||
// console.log(" ### divh = ", divh)
|
||||
}
|
||||
|
||||
|
||||
setp_detail_sequence_title(arg.event.title)
|
||||
setsequence_startDate(arg.event.start)
|
||||
setsequence_endDate(arg.event.end)
|
||||
setp_detail_event_id(arg.event.id);
|
||||
setsubmenu_seq_dialog("dialog_detail");
|
||||
setp_detail_sequence_title(arg.event.title)
|
||||
setsequence_startDate(arg.event.start)
|
||||
setsequence_endDate(arg.event.end)
|
||||
setp_detail_event_id(arg.event.id);
|
||||
setsubmenu_seq_dialog("dialog_detail");
|
||||
|
||||
setGetall_List_Sequence_Ressource_result([]);
|
||||
setselectionModel_sequence([]);
|
||||
setGetall_List_Sequence_Ressource_result([]);
|
||||
setselectionModel_sequence([]);
|
||||
|
||||
// console.log(" ### arg.event.extendedProps = ", arg.event.extendedProps);
|
||||
// console.log(" ### arg.event.extendedProps = ", arg.event.extendedProps);
|
||||
|
||||
//console.log(" ### arg.event.extendedProps.local_type = ", arg.event.extendedProps.local_type);
|
||||
//console.log(" ### arg.event.extendedProps.local_type = ", arg.event.extendedProps.local_type);
|
||||
|
||||
if (arg.event.extendedProps._id) {
|
||||
setselected_sequence_id(arg.event.extendedProps._id);
|
||||
Getall_List_Sequence_Ressource(arg.event.extendedProps._id);
|
||||
}
|
||||
else
|
||||
setselected_sequence_id("");
|
||||
if (arg.event.extendedProps._id) {
|
||||
setselected_sequence_id(arg.event.extendedProps._id);
|
||||
Getall_List_Sequence_Ressource(arg.event.extendedProps._id);
|
||||
}
|
||||
else
|
||||
setselected_sequence_id("");
|
||||
|
||||
if (arg.event.extendedProps.local_comment) {
|
||||
setp_detail_sequence_comment(arg.event.extendedProps.local_comment);
|
||||
}
|
||||
else
|
||||
setp_detail_sequence_comment("");
|
||||
if (arg.event.extendedProps.local_comment) {
|
||||
setp_detail_sequence_comment(arg.event.extendedProps.local_comment);
|
||||
}
|
||||
else
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_mode_animation) {
|
||||
setp_detail_mode_animation(arg.event.extendedProps.local_mode_animation);
|
||||
}
|
||||
else
|
||||
setp_detail_mode_animation("");
|
||||
if (arg.event.extendedProps.local_mode_animation) {
|
||||
setp_detail_mode_animation(arg.event.extendedProps.local_mode_animation);
|
||||
}
|
||||
else
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_type) {
|
||||
setp_detail_event_type(arg.event.extendedProps.local_type);
|
||||
}
|
||||
else
|
||||
setp_detail_event_type("");
|
||||
if (arg.event.extendedProps.local_type) {
|
||||
setp_detail_event_type(arg.event.extendedProps.local_type);
|
||||
}
|
||||
else
|
||||
setp_detail_event_type("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_ue_id) {
|
||||
setp_detail_sequence_ue_id(arg.event.extendedProps.local_ue_id);
|
||||
Get_List_Given_UE_Planif_lines(arg.event.extendedProps.local_ue_id);
|
||||
}
|
||||
else {
|
||||
setp_detail_sequence_ue_id("");
|
||||
//---
|
||||
var node = {
|
||||
"_id": "",
|
||||
"id": "",
|
||||
"label": "",
|
||||
"code": "",
|
||||
"titre": "",
|
||||
"volume_horaire": "",
|
||||
"in_use": "",
|
||||
if (arg.event.extendedProps.local_ue_id) {
|
||||
setp_detail_sequence_ue_id(arg.event.extendedProps.local_ue_id);
|
||||
Get_List_Given_UE_Planif_lines(arg.event.extendedProps.local_ue_id);
|
||||
}
|
||||
else {
|
||||
setp_detail_sequence_ue_id("");
|
||||
//---
|
||||
var node = {
|
||||
"_id": "",
|
||||
"id": "",
|
||||
"label": "",
|
||||
"code": "",
|
||||
"titre": "",
|
||||
"volume_horaire": "",
|
||||
"in_use": "",
|
||||
|
||||
|
||||
};
|
||||
var new_data2 = [];
|
||||
new_data2.push(node);
|
||||
setNew_Get_List_Given_UE_Planif_lines_result(new_data2);
|
||||
}
|
||||
};
|
||||
var new_data2 = [];
|
||||
new_data2.push(node);
|
||||
setNew_Get_List_Given_UE_Planif_lines_result(new_data2);
|
||||
}
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_grp_apprenant_id) {
|
||||
setp_detail_sequence_groupe_apprenant_id(arg.event.extendedProps.local_grp_apprenant_id);
|
||||
// console.log(" ## arg.event.extendedProps.local_grp_apprenant_id = ", arg.event.extendedProps.local_grp_apprenant_id)
|
||||
}
|
||||
else
|
||||
setp_detail_sequence_groupe_apprenant_id("");
|
||||
if (arg.event.extendedProps.local_grp_apprenant_id) {
|
||||
setp_detail_sequence_groupe_apprenant_id(arg.event.extendedProps.local_grp_apprenant_id);
|
||||
// console.log(" ## arg.event.extendedProps.local_grp_apprenant_id = ", arg.event.extendedProps.local_grp_apprenant_id)
|
||||
}
|
||||
else
|
||||
setp_detail_sequence_groupe_apprenant_id("");
|
||||
|
||||
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_objectif) {
|
||||
setp_detail_sequence_objectif(arg.event.extendedProps.local_objectif);
|
||||
}
|
||||
else
|
||||
setp_detail_sequence_objectif("");
|
||||
if (arg.event.extendedProps.local_objectif) {
|
||||
setp_detail_sequence_objectif(arg.event.extendedProps.local_objectif);
|
||||
}
|
||||
else
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
if (arg.event.extendedProps._id) {
|
||||
setp_detail_event_id(arg.event.extendedProps._id);
|
||||
}
|
||||
else
|
||||
setp_detail_event_id("");
|
||||
if (arg.event.extendedProps._id) {
|
||||
setp_detail_event_id(arg.event.extendedProps._id);
|
||||
}
|
||||
else
|
||||
setp_detail_event_id("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_agenda) {
|
||||
setp_detail_sequence_agenda(arg.event.extendedProps.local_agenda);
|
||||
}
|
||||
else
|
||||
setp_detail_sequence_agenda("");
|
||||
if (arg.event.extendedProps.local_agenda) {
|
||||
setp_detail_sequence_agenda(arg.event.extendedProps.local_agenda);
|
||||
}
|
||||
else
|
||||
setp_detail_sequence_agenda("");
|
||||
|
||||
if (arg.event.extendedProps.local_ue_planif_line_id) {
|
||||
setp_detail_sequence_ue_planif_line_id(arg.event.extendedProps.local_ue_planif_line_id);
|
||||
if (arg.event.extendedProps.local_ue_planif_line_id) {
|
||||
setp_detail_sequence_ue_planif_line_id(arg.event.extendedProps.local_ue_planif_line_id);
|
||||
|
||||
}
|
||||
else {
|
||||
setp_detail_sequence_ue_planif_line_id("");
|
||||
|
||||
}
|
||||
|
||||
setDialog_DIALOG_AGENDA_open(true);
|
||||
|
||||
}
|
||||
else {
|
||||
setp_detail_sequence_ue_planif_line_id("");
|
||||
|
||||
}
|
||||
|
||||
setDialog_DIALOG_AGENDA_open(true);
|
||||
|
||||
}
|
||||
|
||||
|
@ -2757,22 +2764,24 @@ const Module_Session_Planification = (props) => {
|
|||
const [selected_formulaire_id, setselected_formulaire_id] = useState();
|
||||
|
||||
const handleSelect = (info) => {
|
||||
setp_detail_sequence_title("Nouvelle")
|
||||
setsequence_startDate(info.start)
|
||||
setsequence_endDate(info.end)
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_event_id("");
|
||||
setselected_sequence_id("");
|
||||
setp_detail_sequence_objectif("");
|
||||
setp_detail_sequence_comment("");
|
||||
if (String(props.check_user_acces_right("session", "write")) === "1") {
|
||||
setp_detail_sequence_title("Nouvelle")
|
||||
setsequence_startDate(info.start)
|
||||
setsequence_endDate(info.end)
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_event_id("");
|
||||
setselected_sequence_id("");
|
||||
setp_detail_sequence_objectif("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setsubmenu_seq_dialog("dialog_detail");
|
||||
setsubmenu_seq_dialog("dialog_detail");
|
||||
|
||||
setGetall_List_Sequence_Ressource_result([]);
|
||||
setselectionModel_sequence([]);
|
||||
setDialog_DIALOG_AGENDA_open(true);
|
||||
setGetall_List_Sequence_Ressource_result([]);
|
||||
setselectionModel_sequence([]);
|
||||
setDialog_DIALOG_AGENDA_open(true);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
@ -3503,7 +3512,7 @@ const Module_Session_Planification = (props) => {
|
|||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
top: position_h_choix_planning,
|
||||
top: position_h_choix_planning,
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
|
@ -3789,7 +3798,7 @@ const Module_Session_Planification = (props) => {
|
|||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
top: position_h_myRef_seq_calendrier_01,
|
||||
top: position_h_myRef_seq_calendrier_01,
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
|
@ -4505,6 +4514,9 @@ const Module_Session_Planification = (props) => {
|
|||
if (value && value.value) {
|
||||
setDialog_seq_ressource_1_selected_type_ressource(value.value);
|
||||
|
||||
setsequence_startDate(selected_sequence_startDate);
|
||||
setsequence_endDate(selected_sequence_endDate);
|
||||
|
||||
} else {
|
||||
setDialog_seq_ressource_1_selected_type_ressource("");
|
||||
setGet_Ressource_Avabilities_avability_check("");
|
||||
|
@ -4534,6 +4546,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
onChange={(event, value) => {
|
||||
if (value && value._id) {
|
||||
|
||||
setDialog_seq_ressource_1_selected_ressource_id(value._id);
|
||||
|
||||
//console.log(" ### check_ressource_avabilities = ", check_ressource_avabilities)
|
||||
|
@ -5428,7 +5441,7 @@ const Module_Session_Planification = (props) => {
|
|||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
top: position_h_myRef_seq_calendrier_01,
|
||||
top: position_h_myRef_seq_calendrier_01,
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
|
@ -6315,7 +6328,8 @@ const Module_Session_Planification = (props) => {
|
|||
</Box>
|
||||
|
||||
|
||||
{selectionModel_sequence && selectionModel_sequence.length > 1 &&
|
||||
{selectionModel_sequence && selectionModel_sequence.length > 1 && String(props.origin) === "session" &&
|
||||
String(props.check_user_acces_right("session", "write")) === "1" &&
|
||||
<div className="block_en_mass">
|
||||
|
||||
<nav>Traitement en masse / Séquence</nav>
|
||||
|
@ -6630,73 +6644,75 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
</div>}
|
||||
|
||||
{!new_planification_lines || new_planification_lines.length <= 0 && <div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
{!new_planification_lines || new_planification_lines.length <= 0 && String(props.origin) === "session" &&
|
||||
String(props.check_user_acces_right("session", "write")) === "1" &&
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
<Button variant="outlined"
|
||||
className="detail_class_submenu bton_add_session bton_add_session_create_automatic" style={{ "width": "40%" }}
|
||||
id='menu_import_participant' name='menu_import_participant' onClick={(event) => {
|
||||
if (String(props.selected_session_invoiced_statut) === "1") {
|
||||
alert(" La session est en cours de facturation ")
|
||||
} else if (String(props.selected_session_invoiced_statut) === "2") {
|
||||
alert(" La session est déjà facturée ")
|
||||
} else {
|
||||
<Button variant="outlined"
|
||||
className="detail_class_submenu bton_add_session bton_add_session_create_automatic" style={{ "width": "40%" }}
|
||||
id='menu_import_participant' name='menu_import_participant' onClick={(event) => {
|
||||
if (String(props.selected_session_invoiced_statut) === "1") {
|
||||
alert(" La session est en cours de facturation ")
|
||||
} else if (String(props.selected_session_invoiced_statut) === "2") {
|
||||
alert(" La session est déjà facturée ")
|
||||
} else {
|
||||
|
||||
setDialog_seq_choix_model_emargement_open(true);
|
||||
setDialog_seq_planif_periode_type("");
|
||||
}
|
||||
setDialog_seq_choix_model_emargement_open(true);
|
||||
setDialog_seq_planif_periode_type("");
|
||||
}
|
||||
|
||||
}} > Planification automatique
|
||||
<FcMultipleSmartphones />
|
||||
</Button>
|
||||
}} > Planification automatique
|
||||
<FcMultipleSmartphones />
|
||||
</Button>
|
||||
|
||||
|
||||
|
||||
<Button variant="outlined"
|
||||
onClick={(event) => {
|
||||
if (String(props.selected_session_invoiced_statut) === "1") {
|
||||
alert(" La session est en cours de facturation ")
|
||||
} else if (String(props.selected_session_invoiced_statut) === "2") {
|
||||
alert(" La session est déjà facturée ")
|
||||
} else {
|
||||
|
||||
<Button variant="outlined"
|
||||
onClick={(event) => {
|
||||
if (String(props.selected_session_invoiced_statut) === "1") {
|
||||
alert(" La session est en cours de facturation ")
|
||||
} else if (String(props.selected_session_invoiced_statut) === "2") {
|
||||
alert(" La session est déjà facturée ")
|
||||
} else {
|
||||
|
||||
submenu_add_one_sequence()
|
||||
}
|
||||
submenu_add_one_sequence()
|
||||
}
|
||||
|
||||
}}
|
||||
}}
|
||||
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Séq.
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Séq.
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
|
||||
|
||||
{String(active_planif_modele) !== "1" && <Button variant="outlined"
|
||||
onClick={(event) => {
|
||||
setaction_modele_planning("");
|
||||
setactive_planif_modele("1");
|
||||
}}
|
||||
|
||||
{String(active_planif_modele) !== "1" && <Button variant="outlined"
|
||||
onClick={(event) => {
|
||||
setaction_modele_planning("");
|
||||
setactive_planif_modele("1");
|
||||
}}
|
||||
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Activer Modèle
|
||||
<FcTemplate style={{ "fontSize": "large", "color": "green" }} />
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Activer Modèle
|
||||
<FcTemplate style={{ "fontSize": "large", "color": "green" }} />
|
||||
|
||||
</Button>}
|
||||
</Button>}
|
||||
|
||||
{String(active_planif_modele) === "1" && <Button variant="outlined"
|
||||
onClick={(event) => {
|
||||
setaction_modele_planning("");
|
||||
setactive_planif_modele("");
|
||||
}}
|
||||
{String(active_planif_modele) === "1" && <Button variant="outlined"
|
||||
onClick={(event) => {
|
||||
setaction_modele_planning("");
|
||||
setactive_planif_modele("");
|
||||
}}
|
||||
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Désactiver Modèle
|
||||
<FcTemplate style={{ "fontSize": "large", "color": "green" }} />
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Désactiver Modèle
|
||||
<FcTemplate style={{ "fontSize": "large", "color": "green" }} />
|
||||
|
||||
</Button>}
|
||||
</Button>}
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
</div>}
|
||||
</div>}
|
||||
|
||||
{String(active_planif_modele) === "1" && <div style={{ "textAlign": "right", "float": "right", "width": "40%", "marginRight": '20px' }}>
|
||||
|
||||
|
@ -6747,7 +6763,7 @@ const Module_Session_Planification = (props) => {
|
|||
setDialog_RECORD_MODEL_PLANNING_open(true);
|
||||
}
|
||||
}}>
|
||||
<FcAcceptDatabase /> Traiter
|
||||
<FcAcceptDatabase /> Traiter
|
||||
|
||||
</Button>}
|
||||
|
||||
|
@ -6879,7 +6895,7 @@ const Module_Session_Planification = (props) => {
|
|||
</div>
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
<Button variant="outlined"
|
||||
{String(props.check_user_acces_right("session", "write")) === "1" && <Button variant="outlined"
|
||||
onClick={(event) => {
|
||||
if (String(props.selected_session_invoiced_statut) === "1") {
|
||||
alert(" La session est en cours de facturation ")
|
||||
|
@ -6896,7 +6912,7 @@ const Module_Session_Planification = (props) => {
|
|||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Ressource
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
<br />
|
||||
|
||||
|
|
|
@ -29,7 +29,6 @@ let PageSize = 10;
|
|||
const Mon_Catalogue_Public = (props) => {
|
||||
|
||||
|
||||
|
||||
const { type, categorie } = useParams();
|
||||
const { NewSearchText } = useParams();
|
||||
const [v11, setv11] = useState("");
|
||||
|
@ -919,22 +918,11 @@ const Mon_Catalogue_Public = (props) => {
|
|||
|
||||
var ip = "";
|
||||
|
||||
Get_Subdomain_Partner_Data(window.location.host)
|
||||
Get_Subdomain_Partner_Data(window.location.host);
|
||||
|
||||
|
||||
async function fetchData() {
|
||||
// const result = await axios('https://geolocation-db.com/json/',);
|
||||
|
||||
|
||||
|
||||
/* setuserIp("172.71.122.128");
|
||||
setcountry_code("FR");
|
||||
setcountry_name("France");
|
||||
setcity("Paris");
|
||||
setpostal("75001");
|
||||
setlatitude("48.861000061035156");
|
||||
setlongitude("2.3380000591278076");
|
||||
setIPv4("172.71.122.128");
|
||||
setstate("France");*/
|
||||
|
||||
|
||||
let windowWidth = window.innerWidth;
|
||||
|
||||
|
@ -953,71 +941,12 @@ const Mon_Catalogue_Public = (props) => {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if (categorie && String(categorie).length > 0) {
|
||||
|
||||
getClassByMetier_categorie(categorie);
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
DisplayXfirstClas(result.data);
|
||||
|
||||
}
|
||||
DisplayXfirstClas(result.data);
|
||||
}
|
||||
|
||||
|
||||
fetchData();
|
||||
async function loadSuggestedWord() {
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Suggested_Word/";
|
||||
//alert(" URL = "+process.env.REACT_APP_API_URL + "myclass/api/Get_Suggested_Word/");
|
||||
//console.log(" ### URL ##### = "+process.env.REACT_APP_API_URL + "myclass/api/Get_Suggested_Word/");
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
fetch(
|
||||
process.env.REACT_APP_API_URL + "myclass/api/Get_Suggested_Word/",
|
||||
{
|
||||
method: 'POST',
|
||||
|
||||
}
|
||||
).then((response) => response.json())
|
||||
.then((result) => {
|
||||
//console.log('Success:', result['message']);
|
||||
setsuggestedwords(result['message']);
|
||||
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Error:');
|
||||
});
|
||||
|
||||
}
|
||||
loadSuggestedWord();
|
||||
|
||||
async function loadSuggestedFrCities() {
|
||||
|
||||
fetch(
|
||||
process.env.REACT_APP_API_URL + "myclass/api/Get_Suggested_Fr_Cities/",
|
||||
{
|
||||
method: 'POST',
|
||||
|
||||
}
|
||||
).then((response) => response.json())
|
||||
.then((result) => {
|
||||
//console.log(' loadSuggestedFrCities CITIES = Success:', result['message']);
|
||||
setsuggestedcities(result['message']);
|
||||
//console.log(" CITIES = " + result['message']);
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Error:');
|
||||
});
|
||||
|
||||
}
|
||||
loadSuggestedFrCities();
|
||||
|
||||
|
||||
|
||||
async function loadDomainMetier() {
|
||||
|
||||
var form = new FormData();
|
||||
|
@ -1060,7 +989,7 @@ const Mon_Catalogue_Public = (props) => {
|
|||
});
|
||||
|
||||
}
|
||||
//loadDomainMetier();
|
||||
loadDomainMetier();
|
||||
|
||||
|
||||
async function loadDomain() {
|
||||
|
@ -1478,9 +1407,6 @@ const Mon_Catalogue_Public = (props) => {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var my_local_user_connect;
|
||||
var my_local_part_connect;
|
||||
|
||||
|
|
|
@ -9,18 +9,14 @@ import { useHistory } from "react-router-dom";
|
|||
|
||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
|
||||
import { FcViewDetails, FcDisapprove } from "react-icons/fc";
|
||||
|
||||
import { FcViewDetails, } from "react-icons/fc";
|
||||
import { FcInfo } from "react-icons/fc";
|
||||
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
|
||||
import fileDownload from 'js-file-download';
|
||||
import Popup from 'reactjs-popup';
|
||||
import 'reactjs-popup/dist/index.css';
|
||||
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint, FcCheckmark } from "react-icons/fc";
|
||||
import { FcCancel, FcApproval, FcAcceptDatabase, } from "react-icons/fc";
|
||||
import DatePicker from "react-datepicker";
|
||||
import "react-datepicker/dist/react-datepicker.css";
|
||||
import { format } from 'date-fns'
|
||||
|
@ -28,7 +24,6 @@ import moment from "moment";
|
|||
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';
|
||||
|
@ -48,7 +43,6 @@ import { gridClasses } from '@mui/x-data-grid';
|
|||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree } from "react-icons/pi";
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
import Rating from '@mui/material/Rating';
|
||||
import Module_Selection_Evaluation_Apprenants from "./Module_Selection_Evaluation_Apprenants";
|
||||
import AttachFileIcon from '@mui/icons-material/AttachFile';
|
||||
import { GoDuplicate } from "react-icons/go";
|
||||
|
@ -226,54 +220,55 @@ const Notes_Evaluation = (props) => {
|
|||
field: "dupliquer", headerName: 'Dupliquer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
>
|
||||
<GoDuplicate />
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<GoDuplicate />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'évaluation sera <i> duppliquée </i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
Duplicate_Evaluation_Data(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, l'évaluation sera <i> duppliquée </i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
Duplicate_Evaluation_Data(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
|
||||
</>
|
||||
|
||||
);
|
||||
}
|
||||
|
@ -303,54 +298,56 @@ const Notes_Evaluation = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'évaluation sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_evaluation(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, l'évaluation sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_evaluation(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -378,57 +375,59 @@ const Notes_Evaluation = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
<>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
onClick={(event) => {
|
||||
|
||||
}}
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la ressource sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Sequence_Session_Ressource_Data(cellValues.row._id);
|
||||
console.log('cellValues.row = ', cellValues.row);
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, la ressource sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Sequence_Session_Ressource_Data(cellValues.row._id);
|
||||
console.log('cellValues.row = ', cellValues.row);
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -506,7 +505,7 @@ const Notes_Evaluation = (props) => {
|
|||
{ field: 'prenom', headerName: 'prenom', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'email', headerName: 'email', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'groupe', headerName: 'groupe', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'note', headerName: 'Note', width: 200, editable: true, renderCell: (params) => <ExpandableCell_50_bg_hiligt {...params} />, align: "center", },
|
||||
{ field: 'note', headerName: 'Note', width: 200, editable:Boolean(props.check_user_acces_right("note_evaluation", "write")), renderCell: (params) => <ExpandableCell_50_bg_hiligt {...params} />, align: "center", },
|
||||
|
||||
{ field: 'convocation_send_date', headerName: 'Conv. Envoyé', width: 200, editable: false, renderCell: (params) => <ExpandableCell_50_bg_hiligt {...params} />, align: "center", },
|
||||
{ field: 'convocation_send_type', headerName: 'Conv. Par', width: 200, editable: false, renderCell: (params) => <ExpandableCell_50_bg_hiligt {...params} />, align: "center", },
|
||||
|
@ -516,60 +515,60 @@ const Notes_Evaluation = (props) => {
|
|||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
onClick={(event) => {
|
||||
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, l'inscrit sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
var tab = []
|
||||
tab.push(String(cellValues.row._id));
|
||||
Delete_List_Participant_From_Evaluation(tab);
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, l'inscrit sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
var tab = []
|
||||
tab.push(String(cellValues.row._id));
|
||||
Delete_List_Participant_From_Evaluation(tab);
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
);
|
||||
}
|
||||
|
@ -2353,8 +2352,8 @@ const Notes_Evaluation = (props) => {
|
|||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
// console.log(" In Record_Evaluation_Participants_Notes res.data.status = " + res.data.status);
|
||||
// console.log(" In Record_Evaluation_Participants_Notes res.data.message r_class = " + res.data.message);
|
||||
// console.log(" In Record_Evaluation_Participants_Notes res.data.status = " + res.data.status);
|
||||
// console.log(" In Record_Evaluation_Participants_Notes res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
|
@ -4344,7 +4343,7 @@ const Notes_Evaluation = (props) => {
|
|||
|
||||
onRowDoubleClick={(newSelectionModel) => {
|
||||
|
||||
Getall_Evaluation_Participant_List(newSelectionModel.row._id);
|
||||
Getall_Evaluation_Participant_List(newSelectionModel.row._id);
|
||||
|
||||
handleClick_edit_evaluation_From_Line(newSelectionModel.row.id);
|
||||
setselectionModel_evalutions_participant([]);
|
||||
|
@ -4399,14 +4398,14 @@ const Notes_Evaluation = (props) => {
|
|||
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
<Button variant="outlined" onClick={planifier_one_evaluation}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Planifier 1 Eval
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -4416,7 +4415,7 @@ const Notes_Evaluation = (props) => {
|
|||
<Button variant="outlined" onClick={submenu_detail} className="detail_class_submenu" id='detail_evaluation' name='detail_evaluation'>Détail Evaluation</Button>
|
||||
<Button variant="outlined" onClick={submenu_apprenant} className="detail_class_submenu" id='apprenant' name='apprenant'>Apprenants & Groupes</Button>
|
||||
<Button variant="outlined" onClick={submenu_ressources} className="detail_class_submenu" id='ressources' name='ressources'>Ressources </Button>
|
||||
<Button variant="outlined" onClick={submenu_selection} className="detail_class_submenu" id='selection' name='selection'>Selection </Button>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <Button variant="outlined" onClick={submenu_selection} className="detail_class_submenu" id='selection' name='selection'>Selection </Button>}
|
||||
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='piece_jointe'>Pièces Jointes </Button>
|
||||
|
||||
</div>}
|
||||
|
@ -5164,13 +5163,13 @@ const Notes_Evaluation = (props) => {
|
|||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
</div>
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <div className="div_row" style={{ "border": "None" }}>
|
||||
{String(evaluation_data_changed) === "1" && String(evaluation_data_edit_mode) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
/!\ Pensez à enregistrer les modifications
|
||||
</div>}
|
||||
|
||||
|
||||
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
|
||||
{String(evaluation_data_changed) === "1" && String(evaluation_data_edit_mode) === "1" && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
|
||||
|
@ -5183,10 +5182,10 @@ const Notes_Evaluation = (props) => {
|
|||
<Button variant="contained" className="bton_annule" onClick={Annule_Evaluaton_DetailFields}>Annuler
|
||||
</Button>
|
||||
</div>}
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
{String(evaluation_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && String(evaluation_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Evaluation_DetailFields}>Editer
|
||||
</Button>
|
||||
|
@ -5196,7 +5195,7 @@ const Notes_Evaluation = (props) => {
|
|||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
</div>}
|
||||
|
||||
|
@ -5679,9 +5678,9 @@ const Notes_Evaluation = (props) => {
|
|||
|
||||
<div style={{ "border": "None" }}>
|
||||
|
||||
<nav style={{ "border": "None", "fontSize": "20px", "paddingTop": "5px", "paddingLeft": "5px", fontFamily: 'DM Sans' }}> Liste des apprenants ou Groupes d'apprenants </nav>
|
||||
<nav style={{ "border": "None", "fontSize": "20px", "paddingTop": "5px", "paddingLeft": "5px", fontFamily: 'DM Sans' }}> Liste des apprenants ou groupes d'apprenants </nav>
|
||||
|
||||
<div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
|
||||
<Button className="bton_emarge" onClick={(event) => {
|
||||
Getall_Evaluation_Participant_List(selected_id);
|
||||
|
||||
|
@ -5693,7 +5692,7 @@ const Notes_Evaluation = (props) => {
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
<div style={{ height: 650, width: '100%', paddingRight: '5px' }}>
|
||||
|
||||
|
||||
|
@ -5838,7 +5837,7 @@ const Notes_Evaluation = (props) => {
|
|||
|
||||
/>
|
||||
</Box>
|
||||
{selectionModel_evalutions_participant && selectionModel_evalutions_participant.length >= 1 &&
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && selectionModel_evalutions_participant && selectionModel_evalutions_participant.length >= 1 &&
|
||||
<div className="div_row" style={{ "border": "none", "marginLeft": "10px" }}>
|
||||
<div className="block_en_mass">
|
||||
<nav className='traitement_mass'>Traitement en masse</nav>
|
||||
|
@ -5874,7 +5873,7 @@ const Notes_Evaluation = (props) => {
|
|||
|
||||
|
||||
|
||||
{actionmass_eval_inscr_val && String(actionmass_eval_inscr_val).length > 1 && <nav className='block_en_mass_bton_action'>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && actionmass_eval_inscr_val && String(actionmass_eval_inscr_val).length > 1 && <nav className='block_en_mass_bton_action'>
|
||||
<Popup
|
||||
trigger={<Button className="bton_enreg" style={{ "width": "90%" }}>
|
||||
<FcAcceptDatabase /> Traiter
|
||||
|
@ -5937,12 +5936,12 @@ const Notes_Evaluation = (props) => {
|
|||
<br />
|
||||
</div>
|
||||
|
||||
{String(noted_changed) === "1" && <div className="div_row">
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && String(noted_changed) === "1" && <div className="div_row">
|
||||
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div>
|
||||
</div>}
|
||||
|
||||
|
||||
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||
|
||||
<Popup
|
||||
|
@ -6000,7 +5999,7 @@ const Notes_Evaluation = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
<div className="div_row"> </div>
|
||||
|
||||
|
@ -6083,11 +6082,11 @@ const Notes_Evaluation = (props) => {
|
|||
</div>
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
<Button variant="outlined" onClick={submenu_add_one_Ressource}
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <Button variant="outlined" onClick={submenu_add_one_Ressource}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Ressource
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
</Button>
|
||||
</Button>}
|
||||
|
||||
<br />
|
||||
|
||||
|
@ -6110,7 +6109,7 @@ const Notes_Evaluation = (props) => {
|
|||
<div className="div_row session_data">
|
||||
<div className="div_row" style={{ "padding": "5px", 'paddingTop': '15px' }}>
|
||||
|
||||
<div style={{ "fontSize": "12px" }}>
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <div style={{ "fontSize": "12px" }}>
|
||||
<label htmlFor="upload-photo">
|
||||
<input
|
||||
style={{ display: "none" }}
|
||||
|
@ -6131,7 +6130,8 @@ const Notes_Evaluation = (props) => {
|
|||
</Fab>
|
||||
|
||||
</label>
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
{file_1_name && file_1_name.name &&
|
||||
<nav style={{ "fontSize": "12px" }}>
|
||||
<div className="session_caract">Nom du fichier <br />
|
||||
|
@ -6190,7 +6190,7 @@ const Notes_Evaluation = (props) => {
|
|||
name={(JSON.parse(val).file_name)}
|
||||
id={(JSON.parse(val).file_name)} onClick={Download_one_attached_document}> Télécharger </font></nav>
|
||||
|
||||
<Popup
|
||||
{String(props.check_user_acces_right("note_evaluation", "write")) === "1" && <Popup
|
||||
trigger={
|
||||
<nav style={{ "color": "red", "cursor": "pointer" }} > Supprimer</nav>
|
||||
|
||||
|
@ -6238,7 +6238,7 @@ const Notes_Evaluation = (props) => {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
</Popup>}
|
||||
|
||||
</div>
|
||||
))}
|
||||
|
|
|
@ -1025,7 +1025,7 @@ const Partner = (props) => {
|
|||
document.body.style.backgroundColor = "#ffffff";
|
||||
inactive_active_menu_header("my_apprenant");
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des stagiaires");
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion des apprenants");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2141,14 +2141,17 @@ const Partner = (props) => {
|
|||
<Sidebar className="my_sidebar">
|
||||
<Menu className="my_menu">
|
||||
<SubMenu label="Espace E-Learning" className="my_chart" id="my_e_learning" name="my_e_learning" icon={<CameraOutdoorSharpIcon color={"quatro"} />} style={{ overflow: 'hidden' }}>
|
||||
|
||||
|
||||
|
||||
{String(has_partner_lms_url) === "1" && <MenuItem onClick={(e) => {
|
||||
e.preventDefault();
|
||||
window.open(
|
||||
partner_lms_url,
|
||||
'_blank'
|
||||
);
|
||||
if (String(check_user_acces_right("lms", "write")) === "1") {
|
||||
e.preventDefault();
|
||||
window.open(
|
||||
partner_lms_url,
|
||||
'_blank'
|
||||
);
|
||||
} else {
|
||||
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour accéder à la gestion du E-Learning");
|
||||
}
|
||||
}} className="sousmenu" icon={<FcVideoCall className="icone_menu" />}> MON HEBERGEMENT </MenuItem>}
|
||||
|
||||
|
||||
|
@ -2351,7 +2354,8 @@ const Partner = (props) => {
|
|||
<div className="div_droite">
|
||||
|
||||
<Notes_Evaluation ispending={partnerstatus} currentpack={partnerPackService} conntected_employee_id={conntected_employee_id}
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale} />
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -2372,7 +2376,8 @@ const Partner = (props) => {
|
|||
<div className="div_droite">
|
||||
|
||||
<Groupe_Apprenant ispending={partnerstatus} currentpack={partnerPackService} conntected_employee_id={conntected_employee_id}
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale} />
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -2522,7 +2527,9 @@ const Partner = (props) => {
|
|||
|
||||
{String(menu) === "setuplms" &&
|
||||
<div className="div_droite">
|
||||
<HebergementLms conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("lms", "read")} write_access={check_user_acces_right("lms", "write")} />
|
||||
<HebergementLms conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("lms", "read")}
|
||||
write_access={check_user_acces_right("lms", "write")}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -3168,7 +3175,8 @@ const Partner = (props) => {
|
|||
<div className="div_droite div_droite_ralonge">
|
||||
|
||||
<Partner_Config_Ftion_Initiale ispending={partnerstatus} currentpack={partnerPackService} conntected_employee_id={conntected_employee_id}
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale} />
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -3176,7 +3184,8 @@ const Partner = (props) => {
|
|||
<div className="div_droite div_droite_ralonge">
|
||||
|
||||
<Notes_Evaluation ispending={partnerstatus} currentpack={partnerPackService} conntected_employee_id={conntected_employee_id}
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale} />
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -3197,7 +3206,8 @@ const Partner = (props) => {
|
|||
<div className="div_droite div_droite_ralonge">
|
||||
|
||||
<Groupe_Apprenant ispending={partnerstatus} currentpack={partnerPackService} conntected_employee_id={conntected_employee_id}
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale} />
|
||||
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -3346,7 +3356,10 @@ const Partner = (props) => {
|
|||
|
||||
{String(menu) === "setuplms" &&
|
||||
<div className="div_droite div_droite_ralonge">
|
||||
<HebergementLms conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("lms", "read")} write_access={check_user_acces_right("lms", "write")} />
|
||||
<HebergementLms conntected_employee_id={conntected_employee_id}
|
||||
read_access={check_user_acces_right("lms", "read")}
|
||||
write_access={check_user_acces_right("lms", "write")}
|
||||
check_user_acces_right={check_user_acces_right} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ import React, { useRef, useState, useEffect } from "react";
|
|||
import axios from "axios";
|
||||
|
||||
import Button from '@mui/material/Button';
|
||||
import SendIcon from '@mui/icons-material/Send';
|
||||
|
||||
import { getCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
|
@ -17,7 +17,7 @@ import DialogTitle from '@mui/material/DialogTitle';
|
|||
import excel_icone from "../mysy_img/excel_icone.png";
|
||||
import participants from "../mysy_img/participants.png";
|
||||
import Box from '@mui/material/Box';
|
||||
import Footer from "./Fotter";
|
||||
|
||||
|
||||
import { DataGrid, GridToolbar, frFR, GridCellParams } from '@mui/x-data-grid';
|
||||
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint, FcDeleteDatabase } from "react-icons/fc";
|
||||
|
@ -26,12 +26,11 @@ import 'react-tooltip/dist/react-tooltip.css'
|
|||
import { Tooltip } from 'react-tooltip'
|
||||
|
||||
import AddParnerClient from "./AddPartnerClient";
|
||||
//import { FcHome} from "react-icons/fc";
|
||||
import { alpha } from '@mui/material/styles';
|
||||
|
||||
import { gridClasses } from '@mui/x-data-grid';
|
||||
import { AiOutlineUserAdd } from "react-icons/ai";
|
||||
|
||||
import TextField from '@mui/material/TextField';
|
||||
import MenuItem from '@mui/material/MenuItem';
|
||||
|
||||
import InputAdornment from '@mui/material/InputAdornment';
|
||||
import { AiFillCloseCircle } from "react-icons/ai";
|
||||
import { CiTrash } from "react-icons/ci";
|
||||
|
@ -205,60 +204,60 @@ const Partner_Client = (props) => {
|
|||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, le client sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
Avant, assurez-vous de n'avoir aucun stagiaire, un devis ou commande rattaché au client.
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_supprimer(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, le client sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
Avant, assurez-vous de n'avoir aucun stagiaire, un devis ou commande rattaché au client.
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_supprimer(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
)}
|
||||
</Popup>}
|
||||
|
||||
</>
|
||||
|
||||
);
|
||||
}
|
||||
|
@ -768,7 +767,7 @@ const Partner_Client = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">client</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title">client</DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
|
||||
<div className="div_row_dialog">
|
||||
|
@ -907,7 +906,7 @@ const Partner_Client = (props) => {
|
|||
<div className="div_row">
|
||||
|
||||
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes clients & Organismes Financeurs</h3>
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Clients & Organismes Financeurs</h3>
|
||||
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div>
|
||||
|
@ -1228,7 +1227,7 @@ const Partner_Client = (props) => {
|
|||
|
||||
|
||||
|
||||
<div className="div_row" ref={myRef_detail_client}>
|
||||
{String(props.check_user_acces_right("client", "write")) === "1" && <div className="div_row" ref={myRef_detail_client}>
|
||||
|
||||
<Button variant="outlined" onClick={submenu_import_part_client_mass} className="detail_class_submenu bton_import_excel"
|
||||
id='menu_import_participant' name='menu_import_participant'>Choisir un fichier et Importer
|
||||
|
@ -1258,7 +1257,7 @@ const Partner_Client = (props) => {
|
|||
onChange={liste_part_client_file_change}
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -1268,7 +1267,7 @@ const Partner_Client = (props) => {
|
|||
<div className="titre1"> Detail client / Financeur : {Client_email}</div>
|
||||
|
||||
<AddParnerClient client_mail={Client_email} close_detail_client={close_detail_client} father_scroll_to_top={father_scroll_to_top}
|
||||
client_id={selected_id} />
|
||||
client_id={selected_id} check_user_acces_right={props.check_user_acces_right} />
|
||||
|
||||
</div>}
|
||||
|
||||
|
@ -1277,7 +1276,8 @@ const Partner_Client = (props) => {
|
|||
<div className="titre1"> Detail client / Financeur : {Client_email}</div>
|
||||
<div ref={myRef_add_client}> </div>
|
||||
<AddParnerClient client_mail={Client_email} close_detail_client={close_detail_client} new_customer="1" client_id={selected_id}
|
||||
Get_List_Partner_Clients={Get_List_Partner_Clients} father_scroll_to_top={father_scroll_to_top} />
|
||||
Get_List_Partner_Clients={Get_List_Partner_Clients} father_scroll_to_top={father_scroll_to_top}
|
||||
check_user_acces_right={props.check_user_acces_right} />
|
||||
|
||||
</div>}
|
||||
|
||||
|
|
|
@ -4,16 +4,16 @@ 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 { getCookie, } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
|
||||
import { Fab } from "@material-ui/core";
|
||||
import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
||||
import { IoMdAddCircle, } from "react-icons/io";
|
||||
|
||||
import { FcViewDetails, FcDisapprove } from "react-icons/fc";
|
||||
import { FcViewDetails, } from "react-icons/fc";
|
||||
import 'react-tooltip/dist/react-tooltip.css';
|
||||
import { Tooltip } from 'react-tooltip';
|
||||
|
||||
|
@ -41,18 +41,12 @@ import Module_Historique_Action from "./Module_Historique_Action";
|
|||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import { Global } from "recharts";
|
||||
import { FcAddDatabase } from "react-icons/fc";
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
import { IoAddCircleOutline } from "react-icons/io5";
|
||||
import ToggleSwitch from "./ToggleSwitch";
|
||||
import ToggleSwitch_v2_mysy from "./ToggleSwitch_v2_mysy";
|
||||
import { FcInfo } from "react-icons/fc";
|
||||
|
||||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree, PiHeartStraightBreakLight } from "react-icons/pi";
|
||||
|
||||
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
|
||||
import ChevronRightIcon from '@mui/icons-material/ChevronRight';
|
||||
import { TreeView } from '@mui/x-tree-view/TreeView';
|
||||
import { TreeItem } from '@mui/x-tree-view/TreeItem';
|
||||
import { PiDotsThree, } from "react-icons/pi";
|
||||
|
||||
import { makeStyles } from "@material-ui/core/styles";
|
||||
import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
|
||||
|
@ -66,8 +60,7 @@ import {
|
|||
GridToolbarFilterButton, GridToolbarDensitySelector, GridToolbarExportContainer, useGridApiContext,
|
||||
gridFilteredSortedRowIdsSelector,
|
||||
gridVisibleColumnFieldsSelector,
|
||||
GridValueGetterParams,
|
||||
GridPreferencePanelsValue,
|
||||
|
||||
|
||||
} from '@mui/x-data-grid';
|
||||
import * as XLSX from 'xlsx';
|
||||
|
@ -210,58 +203,58 @@ const Partner_Commande = (props) => {
|
|||
field: "delete", headerName: 'Supprimer', disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, le document sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, le document sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
);
|
||||
}
|
||||
|
@ -452,57 +445,59 @@ const Partner_Commande = (props) => {
|
|||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" &&
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la ligne sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_Order_line(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la ligne sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_Order_line(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -1032,7 +1027,7 @@ const Partner_Commande = (props) => {
|
|||
l'_id du client*/
|
||||
|
||||
Getall_Parter_Orders_With_Filter_On_Client_Id(orderid);
|
||||
console.log(" ~### 222 mes facture props action, orderid = ", action, orderid);
|
||||
// console.log(" ~### 222 mes facture props action, orderid = ", action, orderid);
|
||||
|
||||
} else {
|
||||
Getall_Parter_Orders_No_Filter();
|
||||
|
@ -5421,7 +5416,7 @@ const Partner_Commande = (props) => {
|
|||
|
||||
<div className="div_row" style={{ "padding": "5px" }}>
|
||||
|
||||
<div style={{ "fontSize": "12px" }}>
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && <div style={{ "fontSize": "12px" }}>
|
||||
<label htmlFor="upload_convention_file">
|
||||
<input
|
||||
style={{ display: "none" }}
|
||||
|
@ -5442,7 +5437,7 @@ const Partner_Commande = (props) => {
|
|||
</Fab>
|
||||
|
||||
</label>
|
||||
</div>
|
||||
</div>}
|
||||
|
||||
|
||||
</div>
|
||||
|
@ -6940,7 +6935,7 @@ const Partner_Commande = (props) => {
|
|||
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && <div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
{/*<Button variant="outlined" onClick={submenu_import_order} className="detail_class_submenu bton_import_excel"
|
||||
id='menu_import_participant' name='menu_import_participant'>Importer des commande / devis Excel
|
||||
|
@ -6962,7 +6957,7 @@ const Partner_Commande = (props) => {
|
|||
</Button>
|
||||
|
||||
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
<div className="div_row" ref={myRef} id="myRef"> </div>
|
||||
|
||||
|
@ -8114,16 +8109,16 @@ const Partner_Commande = (props) => {
|
|||
</div>
|
||||
<div style={{ "width": "23%", "float": "left", "textAlign": "right", "paddingTop": "2rem" }}>
|
||||
|
||||
{String(p_detail_header_statut_label).toLowerCase() === "brouillon" &&
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() === "brouillon" &&
|
||||
String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <Button variant="outlined" onClick={Confirm_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Confirmer</Button>
|
||||
}
|
||||
|
||||
{String(p_detail_header_statut_label).toLowerCase() === "en cours" &&
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() === "en cours" &&
|
||||
String(p_detail_header_type).toLowerCase() === "commande" && <Button variant="outlined" onClick={Make_Order_Ready_To_Invoice} className="detail_class_submenu bton_add_sous_menu_cmd_gauche bton_put_to_invoice" > Prêt pour Facturation </Button>
|
||||
}
|
||||
|
||||
|
||||
{String(selected_order_header_type) === "commande" &&
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "commande" &&
|
||||
String(p_detail_header_statut_label).toLowerCase() === "traité" &&
|
||||
<Popup
|
||||
trigger={
|
||||
|
@ -8172,7 +8167,7 @@ const Partner_Commande = (props) => {
|
|||
}
|
||||
|
||||
|
||||
{String(selected_order_header_type) === "devis" &&
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" &&
|
||||
(String(p_detail_header_statut_label).toLowerCase().trim() === "en cours" || String(p_detail_header_statut_label).toLowerCase().trim() === "gagné") &&
|
||||
String(p_detail_header_order_header_ref_interne) === "" &&
|
||||
<Button variant="outlined" onClick={Convert_Quotation_To_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Convertir en Cmd </Button>
|
||||
|
@ -8191,7 +8186,7 @@ const Partner_Commande = (props) => {
|
|||
}
|
||||
|
||||
|
||||
{String(selected_order_header_type) === "devis" && String(p_detail_header_statut_label).toLowerCase() === "en cours" &&
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && String(p_detail_header_statut_label).toLowerCase() === "en cours" &&
|
||||
<Popup
|
||||
trigger={
|
||||
<Button variant="outlined" className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Valider et Reserver </Button>
|
||||
|
@ -8240,10 +8235,10 @@ const Partner_Commande = (props) => {
|
|||
|
||||
}
|
||||
|
||||
{String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <Button variant="outlined" onClick={Cancel_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Annuler </Button>}
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <Button variant="outlined" onClick={Cancel_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Annuler </Button>}
|
||||
|
||||
|
||||
{String(p_detail_header_statut_label).toLowerCase() !== "traité" &&
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "traité" &&
|
||||
String(p_detail_header_statut_label).toLowerCase() !== "facturé" &&
|
||||
<Popup
|
||||
trigger={<Button variant="outlined" className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Supprimer </Button>}
|
||||
|
@ -8305,8 +8300,8 @@ const Partner_Commande = (props) => {
|
|||
<Button variant="outlined" onClick={Compute_Order_Header_Price} className="detail_class_submenu bton_add_sous_menu_cmd_gauche" id='order_header_main' name='order_header_main'>Mettre a jour prix</Button>}
|
||||
|
||||
|
||||
{String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && <Button variant="outlined" onClick={print_order_pdf} className="detail_class_submenu bton_add_sous_menu_cmd_gauche" id='order_header_main' name='order_header_main'>Imprimer pdf</Button>}
|
||||
{String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && <Button variant="outlined" onClick={Check_Electronic_Sign_Before_Sending_Email} className="detail_class_submenu bton_add_sous_menu_cmd_gauche" id='order_header_main' name='order_header_main'>envoyer par mail</Button>}
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && <Button variant="outlined" onClick={print_order_pdf} className="detail_class_submenu bton_add_sous_menu_cmd_gauche" id='order_header_main' name='order_header_main'>Imprimer pdf</Button>}
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && <Button variant="outlined" onClick={Check_Electronic_Sign_Before_Sending_Email} className="detail_class_submenu bton_add_sous_menu_cmd_gauche" id='order_header_main' name='order_header_main'>envoyer par mail</Button>}
|
||||
|
||||
<br /> <br />
|
||||
|
||||
|
@ -8347,7 +8342,7 @@ const Partner_Commande = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
{String(order_data_edit_mode) !== "1" && String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && String(order_data_edit_mode) !== "1" && String(p_detail_header_statut_label).toLowerCase() !== "facturé" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Order_Header_DetailFields}>Editer
|
||||
</Button>
|
||||
|
@ -8362,11 +8357,11 @@ const Partner_Commande = (props) => {
|
|||
<div className="session_data" >
|
||||
|
||||
<div style={{ "border": "None" }}>
|
||||
<nav onClick={Ajouter_une_ligne_article} style={{ "fontSize": "18px", "fontWeight": '600', "marginLeft": "10px", "marginTop": "10px", "cursor": "pointer" }}
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && <nav onClick={Ajouter_une_ligne_article} style={{ "fontSize": "18px", "fontWeight": '600', "marginLeft": "10px", "marginTop": "10px", "cursor": "pointer" }}
|
||||
className="bton_add_line"> <Button> Ajouter 1 article
|
||||
<FcAddDatabase style={{ "fontSize": "medium" }} />
|
||||
</Button>
|
||||
</nav>
|
||||
</nav>}
|
||||
|
||||
<div style={{ height: 550, width: '100%', paddingRight: '1px' }}>
|
||||
|
||||
|
@ -8502,7 +8497,7 @@ const Partner_Commande = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
{String(order_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
{String(props.check_user_acces_right("commande", "write")) === "1" && String(order_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
|
||||
<Button variant="contained" className="bton_edit" onClick={Enable_Order_Header_DetailFields}>Editer
|
||||
</Button>
|
||||
|
|
|
@ -5,29 +5,27 @@ import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
|||
import Button from '@mui/material/Button';
|
||||
import axios from "axios";
|
||||
import { useParams } from 'react-router-dom';
|
||||
import { getCookie, setCookie } from 'react-use-cookie';
|
||||
import { getCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
import CheckOut from "./CheckOut";
|
||||
|
||||
import {
|
||||
DataGrid, frFR, GridToolbar,
|
||||
|
||||
} from '@mui/x-data-grid';
|
||||
import * as XLSX from 'xlsx';
|
||||
import { Fab } from "@material-ui/core";
|
||||
import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
||||
import { IoMdAddCircle } from "react-icons/io";
|
||||
|
||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
|
||||
import { FcViewDetails, FcDisapprove, FcInfo } from "react-icons/fc";
|
||||
import { FcViewDetails, FcInfo } from "react-icons/fc";
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
import add_plus from "../mysy_img/plus.png";
|
||||
import excel_icone from "../mysy_img/excel_icone.png";
|
||||
import participants from "../mysy_img/participants.png";
|
||||
|
||||
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 DatePicker from "react-datepicker";
|
||||
import "react-datepicker/dist/react-datepicker.css";
|
||||
import { format } from 'date-fns'
|
||||
|
@ -35,13 +33,12 @@ import moment from "moment";
|
|||
import InputAdornment from '@mui/material/InputAdornment';
|
||||
import { AiFillCloseCircle } from "react-icons/ai";
|
||||
import Box from '@mui/material/Box';
|
||||
import { Typography, LinearProgress, sliderClasses } from '@mui/material';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import { CiTrash } from "react-icons/ci";
|
||||
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
|
||||
import Autocomplete from '@mui/material/Autocomplete';
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
import { IoAddCircleOutline } from "react-icons/io5";
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import DialogContent from '@mui/material/DialogContent';
|
||||
|
@ -55,17 +52,16 @@ import {
|
|||
GridToolbarFilterButton, GridToolbarDensitySelector, GridToolbarExportContainer, useGridApiContext,
|
||||
gridFilteredSortedRowIdsSelector,
|
||||
gridVisibleColumnFieldsSelector,
|
||||
GridValueGetterParams,
|
||||
GridPreferencePanelsValue,
|
||||
|
||||
|
||||
} from '@mui/x-data-grid';
|
||||
|
||||
//import { utils, writeFileXLSX } from "xlsx";
|
||||
import { ContextMenu, ContextMenuTrigger } from "react-contextmenu";
|
||||
import zIndex from "@material-ui/core/styles/zIndex";
|
||||
import { ContextMenu } from "react-contextmenu";
|
||||
|
||||
import { FcOpenedFolder } from "react-icons/fc";
|
||||
import Module_Historique_Action from "./Module_Historique_Action";
|
||||
import { GridExportCsvOptions } from '@mui/x-data-grid';
|
||||
|
||||
|
||||
import { makeStyles } from "@material-ui/core/styles";
|
||||
import Paper from '@material-ui/core/Paper';
|
||||
|
@ -185,89 +181,6 @@ const Partner_Facture = (props) => {
|
|||
{ field: 'reste_to_paye', headerName: 'A payer', width: 150, hide: false, editable: false },
|
||||
{ field: 'credit_note_ref', headerName: 'Ref. Avoir', width: 150, hide: true, editable: false, },
|
||||
|
||||
|
||||
|
||||
|
||||
/* {
|
||||
field: "Detail", headerName: 'Voir detail',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Button
|
||||
|
||||
onClick={(event) => {
|
||||
Display_Detail_Employe(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
|
||||
</Button>
|
||||
|
||||
);
|
||||
}
|
||||
},*/
|
||||
{/*
|
||||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, le document sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
//handleClick_delete(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
|
||||
);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
@ -338,67 +251,7 @@ const Partner_Facture = (props) => {
|
|||
);
|
||||
}
|
||||
},
|
||||
{/*
|
||||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
// handleClick_delete(event, cellValues);
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la ligne sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
//handleClick_delete_Order_line(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
|
||||
);
|
||||
}
|
||||
*/
|
||||
},
|
||||
{ field: 'order_line_comment', headerName: 'Commentaire', width: 150, hide: true, editable: false, },
|
||||
|
||||
]
|
||||
|
@ -416,53 +269,54 @@ const Partner_Facture = (props) => {
|
|||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<>
|
||||
{String(props.check_user_acces_right("facture_client", "write")) === "1" && <Popup
|
||||
trigger={<Button
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
<CiTrash />
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, le paiement sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_Paiement(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
En confirmant cette opération, le paiement sera <i><font color="red"> définitivement supprimé</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
handleClick_delete_Paiement(event, cellValues);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
)}
|
||||
</Popup>}
|
||||
</>
|
||||
|
||||
|
||||
);
|
||||
|
@ -2843,7 +2697,7 @@ const Partner_Facture = (props) => {
|
|||
className="partner_commande"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title"> Détail ligne Facture <font style={{ fontWeight: "700" }}> {String(invoice_internal_ref)} </font> </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> Détail ligne Facture <font style={{ fontWeight: "700" }}> {String(invoice_internal_ref)} </font> </DialogTitle>
|
||||
<DialogContent>
|
||||
|
||||
|
||||
|
@ -3077,7 +2931,7 @@ const Partner_Facture = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "20rem" }}>
|
||||
|
||||
<div>
|
||||
|
@ -3156,7 +3010,7 @@ const Partner_Facture = (props) => {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title">MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "20rem" }}>
|
||||
<DialogContentText>
|
||||
Envoi Facture par email
|
||||
|
@ -3300,7 +3154,7 @@ const Partner_Facture = (props) => {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title"> Paiement </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> Paiement </DialogTitle>
|
||||
<DialogContent className="DialogContent_width">
|
||||
<DialogContentText>
|
||||
{Dialog_Paiement_1_message}
|
||||
|
@ -3469,7 +3323,7 @@ const Partner_Facture = (props) => {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily:"DM Sans"}} id="draggable-dialog-title"> Annotation </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title"> Annotation </DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ "minHeight": "15rem" }}>
|
||||
<DialogContentText>
|
||||
{Dialog_annotation_1_message}
|
||||
|
@ -3547,7 +3401,7 @@ const Partner_Facture = (props) => {
|
|||
|
||||
{/******** FIN Menu Clique Droit test */}
|
||||
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Mes Factures </h3>
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Mes Factures </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -4629,14 +4483,14 @@ const Partner_Facture = (props) => {
|
|||
</div>
|
||||
|
||||
<div style={{ "width": "23%", "float": "left", "textAlign": "right", "paddingTop": "2rem" }}>
|
||||
<Button variant="outlined" onClick={print_invoice_pdf} className="detail_class_submenu" id='order_header_main' name='order_header_main'>Imprimer pdf</Button>
|
||||
<Button variant="outlined" onClick={(event) => {
|
||||
{String(props.check_user_acces_right("facture_client", "write")) === "1" && <Button variant="outlined" onClick={print_invoice_pdf} className="detail_class_submenu" id='order_header_main' name='order_header_main'>Imprimer pdf</Button>}
|
||||
{String(props.check_user_acces_right("facture_client", "write")) === "1" && <Button variant="outlined" onClick={(event) => {
|
||||
setDialog_send_invoice_with_PJ_open(true);
|
||||
}
|
||||
} className="detail_class_submenu" id='order_header_main' name='order_header_main'>envoyer par mail</Button>
|
||||
} className="detail_class_submenu" id='order_header_main' name='order_header_main'>envoyer par mail</Button>}
|
||||
|
||||
|
||||
{String(history_securite_read) === "1" && <Button variant="outlined" onClick={(event) => {
|
||||
{String(props.check_user_acces_right("facture_client", "write")) === "1" && String(history_securite_read) === "1" && <Button variant="outlined" onClick={(event) => {
|
||||
setDialog_invoice_history_open(true);
|
||||
}
|
||||
} className="detail_class_submenu" id='invoice_history_bton' name='invoice_history_bton'>Historique
|
||||
|
@ -4645,17 +4499,17 @@ const Partner_Facture = (props) => {
|
|||
|
||||
|
||||
<div className="div_row"> </div>
|
||||
<Button variant="outlined" onClick={(event) => {
|
||||
{String(props.check_user_acces_right("facture_client", "write")) === "1" && <Button variant="outlined" onClick={(event) => {
|
||||
setDialog_annotation_1_open(true);
|
||||
}
|
||||
} className="detail_class_submenu" id='order_header_main' name='order_header_main' style={{ "background": "#b9f6ca" }}> Annotation</Button>
|
||||
} className="detail_class_submenu" id='order_header_main' name='order_header_main' style={{ "background": "#b9f6ca" }}> Annotation</Button>}
|
||||
|
||||
|
||||
|
||||
<div className="div_row"> </div>
|
||||
|
||||
|
||||
{p_detail_header_invoice_header_type && String(p_detail_header_invoice_header_type) === "facture" &&
|
||||
{String(props.check_user_acces_right("facture_client", "write")) === "1" && p_detail_header_invoice_header_type && String(p_detail_header_invoice_header_type) === "facture" &&
|
||||
String(p_detail_header_credit_note_ref) === "" &&
|
||||
<Popup
|
||||
trigger={
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
|
||||
import Display_Partner_Catalog_DetailClass_new_v2 from "../components/Display_Partner_Catalog_DetailClass_new_v2";
|
||||
import Navigation from "../components/Navigation";
|
||||
|
||||
export default function display_partner_catalog_detailclass() {
|
||||
return (
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
import Jmjformation_Catalogue_Public from "../components/Jmjformation_Catalogue_Public";
|
||||
|
||||
const jmjformation_catalogue_public = () => {
|
||||
|
||||
|
||||
return (
|
||||
<div>
|
||||
|
||||
<div>
|
||||
<Jmjformation_Catalogue_Public />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
export default jmjformation_catalogue_public;
|
|
@ -1,6 +1,4 @@
|
|||
import Mon_Catalogue_Public from "../components/Mon_Catalogue_Public";
|
||||
import Navigation from "../components/Navigation";
|
||||
import Footer from "./footer";
|
||||
|
||||
const mon_catalogue_public = () => {
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
text-align: center;
|
||||
margin-bottom: 0.8rem;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
cursor: normal;
|
||||
font-style: italic;
|
||||
background-color: gray;
|
||||
font-weight: normal;
|
||||
|
@ -230,7 +230,7 @@
|
|||
text-align: center;
|
||||
margin-bottom: 0.8rem;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
cursor: normal;
|
||||
font-style: italic;
|
||||
background-color: gray;
|
||||
font-weight: normal;
|
||||
|
@ -412,7 +412,7 @@
|
|||
text-align: center;
|
||||
margin-bottom: 0.8rem;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
cursor: normal;
|
||||
font-style: italic;
|
||||
background-color: gray;
|
||||
font-weight: normal;
|
||||
|
@ -594,7 +594,7 @@
|
|||
text-align: center;
|
||||
margin-bottom: 0.8rem;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
cursor: normal;
|
||||
font-style: italic;
|
||||
background-color: gray;
|
||||
font-weight: normal;
|
||||
|
|
Loading…
Reference in New Issue