02/03/2024 - 23h20

recette2
cherif 2024-03-02 23:20:39 +01:00
parent f4777591a5
commit 559e1a1f72
10 changed files with 4026 additions and 93 deletions

File diff suppressed because it is too large Load Diff

View File

@ -103,17 +103,17 @@ const Employes = (props) => {
date_today_90j.setDate(date_today_90j.getDate() + 90);
const [p_filtre1, setp_filtre1] = useState();
const [p_filtre1_value, setp_filtre1_value] = useState();
const [p_filtre1, setp_filtre1] = useState("");
const [p_filtre1_value, setp_filtre1_value] = useState("");
const [p_filtre2, setp_filtre2] = useState();
const [p_filtre2_value, setp_filtre2_value] = useState();
const [p_filtre2, setp_filtre2] = useState("");
const [p_filtre2_value, setp_filtre2_value] = useState("");
const [p_filtre3, setp_filtre3] = useState();
const [p_filtre3_value, setp_filtre3_value] = useState();
const [p_filtre3, setp_filtre3] = useState("");
const [p_filtre3_value, setp_filtre3_value] = useState("");
const [p_filtre4, setp_filtre4] = useState();
const [p_filtre4_value, setp_filtre4_value] = useState();
const [p_filtre4, setp_filtre4] = useState("");
const [p_filtre4_value, setp_filtre4_value] = useState("");
@ -241,7 +241,7 @@ const Employes = (props) => {
const columns_employee_affectation = [
{ field: '_id', headerName: '_id', hide: true },
{ field: 'id', headerName: 'id', hide: true },
{ field: 'poste', headerName: 'Poste', flex: 1, },
{ field: 'poste', headerName: 'Poste', flex: 1, },
{ field: 'date_du', headerName: 'Du', width: 150, hide: false, },
{ field: 'date_au', headerName: 'Au', width: 150, hide: false, },
{ field: 'related_target_collection_object', headerName: 'Cible', flex: 1, hide: false, },
@ -316,7 +316,7 @@ const Employes = (props) => {
const columns_employee_acces_right = [
{ field: '_id', headerName: '_id', hide: true },
{ field: 'id', headerName: 'id', hide: true },
{ field: 'module', headerName: 'Module', flex: 1, },
{ field: 'module', headerName: 'Module', flex: 1, },
{
field: 'read', headerName: 'Lecture', width: 150, hide: false, editable: true, type: 'boolean',
},
@ -330,7 +330,7 @@ const Employes = (props) => {
const columns_employee_acces_right_v2 = [
{ field: '_id', headerName: '_id', hide: true },
{ field: 'id', headerName: 'id', hide: true },
{ field: 'module', headerName: 'Module', flex: 1, },
{ field: 'module', headerName: 'Module', flex: 1, },
{
field: 'read', headerName: 'Lecture', width: 150, hide: false, editable: true, type: 'boolean',
@ -352,7 +352,7 @@ const Employes = (props) => {
const columns_employee_contrat = [
{ field: '_id', headerName: '_id', hide: true },
{ field: 'id', headerName: 'id', hide: true },
{ field: 'rh_id', headerName: 'rh_id', flex: 1, hide: true, },
{ field: 'rh_id', headerName: 'rh_id', flex: 1, hide: true, },
{ field: 'date_debut', headerName: 'Du', width: 150, hide: false, },
{ field: 'date_fin', headerName: 'Au', width: 150, hide: false, },
{ field: 'type_contrat', headerName: 'Type Contrat', flex: 1, hide: false, width: 150, },
@ -447,7 +447,7 @@ const Employes = (props) => {
const columns_employee_acces_right_disabled = [
{ field: '_id', headerName: '_id', hide: true },
{ field: 'id', headerName: 'id', hide: true },
{ field: 'module', headerName: 'Module', flex: 1, },
{ field: 'module', headerName: 'Module', flex: 1, },
{
field: 'read', headerName: 'Lecture', width: 150, hide: false, editable: false, type: 'boolean',
@ -669,17 +669,17 @@ const Employes = (props) => {
function clean_all_filters() {
setgridline_id('');
setp_filtre1();
setp_filtre1_value();
setp_filtre1("");
setp_filtre1_value("");
setp_filtre2();
setp_filtre2_value();
setp_filtre2("");
setp_filtre2_value("");
setp_filtre3();
setp_filtre3_value();
setp_filtre3("");
setp_filtre3_value("");
setp_filtre4();
setp_filtre4_value();
setp_filtre4("");
setp_filtre4_value("");
setdisplay_affectation("");
setAdd_new_affectation("");
@ -4680,6 +4680,15 @@ const Employes = (props) => {
})
}
const New_Option_Filter = [
{ "id": "nom", "label": "Nom ", "value": "nom" },
{ "id": "email", "label": "Email ", "value": "email" },
{ "id": "formation", "label": "Lié a la Formation (code externe) ", "value": "formation" },
{ "id": "session", "label": "Lié a la Session (code session) ", "value": "session" },
{ "id": "", "label": "", "value": "" },
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
]
return (
<div className="employes">
@ -5302,7 +5311,30 @@ const Employes = (props) => {
<div className="titre1"> Utilisez les filtres !</div>
<div className="div_row" style={{ "marginBottom": "5px" }}>
<div className="div_row_gauche texte_area_filter" >
<TextField
{New_Option_Filter && New_Option_Filter.length > 0 && <Autocomplete
disablePortal
name="filtre1"
id="filtre1"
className="disabled_style"
value={New_Option_Filter.filter((data) => (data).value === String(p_filtre1))[0].label}
options={New_Option_Filter}
onChange={(event, value) => {
if (value && value.value) {
setp_filtre1(value.value);
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>}
{/*<TextField
name="filtre1"
label="Choisir un champ"
select
@ -5319,7 +5351,7 @@ const Employes = (props) => {
<MenuItem value="session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié a la Session (code session) &nbsp;</MenuItem>
</TextField>
</TextField>*/}
</div>
@ -5368,8 +5400,8 @@ const Employes = (props) => {
<Tooltip className="tooltip_css" id="my-tooltip02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip02" data-tooltip-html="Supprimer cette ligne de filtre">
&nbsp; <MdRemoveCircleOutline onClick={(e) => {
setp_filtre1();
setp_filtre1_value();
setp_filtre1("");
setp_filtre1_value("");
}}
/>
</a>
@ -5381,7 +5413,30 @@ const Employes = (props) => {
{p_filtre2 &&
<div className="div_row" style={{ "marginBottom": "5px" }}>
<div className="div_row_gauche texte_area_filter">
<TextField
{New_Option_Filter && New_Option_Filter.length > 0 && <Autocomplete
disablePortal
name="filtre2"
id="filtre2"
className="disabled_style"
value={New_Option_Filter.filter((data) => (data).value === String(p_filtre2))[0].label}
options={New_Option_Filter}
onChange={(event, value) => {
if (value && value.value) {
setp_filtre2(value.value);
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>}
{/*<TextField
name="filtre2"
label="Choisir un champ"
select
@ -5399,7 +5454,7 @@ const Employes = (props) => {
<MenuItem value="session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié a la Session (code session) &nbsp;</MenuItem>
</TextField>
</TextField> */}
</div>
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
{String(p_filtre2).length > 2 &&
@ -5448,8 +5503,8 @@ const Employes = (props) => {
<a data-tooltip-id="my-tooltip04" data-tooltip-html="Supprimer cette ligne de filtre">
&nbsp; <MdRemoveCircleOutline
onClick={(e) => {
setp_filtre2();
setp_filtre2_value();
setp_filtre2("");
setp_filtre2_value("");
}}
/>
</a>
@ -5462,7 +5517,30 @@ const Employes = (props) => {
{p_filtre3 &&
<div className="div_row" style={{ "marginBottom": "5px" }}>
<div className="div_row_gauche texte_area_filter">
<TextField
{New_Option_Filter && New_Option_Filter.length > 0 && <Autocomplete
disablePortal
name="filtre3"
id="filtre3"
className="disabled_style"
value={New_Option_Filter.filter((data) => (data).value === String(p_filtre3))[0].label}
options={New_Option_Filter}
onChange={(event, value) => {
if (value && value.value) {
setp_filtre3(value.value);
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>}
{/* <TextField
name="filtre3"
label="Choisir un champ"
select
@ -5479,7 +5557,7 @@ const Employes = (props) => {
<MenuItem value="session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Lié a la Session (code session) &nbsp;</MenuItem>
</TextField>
</TextField>*/}
</div>
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
{String(p_filtre3).length > 2 &&
@ -5527,8 +5605,8 @@ const Employes = (props) => {
<Tooltip className="tooltip_css" id="my-tooltip05" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip05" data-tooltip-html="Supprimer cette ligne de filtre">
&nbsp; <MdRemoveCircleOutline onClick={(e) => {
setp_filtre3();
setp_filtre3_value();
setp_filtre3("");
setp_filtre3_value("");
}} />
</a>
</div>}
@ -5687,7 +5765,7 @@ const Employes = (props) => {
'& .line--statut--impair': {
backgroundColor: '#FFFFFF',
color: 'black',
},
},
[`& .${gridClasses.cell}`]: {
py: 1,
},
@ -6295,10 +6373,10 @@ const Employes = (props) => {
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
/>
}
/>
@ -6427,7 +6505,7 @@ const Employes = (props) => {
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
@ -7081,9 +7159,9 @@ const Employes = (props) => {
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
/>
}
/>
@ -7396,7 +7474,7 @@ const Employes = (props) => {
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
@ -7469,9 +7547,9 @@ const Employes = (props) => {
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
/>
}
/>
@ -7515,10 +7593,10 @@ const Employes = (props) => {
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
/>
}
/>
@ -7769,7 +7847,7 @@ const Employes = (props) => {
className="detail_class_submenu bton_add_session"
id='menu_add_participant' name='menu_add_participant'>Ajout 1 affectation &nbsp;
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
</Button>
<br />
@ -8236,10 +8314,10 @@ const Employes = (props) => {
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps = {{...params.inputProps, style: { fontSize: 12, height:"1.4rem" }}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
/>
}
/>

View File

@ -3035,6 +3035,7 @@ const Materiel_Salle = (props) => {
>
<DataGrid
checkboxSelection
disableSelectionOnClick
onSelectionModelChange={(newSelectionModel) => {
setSelectionModel(newSelectionModel);
/*if (newSelectionModel.length === 1)

View File

@ -2751,6 +2751,7 @@ const Materiels = (props) => {
>
<DataGrid
checkboxSelection
disableSelectionOnClick
onSelectionModelChange={(newSelectionModel) => {
setSelectionModel(newSelectionModel);
/*if (newSelectionModel.length === 1)

View File

@ -229,7 +229,7 @@ const Module_Absence = (props) => {
'start': String(JSON.parse(obj).event_start),
'end': String(JSON.parse(obj).event_end),
'id': String(JSON.parse(obj)._id),
'type': String(JSON.parse(obj).event_type),
'justified': String(JSON.parse(obj).justified),
}
@ -544,7 +544,7 @@ const Module_Absence = (props) => {
]);
}*/
};
const handleSelect_list = (info) => {
@ -649,7 +649,7 @@ const Module_Absence = (props) => {
const handleEventClick_from_list = (selected_row_id) => {
var line = JSON.parse(mysy_list_event_for_map[selected_row_id]);
var line = JSON.parse(mysy_list_event_for_map[selected_row_id]);
@ -718,12 +718,12 @@ const Module_Absence = (props) => {
}
const [Partner_Debut_Journee, setPartner_Debut_Journee] = useState("7:00");
const [Partner_Fin_Journee, setPartner_Fin_Journee] = useState("20:00");
const [Partner_Debut_Journee, setPartner_Debut_Journee] = useState("7:00");
const [Partner_Fin_Journee, setPartner_Fin_Journee] = useState("20:00");
const [Get_Partner_Debut_Fin_Journee_api, setGet_Partner_Debut_Fin_Journee_api] = useState();
const [Get_Partner_Debut_Fin_Journee_api, setGet_Partner_Debut_Fin_Journee_api] = useState();
const [Get_Partner_Debut_Fin_Journee_message, setGet_Partner_Debut_Fin_Journee_message] = useState();
const [Get_Partner_Debut_Fin_Journee_result, setGet_Partner_Debut_Fin_Journee_result] = useState();
function Get_Partner_Debut_Fin_Journee(event) {
@ -746,7 +746,7 @@ const [Get_Partner_Debut_Fin_Journee_api, setGet_Partner_Debut_Fin_Journee_api]
setGet_Partner_Debut_Fin_Journee_api("true");
setGet_Partner_Debut_Fin_Journee_result(res.data.message);
var val_json = JSON.parse(res.data.message);
if (JSON.parse(res.data.message).planning_debut_journee)
@ -755,7 +755,7 @@ const [Get_Partner_Debut_Fin_Journee_api, setGet_Partner_Debut_Fin_Journee_api]
if (JSON.parse(res.data.message).planning_fin_journee)
setPartner_Fin_Journee(String(JSON.parse(res.data.message).planning_fin_journee))
}
else if (String(res.data.status) === String("Err_Connexion")) {
alert('Erreur: ' + res.data.message);
@ -1190,8 +1190,10 @@ const [Get_Partner_Debut_Fin_Journee_api, setGet_Partner_Debut_Fin_Journee_api]
<h3> Planning </h3>
<div style={{ "textAlign": "right", "float": "right", "width": "100%" }}> Affichage : <nav style={{ "width": "7%", "float": "right", "cursor": "pointer" }} onClick={func_display_planning_view}> <FcPlanner /> planning </nav>
<nav style={{ "width": "7%", "float": "right", "cursor": "pointer" }} onClick={func_display_list_view}> <CiBoxList /> Liste </nav> </div>
<div style={{ "textAlign": "right", "float": "right", "width": "100%" }}>
Affichage : <nav style={{ "width": "7%", "float": "right", "cursor": "pointer" }} onClick={func_display_planning_view}> <FcPlanner /> planning </nav>
<nav style={{ "width": "7%", "float": "right", "cursor": "pointer" }} onClick={func_display_list_view}> <CiBoxList /> Liste </nav>
</div>
{/*
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>

View File

@ -29,6 +29,7 @@ import { FaHandPointRight } from "react-icons/fa";
import OrderConfirmation from "./OrderConfirmation";
import Partner_Client from "./Partner_Client";
import Pricing from "./Pricing";
import { MdAddShoppingCart } from "react-icons/md";
import {
FcHome, FcButtingIn, FcDepartment, FcBullish, FcAddDatabase, FcFolder,
FcList, FcGraduationCap, FcMultipleDevices, FcCurrencyExchange,
@ -58,6 +59,7 @@ import Dashbord_Session from "./Dashbord_Session";
import Dashbord_Ressources_Humaines from "./Dashbord_Ressources_Humaines";
import Dashbord_Inscriptions from "./Dashbord_Inscription";
import Materiel_Salle from "./Materiel_Salle";
import CRM_Opportunite from "./Crm_Opportunite";
import Mon_Tableau_De_Bord from "./Mon_Tableau_De_Bord";
import Dashbord_Formation from "./Dashbord_Formation";
@ -329,7 +331,7 @@ const Partner = (props) => {
'mes_stagiaires', 'mes_employes', 'mon_materiel', 'config_document', 'factures_client', "config_technique",
"config_champ_specific", "module_agenda", "config_session_steps", "config_jours_heures", "dashbord_formation",
"dashbord_session", "mon_tableau_de_bord", "prix_achat", "mes_apprenants", "dashbord_ressources_humaines",
"dashbord_inscriptions", "mes_salles"]
"dashbord_inscriptions", "mes_salles", "mes_opportunites"]
if (action && list_menu.includes(action)) {
@ -691,6 +693,20 @@ const Partner = (props) => {
}
function Display_mes_opportunites_func(event) {
var security_retval = check_user_acces_right("client", "read");
if (security_retval === 1) {
setmenu("mes_opportunites");
setapiexcelimportmessage();
setformation_file_name();
document.body.style.backgroundColor = "#ffffff";
history.push("/Partner/mes_opportunites");
} else {
Dialog_1_handle_acces_insuffisant("Vos droits ne sont pas suffisants pour acceder à la gestion du matériel pédagogique");
}
}
function config_dashbord_formation_func(event) {
var security_retval = check_user_acces_right("dashbord", "read");
@ -1257,8 +1273,8 @@ const Partner = (props) => {
<hr className="my_hr" />
<div className="sousmenu" >
<nav style={{ float: "left" }}> <FcPodiumWithAudience className="icone_menu" /> </nav>
<nav style={{ minWidth: "85%", float: "left", textAlign:"left" }}>
<nav style={{ float: "left" }}> <FcPodiumWithAudience className="icone_menu" /> </nav>
<nav style={{ minWidth: "85%", float: "left", textAlign: "left" }}>
<Dropdown title="RESSOURCES " className="sousmenu" >
<Dropdown.Item >
<Tooltip className="tooltip_css" id="tooltip_id_12" />
@ -1313,32 +1329,38 @@ const Partner = (props) => {
<div>
<hr className="my_hr" />
{String(menu) !== "mes_clients" && <div className="sousmenu" onClick={mes_clients_func}>&nbsp;&nbsp;<FcBusinesswoman className="icone_menu" />CLIENTS / FINANCEURS</div>}
{String(menu) === "mes_clients" && <div className="sousmenu_selected" onClick={mes_clients_func}> &nbsp;&nbsp; <FcBusinesswoman className="icone_menu" />CLIENTS / FINANCEURS</div>}
{String(menu) !== "mes_clients" && <div className="sousmenu" onClick={mes_clients_func}><FcBusinesswoman className="icone_menu" />CLIENTS / FINANCEURS</div>}
{String(menu) === "mes_clients" && <div className="sousmenu_selected" onClick={mes_clients_func}> <FcBusinesswoman className="icone_menu" />CLIENTS / FINANCEURS</div>}
</div>
<div>
<hr className="my_hr" />
{String(menu) !== "pricing" && <div className="sousmenu" onClick={pricing_func} >&nbsp;&nbsp;<FcCurrencyExchange className="icone_menu" />&nbsp; MES PRIX CLIENT</div>}
{String(menu) === "pricing" && <div className="sousmenu_selected" onClick={pricing_func} > &nbsp;&nbsp;<FcCurrencyExchange className="icone_menu" />&nbsp;MES PRIX CLIENT</div>}
{String(menu) !== "mes_opportunites" && <div className="sousmenu" onClick={Display_mes_opportunites_func}><MdAddShoppingCart className="icone_menu" />OPPORTUNITES</div>}
{String(menu) === "mes_opportunites" && <div className="sousmenu_selected" onClick={Display_mes_opportunites_func}><MdAddShoppingCart className="icone_menu" />OPPORTUNITES</div>}
</div>
<div>
<hr className="my_hr" />
{String(menu) !== "mes_cmd" && <div className="sousmenu" onClick={mes_cmd_func}>&nbsp;&nbsp;<FcCollect className="icone_menu" />&nbsp;MES COMMANDES & DEVIS</div>}
{String(menu) === "mes_cmd" && <div className="sousmenu_selected" onClick={mes_cmd_func}> &nbsp;&nbsp; <FcCollect className="icone_menu" />&nbsp;MES COMMANDES & DEVIS</div>}
{String(menu) !== "pricing" && <div className="sousmenu" onClick={pricing_func} ><FcCurrencyExchange className="icone_menu" />&nbsp; MES PRIX CLIENT</div>}
{String(menu) === "pricing" && <div className="sousmenu_selected" onClick={pricing_func} ><FcCurrencyExchange className="icone_menu" />&nbsp;MES PRIX CLIENT</div>}
</div>
<div>
<hr className="my_hr" />
{String(menu) !== "factures_client" && <div className="sousmenu" onClick={mes_factures_client_func}>&nbsp;&nbsp;<FcKindle className="icone_menu" />&nbsp;MES FACTURES</div>}
{String(menu) === "factures_client" && <div className="sousmenu_selected" onClick={mes_factures_client_func}> &nbsp;&nbsp; <FcCollect FcKindle="icone_menu" />&nbsp;MES FACTURES</div>}
{String(menu) !== "mes_cmd" && <div className="sousmenu" onClick={mes_cmd_func}><FcCollect className="icone_menu" />&nbsp;MES COMMANDES & DEVIS</div>}
{String(menu) === "mes_cmd" && <div className="sousmenu_selected" onClick={mes_cmd_func}><FcCollect className="icone_menu" />&nbsp;MES COMMANDES & DEVIS</div>}
</div>
<div>
<hr className="my_hr" />
{String(menu) !== "prix_achat" && <div className="sousmenu" onClick={prix_achat_func}>&nbsp;&nbsp;<BiPurchaseTag className="icone_menu" />&nbsp;MES PRIX ACHAT</div>}
{String(menu) === "prix_achat" && <div className="sousmenu_selected" onClick={prix_achat_func}> &nbsp;&nbsp; <BiPurchaseTag FcKindle="icone_menu" />&nbsp;MES PRIX ACHAT</div>}
{String(menu) !== "factures_client" && <div className="sousmenu" onClick={mes_factures_client_func}><FcKindle className="icone_menu" />&nbsp;MES FACTURES</div>}
{String(menu) === "factures_client" && <div className="sousmenu_selected" onClick={mes_factures_client_func}> <FcCollect FcKindle="icone_menu" />&nbsp;MES FACTURES</div>}
</div>
<div>
<hr className="my_hr" />
{String(menu) !== "prix_achat" && <div className="sousmenu" onClick={prix_achat_func}><BiPurchaseTag className="icone_menu" />&nbsp;MES PRIX ACHAT</div>}
{String(menu) === "prix_achat" && <div className="sousmenu_selected" onClick={prix_achat_func}> <BiPurchaseTag FcKindle="icone_menu" />&nbsp;MES PRIX ACHAT</div>}
</div>
@ -1355,8 +1377,8 @@ const Partner = (props) => {
{String(has_partner_lms_url) === "1" && <div>
<hr className="my_hr" />
{String(menu) !== "statistique" && <div className="sousmenu" onClick={DisplaySetUpLMS}>&nbsp;&nbsp;<FcServices className="icone_menu" />&nbsp;CONFIGURATION</div>}
{String(menu) === "statistique" && <div className="sousmenu_hebergement_lms" onClick={DisplaySetUpLMS}> &nbsp;&nbsp; <FcServices className="icone_menu" />&nbsp;CONFIGURATION</div>}
{String(menu) !== "statistique" && <div className="sousmenu" onClick={DisplaySetUpLMS}><FcServices className="icone_menu" />&nbsp;CONFIGURATION</div>}
{String(menu) === "statistique" && <div className="sousmenu_hebergement_lms" onClick={DisplaySetUpLMS}> <FcServices className="icone_menu" />&nbsp;CONFIGURATION</div>}
</div>}
<div class="separator"> Configuration </div>
@ -1652,6 +1674,13 @@ const Partner = (props) => {
</div>
}
{String(menu) === "mes_opportunites" &&
<div className="div_droite">
<CRM_Opportunite conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("materiel", "read")} write_access={check_user_acces_right("materiel", "write")} />
</div>
}
{String(menu) === "mes_cmd" &&
<div className="div_droite">
@ -1705,6 +1734,8 @@ const Partner = (props) => {
</div>
}
{String(menu) === "config_document" && <div className="div_droite">
<Config_Documents conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("config_document", "read")} write_access={check_user_acces_right("config_document", "write")} />
@ -1902,7 +1933,6 @@ const Partner = (props) => {
<div> <hr /> </div>
<div>
<hr className="my_hr" />
<Tooltip className="tooltip_css" id="tooltip_id_15" />
<a data-tooltip-id="tooltip_id_15" data-tooltip-html="MES CLIENTS">
@ -1911,6 +1941,15 @@ const Partner = (props) => {
</a>
</div>
<div>
<hr className="my_hr" />
<Tooltip className="tooltip_css" id="tooltip_id_16a" />
<a data-tooltip-id="tooltip_id_16a" data-tooltip-html="MES OPPORTUNITES">
{String(menu) !== "mes_opportunites" && <div className="sousmenu" onClick={Display_mes_opportunites_func}><MdAddShoppingCart className="icone_menu" />&nbsp;</div>}
{String(menu) === "mes_opportunites" && <div className="sousmenu_selected" onClick={Display_mes_opportunites_func}> <MdAddShoppingCart className="icone_menu" />&nbsp;</div>}
</a>
</div>
<div>
<hr className="my_hr" />
<Tooltip className="tooltip_css" id="tooltip_id_16" />
@ -2211,6 +2250,13 @@ const Partner = (props) => {
</div>
}
{String(menu) === "mes_opportunites" &&
<div className="div_droite">
<CRM_Opportunite conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("materiel", "read")} write_access={check_user_acces_right("materiel", "write")} />
</div>
}
{String(menu) === "mes_cmd" &&
<div className="div_droite div_droite_ralonge">
@ -2264,6 +2310,14 @@ const Partner = (props) => {
</div>
}
{String(menu) === "mes_opportunites" && <div className="div_droite div_droite_ralonge">
<CRM_Opportunite conntected_employee_id={conntected_employee_id} object_key={orderid}
read_access={check_user_acces_right("client", "read")} write_access={check_user_acces_right("client", "write")} />
</div>
}
{String(menu) === "config_document" && <div className="div_droite div_droite_ralonge">
<Config_Documents conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("config_document", "read")} write_access={check_user_acces_right("config_document", "write")} />

View File

@ -24,12 +24,12 @@ const tasksList = [
const channels = ["backlog", "new", "wip", "review", "done", "MySy"];
const labelsMap = {
backlog: "Backlog",
"backlog": "Backlog",
new: "To Do",
wip: "In Progress",
review: "Review",
done: "Done",
MySy: "MySy Task"
"MySy": "MySy Task"
};
@ -47,9 +47,9 @@ const classes = {
height: "80vh",
margin: "0 auto",
backgroundColor: "#212F3D",
border:'double #32a1ce',
border: 'double #32a1ce',
},
columnHead: {
textAlign: "center",
@ -71,7 +71,7 @@ const Kanban = () => {
const [tasks, setTaskStatus] = useState(tasksList);
// MySy Comment : quand on change la position d'une tache, dans cette fonction on appel l'api de mise à jour
// MySy Comment : quand on change la position d'une tache, dans cette fonction on appel l'api de mise à jour
const changeTaskStatus = useCallback(
(id, status) => {
let task = tasks.find(task => task._id === id);
@ -105,8 +105,8 @@ const Kanban = () => {
.filter(item => item.status === channel)
.map(item => (
<KanbanItem key={item._id} id={item._id}>
<div style={classes.item}>{item.title} <br/> buton_edit</div>
<div style={classes.item}>{item.title} <br /> buton_edit</div>
</KanbanItem>
))}
</div>
@ -138,14 +138,14 @@ const KanbanItem = ({ id, children }) => {
const [{ isDragging }, drag] =
useDrag({
type: "card",
item: () => ({id}),
collect: monitor => ({
isDragging: monitor.isDragging()
})
});
useDrag({
type: "card",
item: () => ({ id }),
collect: monitor => ({
isDragging: monitor.isDragging()
})
});
const opacity = isDragging ? 0 : 1;
drag(ref);
return (

View File

@ -2657,7 +2657,6 @@
.session_caract_Dialog_DatePicker {
width: 99% !important;
background-color: #FFFFFF;
}

File diff suppressed because it is too large Load Diff

View File

@ -100,3 +100,4 @@
@import "./components/module_attestation_formation";
@import "./components/test_drag_drop";
@import "./components/materiel_salle";
@import "./components/crm_opportunite";