Просмотр исходного кода

added menu item auth control

MergeProblem1
[email protected] 2 недель назад
Родитель
Сommit
7aca307ed4
1 измененных файлов: 24 добавлений и 15 удалений
  1. +24
    -15
      src/components/NavigationContent/NavigationContent.tsx

+ 24
- 15
src/components/NavigationContent/NavigationContent.tsx Просмотреть файл

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


Загрузка…
Отмена
Сохранить