feat(permissions): more permissions for accessing via sidbar
This commit is contained in:
@@ -19,7 +19,12 @@ export function AppSidebar() {
|
|||||||
<Sidebar collapsible="icon">
|
<Sidebar collapsible="icon">
|
||||||
<SidebarContent>
|
<SidebarContent>
|
||||||
<Header />
|
<Header />
|
||||||
{moduleActive("production") && <ProductionSideBar />}
|
{moduleActive("production") && (
|
||||||
|
<ProductionSideBar
|
||||||
|
user={user}
|
||||||
|
moduleID={modules.filter((n) => n.name === "production")[0].module_id as string}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
{moduleActive("logistics") && (
|
{moduleActive("logistics") && (
|
||||||
<LogisticsSideBar
|
<LogisticsSideBar
|
||||||
user={user}
|
user={user}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ const items = [
|
|||||||
title: "Silo Adjustments",
|
title: "Silo Adjustments",
|
||||||
url: "#",
|
url: "#",
|
||||||
icon: Cylinder,
|
icon: Cylinder,
|
||||||
role: ["technician", "supervisor", "manager", "admin", "systemAdmin"],
|
role: ["admin", "systemAdmin"],
|
||||||
module: "logistics",
|
module: "logistics",
|
||||||
active: true,
|
active: true,
|
||||||
},
|
},
|
||||||
@@ -23,7 +23,7 @@ const items = [
|
|||||||
title: "Bulk orders",
|
title: "Bulk orders",
|
||||||
url: "#",
|
url: "#",
|
||||||
icon: Truck,
|
icon: Truck,
|
||||||
role: ["technician", "supervisor", "manager", "admin", "systemAdmin"],
|
role: ["systemAdmin"],
|
||||||
module: "logistics",
|
module: "logistics",
|
||||||
active: true,
|
active: true,
|
||||||
},
|
},
|
||||||
@@ -31,7 +31,7 @@ const items = [
|
|||||||
title: "Forecast",
|
title: "Forecast",
|
||||||
url: "#",
|
url: "#",
|
||||||
icon: Truck,
|
icon: Truck,
|
||||||
role: ["technician", "supervisor", "manager", "admin", "systemAdmin"],
|
role: ["systemAdmin"],
|
||||||
module: "logistics",
|
module: "logistics",
|
||||||
active: true,
|
active: true,
|
||||||
},
|
},
|
||||||
@@ -43,6 +43,14 @@ const items = [
|
|||||||
module: "logistics",
|
module: "logistics",
|
||||||
active: false,
|
active: false,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "Material Helper",
|
||||||
|
url: "/materialHelper/consumption",
|
||||||
|
icon: Package,
|
||||||
|
role: ["technician", "supervisor", "manager", "admin", "systemAdmin"],
|
||||||
|
module: "logistics",
|
||||||
|
active: true,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export function LogisticsSideBar({user, moduleID}: {user: User | null; moduleID: string}) {
|
export function LogisticsSideBar({user, moduleID}: {user: User | null; moduleID: string}) {
|
||||||
|
|||||||
@@ -7,16 +7,21 @@ import {
|
|||||||
SidebarMenuButton,
|
SidebarMenuButton,
|
||||||
SidebarMenuItem,
|
SidebarMenuItem,
|
||||||
} from "../../ui/sidebar";
|
} from "../../ui/sidebar";
|
||||||
|
import {hasPageAccess} from "@/utils/userAccess";
|
||||||
|
import {User} from "@/types/users";
|
||||||
|
|
||||||
const items = [
|
const items = [
|
||||||
{
|
{
|
||||||
title: "One Click Print",
|
title: "One Click Print",
|
||||||
url: "/ocp",
|
url: "/ocp",
|
||||||
icon: Printer,
|
icon: Printer,
|
||||||
|
role: ["systemAdmin"],
|
||||||
|
module: "ocp",
|
||||||
|
active: true,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export function ProductionSideBar() {
|
export function ProductionSideBar({user, moduleID}: {user: User | null; moduleID: string}) {
|
||||||
return (
|
return (
|
||||||
<SidebarGroup>
|
<SidebarGroup>
|
||||||
<SidebarGroupLabel>Production</SidebarGroupLabel>
|
<SidebarGroupLabel>Production</SidebarGroupLabel>
|
||||||
@@ -24,12 +29,16 @@ export function ProductionSideBar() {
|
|||||||
<SidebarMenu>
|
<SidebarMenu>
|
||||||
{items.map((item) => (
|
{items.map((item) => (
|
||||||
<SidebarMenuItem key={item.title}>
|
<SidebarMenuItem key={item.title}>
|
||||||
|
<>
|
||||||
|
{hasPageAccess(user, item.role, moduleID) && item.active && (
|
||||||
<SidebarMenuButton asChild>
|
<SidebarMenuButton asChild>
|
||||||
<a href={item.url}>
|
<a href={item.url}>
|
||||||
<item.icon />
|
<item.icon />
|
||||||
<span>{item.title}</span>
|
<span>{item.title}</span>
|
||||||
</a>
|
</a>
|
||||||
</SidebarMenuButton>
|
</SidebarMenuButton>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
</SidebarMenuItem>
|
</SidebarMenuItem>
|
||||||
))}
|
))}
|
||||||
</SidebarMenu>
|
</SidebarMenu>
|
||||||
|
|||||||
Reference in New Issue
Block a user