Revert "CEC-2977 Filter portal access based on auth provider (#231)"
This reverts commit f2f046968e.
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
import React from "react";
|
||||
import { List } from "@material-ui/core";
|
||||
import HomeIcon from "@material-ui/icons/Home";
|
||||
import DirectionsCarIcon from "@material-ui/icons/DirectionsCar";
|
||||
import CommuteIcon from "@material-ui/icons/Commute";
|
||||
import CloudDownloadIcon from "@material-ui/icons/CloudDownload";
|
||||
import AssessmentIcon from "@material-ui/icons/Assessment";
|
||||
import BuildIcon from "@material-ui/icons/Build";
|
||||
import CloudDownloadIcon from "@material-ui/icons/CloudDownload";
|
||||
import CommuteIcon from "@material-ui/icons/Commute";
|
||||
import DirectionsCarIcon from "@material-ui/icons/DirectionsCar";
|
||||
import HomeIcon from "@material-ui/icons/Home";
|
||||
import SettingsInputCompositeIcon from "@material-ui/icons/SettingsInputComposite";
|
||||
import { default as React, useEffect, useState } from "react";
|
||||
|
||||
import { hasRole, Permissions } from "../../utils/roles";
|
||||
import { useUserContext } from "../Contexts/UserContext";
|
||||
import SupersetDashboardList from "../SupersetDashboardList/SupersetDashboardList";
|
||||
import { Roles, hasRole } from "../../utils/roles";
|
||||
import { ExpandableSideMenuItem, MenuItem } from "./MenuItem";
|
||||
import SupersetDashboardList from "../SupersetDashboardList/SupersetDashboardList";
|
||||
|
||||
const menuData = [
|
||||
{
|
||||
@@ -24,60 +24,65 @@ const menuData = [
|
||||
label: "Deployments",
|
||||
to: "/packages",
|
||||
icon: <CloudDownloadIcon />,
|
||||
rolesPerProvider: Permissions.FiskerMagnaRead,
|
||||
roles: [Roles.READ, Roles.CREATE],
|
||||
},
|
||||
{
|
||||
label: "Vehicles",
|
||||
to: "/vehicles",
|
||||
icon: <DirectionsCarIcon />,
|
||||
rolesPerProvider: Permissions.FiskerMagnaRead,
|
||||
roles: [Roles.READ, Roles.CREATE],
|
||||
},
|
||||
{
|
||||
label: "Fleets",
|
||||
to: "/fleets",
|
||||
icon: <CommuteIcon />,
|
||||
rolesPerProvider: Permissions.FiskerRead,
|
||||
roles: [Roles.READ, Roles.CREATE],
|
||||
},
|
||||
{
|
||||
label: "Datascope",
|
||||
to: null,
|
||||
icon: <AssessmentIcon />,
|
||||
rolesPerProvider: Permissions.FiskerRead,
|
||||
component: SupersetDashboardList,
|
||||
roles: [Roles.READ, Roles.CREATE],
|
||||
component: SupersetDashboardList
|
||||
},
|
||||
{
|
||||
label: "Suppliers",
|
||||
to: "/suppliers",
|
||||
icon: <SettingsInputCompositeIcon />,
|
||||
rolesPerProvider: Permissions.FiskerSupplierAdmin,
|
||||
roles: [Roles.APPROVESUPPLIERS],
|
||||
},
|
||||
{
|
||||
label: "Tools",
|
||||
to: "/tools/certificates/add",
|
||||
icon: <BuildIcon />,
|
||||
rolesPerProvider: Permissions.FiskerTools,
|
||||
roles: [Roles.CERTIFICATES, Roles.APPROVESUPPLIERS],
|
||||
submenus: [
|
||||
{
|
||||
label: "Certificate",
|
||||
to: "/tools/certificates/add",
|
||||
rolesPerProvider: Permissions.FiskerCertificate,
|
||||
roles: [Roles.CERTIFICATES],
|
||||
},
|
||||
{
|
||||
label: "SMS",
|
||||
to: "/tools/sms/send",
|
||||
rolesPerProvider: Permissions.FiskerCreate,
|
||||
},
|
||||
roles: [Roles.CREATE],
|
||||
}
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
const SideMenu = () => {
|
||||
const { groups, providers } = useUserContext();
|
||||
const [menu, setMenu] = useState(menuData);
|
||||
|
||||
useEffect(() => {
|
||||
filterAccessible(groups, providers, setMenu);
|
||||
}, [groups, providers]);
|
||||
const SideMenu = () => {
|
||||
const { groups } = useUserContext();
|
||||
|
||||
const menu = menuData.reduce((result, item) => {
|
||||
if (hasRole(item.roles, groups)) {
|
||||
result.push(item);
|
||||
}
|
||||
|
||||
return result;
|
||||
}, []);
|
||||
|
||||
|
||||
return (
|
||||
<List>
|
||||
@@ -91,14 +96,4 @@ const SideMenu = () => {
|
||||
);
|
||||
};
|
||||
|
||||
const filterAccessible = (groups, providers, setMenu) => {
|
||||
const filteredMenu = menuData.reduce((result, item) => {
|
||||
if (hasRole(groups, item.rolesPerProvider, providers)) {
|
||||
result.push(item);
|
||||
}
|
||||
return result;
|
||||
}, []);
|
||||
setMenu(filteredMenu);
|
||||
};
|
||||
|
||||
export default SideMenu;
|
||||
export default SideMenu;
|
||||
Reference in New Issue
Block a user