| @@ -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: <RequestQuote />, | |||
| label: "Store Management", | |||
| path: "", | |||
| requiredAbility: [AUTH.PURCHASE, AUTH.STOCK, AUTH.STOCK_TAKE, AUTH.STOCK_FG, AUTH.STOCK_IN_BIND, AUTH.ADMIN], | |||
| children: [ | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Purchase Order", | |||
| requiredAbility: [AUTH.PURCHASE, AUTH.ADMIN], | |||
| path: "/po", | |||
| }, | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Pick Order", | |||
| requiredAbility: [AUTH.STOCK, AUTH.ADMIN], | |||
| path: "/pickOrder", | |||
| }, | |||
| // { | |||
| @@ -101,16 +97,19 @@ const NavigationContent: React.FC = () => { | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "View item In-out And inventory Ledger", | |||
| requiredAbility: [AUTH.STOCK, AUTH.ADMIN], | |||
| path: "/inventory", | |||
| }, | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Stock Take Management", | |||
| requiredAbility: [AUTH.STOCK_TAKE, AUTH.ADMIN], | |||
| path: "/stocktakemanagement", | |||
| }, | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Stock Issue", | |||
| requiredAbility: [AUTH.STOCK, AUTH.STOCK_TAKE, AUTH.ADMIN], | |||
| path: "/stockIssue", | |||
| }, | |||
| //TODO: anna | |||
| @@ -122,16 +121,19 @@ const NavigationContent: React.FC = () => { | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Put Away Scan", | |||
| requiredAbility: [AUTH.STOCK, AUTH.STOCK_TAKE, AUTH.STOCK_IN_BIND, AUTH.ADMIN], | |||
| path: "/putAway", | |||
| }, | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Finished Good Order", | |||
| requiredAbility: [AUTH.STOCK_FG, AUTH.ADMIN], | |||
| path: "/finishedGood", | |||
| }, | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Stock Record", | |||
| requiredAbility: [AUTH.STOCK_TAKE, AUTH.STOCK_IN_BIND, AUTH.STOCK_FG, AUTH.ADMIN], | |||
| path: "/stockRecord", | |||
| }, | |||
| ], | |||
| @@ -140,11 +142,12 @@ const NavigationContent: React.FC = () => { | |||
| icon: <RequestQuote />, | |||
| label: "Delivery", | |||
| path: "", | |||
| //requiredAbility: VIEW_DO, | |||
| requiredAbility: [AUTH.STOCK_FG, AUTH.ADMIN], | |||
| children: [ | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Delivery Order", | |||
| requiredAbility: [AUTH.STOCK_FG, AUTH.ADMIN], | |||
| path: "/do", | |||
| }, | |||
| ], | |||
| @@ -187,6 +190,7 @@ const NavigationContent: React.FC = () => { | |||
| icon: <RequestQuote />, | |||
| label: "Scheduling", | |||
| path: "", | |||
| requiredAbility: [AUTH.FORECAST, AUTH.ADMIN], | |||
| children: [ | |||
| { | |||
| icon: <RequestQuote />, | |||
| @@ -211,25 +215,30 @@ const NavigationContent: React.FC = () => { | |||
| icon: <RequestQuote />, | |||
| label: "Management Job Order", | |||
| path: "", | |||
| requiredAbility: [AUTH.JOB_CREATE, AUTH.JOB_PICK, AUTH.JOB_PROD, AUTH.ADMIN], | |||
| children: [ | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Search Job Order/ Create Job Order", | |||
| requiredAbility: [AUTH.JOB_CREATE, AUTH.ADMIN], | |||
| path: "/jo", | |||
| }, | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Job Order Pickexcution", | |||
| requiredAbility: [AUTH.JOB_PICK, AUTH.JOB_MAT, AUTH.ADMIN], | |||
| path: "/jodetail", | |||
| }, | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Job Order Production Process", | |||
| requiredAbility: [AUTH.JOB_PROD, AUTH.ADMIN], | |||
| path: "/productionProcess", | |||
| }, | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Bag Usage", | |||
| requiredAbility: [AUTH.JOB_PROD, AUTH.ADMIN], | |||
| path: "/bag", | |||
| }, | |||
| ], | |||
| @@ -238,40 +247,40 @@ const NavigationContent: React.FC = () => { | |||
| icon: <BugReportIcon />, | |||
| label: "PS", | |||
| path: "/ps", | |||
| requiredAbility: TESTING, | |||
| requiredAbility: AUTH.TESTING, | |||
| isHidden: false, | |||
| }, | |||
| { | |||
| icon: <BugReportIcon />, | |||
| label: "Printer Testing", | |||
| path: "/testing", | |||
| requiredAbility: TESTING, | |||
| requiredAbility: [AUTH.TESTING, AUTH.ADMIN], | |||
| isHidden: false, | |||
| }, | |||
| { | |||
| icon: <BugReportIcon />, | |||
| label: "Report Management", | |||
| path: "/report", | |||
| requiredAbility: TESTING, | |||
| requiredAbility: [AUTH.TESTING, AUTH.ADMIN], | |||
| isHidden: false, | |||
| }, | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "Settings", | |||
| path: "", | |||
| requiredAbility: [VIEW_USER, VIEW_GROUP], | |||
| requiredAbility: [AUTH.VIEW_USER, AUTH.ADMIN], | |||
| children: [ | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "User", | |||
| path: "/settings/user", | |||
| requiredAbility: VIEW_USER, | |||
| requiredAbility: [AUTH.VIEW_USER, AUTH.ADMIN], | |||
| }, | |||
| { | |||
| icon: <RequestQuote />, | |||
| label: "User Group", | |||
| path: "/settings/user", | |||
| requiredAbility: VIEW_GROUP, | |||
| requiredAbility: [AUTH.VIEW_GROUP, AUTH.ADMIN], | |||
| }, | |||
| // { | |||
| // icon: <RequestQuote />, | |||