diff --git a/src/components/NavigationContent/NavigationContent.tsx b/src/components/NavigationContent/NavigationContent.tsx index 6f2a516..6161151 100644 --- a/src/components/NavigationContent/NavigationContent.tsx +++ b/src/components/NavigationContent/NavigationContent.tsx @@ -26,14 +26,7 @@ import Link from "next/link"; import { NAVIGATION_CONTENT_WIDTH } from "@/config/uiConfig"; import Logo from "../Logo"; import BugReportIcon from "@mui/icons-material/BugReport"; -import { - VIEW_USER, - MAINTAIN_USER, - VIEW_GROUP, - MAINTAIN_GROUP, - // Add more authorities as needed, e.g.: - TESTING, PROD, PACK, ADMIN, STOCK, Driver -} from "../../authorities"; +import { AUTH } from "../../authorities"; interface NavigationItem { icon: React.ReactNode; @@ -67,15 +60,18 @@ const NavigationContent: React.FC = () => { icon: , label: "Store Management", path: "", + requiredAbility: [AUTH.PURCHASE, AUTH.STOCK, AUTH.STOCK_TAKE, AUTH.STOCK_FG, AUTH.STOCK_IN_BIND, AUTH.ADMIN], children: [ { icon: , label: "Purchase Order", + requiredAbility: [AUTH.PURCHASE, AUTH.ADMIN], path: "/po", }, { icon: , label: "Pick Order", + requiredAbility: [AUTH.STOCK, AUTH.ADMIN], path: "/pickOrder", }, // { @@ -101,16 +97,19 @@ const NavigationContent: React.FC = () => { { icon: , label: "View item In-out And inventory Ledger", + requiredAbility: [AUTH.STOCK, AUTH.ADMIN], path: "/inventory", }, { icon: , label: "Stock Take Management", + requiredAbility: [AUTH.STOCK_TAKE, AUTH.ADMIN], path: "/stocktakemanagement", }, { icon: , label: "Stock Issue", + requiredAbility: [AUTH.STOCK, AUTH.STOCK_TAKE, AUTH.ADMIN], path: "/stockIssue", }, //TODO: anna @@ -122,24 +121,33 @@ const NavigationContent: React.FC = () => { { icon: , label: "Put Away Scan", + requiredAbility: [AUTH.STOCK, AUTH.STOCK_TAKE, AUTH.STOCK_IN_BIND, AUTH.ADMIN], path: "/putAway", }, { icon: , label: "Finished Good Order", + requiredAbility: [AUTH.STOCK_FG, AUTH.ADMIN], path: "/finishedGood", }, + { + icon: , + label: "Stock Record", + requiredAbility: [AUTH.STOCK_TAKE, AUTH.STOCK_IN_BIND, AUTH.STOCK_FG, AUTH.ADMIN], + path: "/stockRecord", + }, ], }, { icon: , label: "Delivery", path: "", - //requiredAbility: VIEW_DO, + requiredAbility: [AUTH.STOCK_FG, AUTH.ADMIN], children: [ { icon: , label: "Delivery Order", + requiredAbility: [AUTH.STOCK_FG, AUTH.ADMIN], path: "/do", }, ], @@ -182,6 +190,7 @@ const NavigationContent: React.FC = () => { icon: , label: "Scheduling", path: "", + requiredAbility: [AUTH.FORECAST, AUTH.ADMIN], children: [ { icon: , @@ -206,25 +215,30 @@ const NavigationContent: React.FC = () => { icon: , label: "Management Job Order", path: "", + requiredAbility: [AUTH.JOB_CREATE, AUTH.JOB_PICK, AUTH.JOB_PROD, AUTH.ADMIN], children: [ { icon: , label: "Search Job Order/ Create Job Order", + requiredAbility: [AUTH.JOB_CREATE, AUTH.ADMIN], path: "/jo", }, { icon: , label: "Job Order Pickexcution", + requiredAbility: [AUTH.JOB_PICK, AUTH.JOB_MAT, AUTH.ADMIN], path: "/jodetail", }, { icon: , label: "Job Order Production Process", + requiredAbility: [AUTH.JOB_PROD, AUTH.ADMIN], path: "/productionProcess", }, { icon: , label: "Bag Usage", + requiredAbility: [AUTH.JOB_PROD, AUTH.ADMIN], path: "/bag", }, ], @@ -233,33 +247,40 @@ const NavigationContent: React.FC = () => { icon: , label: "PS", path: "/ps", - requiredAbility: TESTING, + requiredAbility: AUTH.TESTING, isHidden: false, }, { icon: , label: "Printer Testing", path: "/testing", - requiredAbility: TESTING, + requiredAbility: [AUTH.TESTING, AUTH.ADMIN], + isHidden: false, + }, + { + icon: , + label: "Report Management", + path: "/report", + requiredAbility: [AUTH.TESTING, AUTH.ADMIN], isHidden: false, }, { icon: , label: "Settings", path: "", - requiredAbility: [VIEW_USER, VIEW_GROUP], + requiredAbility: [AUTH.VIEW_USER, AUTH.ADMIN], children: [ { icon: , label: "User", path: "/settings/user", - requiredAbility: VIEW_USER, + requiredAbility: [AUTH.VIEW_USER, AUTH.ADMIN], }, { icon: , label: "User Group", path: "/settings/user", - requiredAbility: VIEW_GROUP, + requiredAbility: [AUTH.VIEW_GROUP, AUTH.ADMIN], }, // { // icon: ,