feat(rbac): full permission catalog in the custom-role matrix UI (fa/en/ar)
CI/CD / CI · API (dotnet build + test) (push) Successful in 42s
CI/CD / CI · Admin API (dotnet build) (push) Successful in 30s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m7s
CI/CD / CI · Admin Web (tsc) (push) Successful in 37s
CI/CD / CI · Website (tsc) (push) Successful in 45s
CI/CD / CI · Koja (tsc) (push) Successful in 49s
CI/CD / Deploy · all services (push) Successful in 3m24s

Mirrors the expanded backend catalog on the client: the Permission type and the
custom-role permission matrix now expose all ~80 capabilities grouped into 16
sections (admin, branches, menu, inventory, taxes, staff, tables, orders,
register, queue/kitchen, delivery, customers, coupons, marketing, reports,
expenses), each with fa/en/ar labels. Nav visibility now maps each page to its
View permission; taxes & branches become permission-driven (managers can view),
leaving billing as the sole hard owner-only nav gate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-21 05:49:11 +03:30
parent 7a5ea75b50
commit 53d90fa357
6 changed files with 471 additions and 113 deletions
+97 -25
View File
@@ -1328,34 +1328,106 @@
"saveError": "Failed to save role",
"deleteConfirm": "Delete role '{name}'? Employees will revert to their base role permissions.",
"groupAdmin": "Café Administration",
"groupMenu": "Menu & Inventory",
"groupStaff": "Staff",
"groupCustomer": "Customer & Tables",
"groupBranches": "Branches",
"groupMenu": "Menu",
"groupInventory": "Inventory",
"groupTaxes": "Taxes",
"groupStaff": "Staff & HR",
"groupTables": "Tables & Reservations",
"groupOrders": "Orders & POS",
"groupRegister": "Register & Cash",
"groupQueueKitchen": "Queue & Kitchen",
"groupDelivery": "Delivery",
"groupCustomers": "Customers",
"groupCoupons": "Coupons",
"groupMarketing": "Marketing & Reviews",
"groupReports": "Reports & Finance",
"groupOps": "Register Operations",
"groupKitchen": "Kitchen & Delivery",
"groupExpenses": "Expenses",
"perm": {
"ManageCafeSettings": "Café settings",
"ManageBilling": "Billing & subscription",
"ManageBranches": "Manage branches",
"ManageMenu": "Menu management",
"ManageInventory": "Inventory",
"ManageTaxes": "Taxes",
"ManagePrintSettings": "Print settings",
"ManageStaff": "Staff management",
"ManageSalaries": "Salaries",
"ReviewLeave": "Leave requests",
"ManageReservations": "Reservations",
"ManageTables": "Tables",
"ManageCoupons": "Coupons",
"ViewReports": "Reports",
"ManageExpenses": "Expenses",
"ProcessOrders": "Process orders",
"HandlePayments": "Handle payments",
"OperateRegister": "Register",
"ManageQueue": "Queue",
"ViewCafeSettings": "View café settings",
"ManageCafeSettings": "Edit café settings",
"ManageDiscoverProfile": "Discover & public profile",
"ViewBilling": "View billing",
"ManageBilling": "Manage billing & subscription",
"ManageRoles": "Manage roles",
"ViewPrintSettings": "View print settings",
"ManagePrintSettings": "Edit print settings",
"ViewBranches": "View branches",
"CreateBranch": "Create branch",
"EditBranch": "Edit branch",
"DeleteBranch": "Delete branch",
"ViewMenu": "View menu",
"CreateMenuItem": "Add menu items",
"EditMenuItem": "Edit menu items",
"DeleteMenuItem": "Delete menu items",
"ViewInventory": "View inventory",
"CreateInventory": "Add inventory",
"EditInventory": "Edit inventory & stock",
"DeleteInventory": "Delete inventory",
"ViewTaxes": "View taxes",
"CreateTax": "Create tax",
"EditTax": "Edit tax",
"DeleteTax": "Delete tax",
"ViewStaff": "View staff",
"CreateStaff": "Add staff",
"EditStaff": "Edit staff",
"DeleteStaff": "Remove staff",
"ManageStaff": "Assign branch roles",
"ManageStaffCredentials": "Manage login credentials",
"ViewAttendance": "View attendance",
"ManageAttendance": "Manage attendance",
"ViewSchedules": "View schedules",
"ManageSchedules": "Manage schedules",
"ViewLeave": "View leave requests",
"ReviewLeave": "Approve leave requests",
"ViewSalaries": "View salaries",
"ManageSalaries": "Manage salaries",
"ViewTables": "View tables",
"ManageTables": "Manage tables & sections",
"ViewReservations": "View reservations",
"CreateReservation": "Create reservation",
"EditReservation": "Edit reservation",
"DeleteReservation": "Delete reservation",
"ViewOrders": "View orders",
"ProcessOrders": "Take orders",
"EditOrder": "Edit orders",
"VoidOrder": "Void / cancel orders",
"RefundOrder": "Refund orders",
"ApplyDiscount": "Apply discounts",
"CompOrder": "Comp (free) orders",
"HandlePayments": "Take payments",
"UpdateOrderStatus": "Update order status",
"OperateRegister": "Open / close register",
"OpenCashDrawer": "Open cash drawer (no-sale)",
"ViewQueue": "View queue",
"ManageQueue": "Manage queue",
"ViewKitchen": "Kitchen display",
"HandleDelivery": "Delivery"
"ManageKitchenStations": "Manage kitchen stations",
"ViewDelivery": "View delivery",
"HandleDelivery": "Handle delivery",
"AssignDelivery": "Assign delivery",
"ViewCustomers": "View customers",
"CreateCustomer": "Add customers",
"EditCustomer": "Edit customers",
"DeleteCustomer": "Delete customers",
"ViewCoupons": "View coupons",
"CreateCoupon": "Create coupon",
"EditCoupon": "Edit coupon",
"DeleteCoupon": "Delete coupon",
"ViewSms": "View SMS",
"SendSms": "Send SMS campaigns",
"ManageSmsSettings": "SMS settings",
"ViewReviews": "View reviews",
"ManageReviews": "Reply & moderate reviews",
"ViewReports": "View reports",
"ExportReports": "Export reports",
"ViewAuditLog": "View audit log",
"ViewFinancials": "View financials (P&L)",
"ManageFinancials": "Payment corrections",
"ViewExpenses": "View expenses",
"CreateExpense": "Add expense",
"EditExpense": "Edit expense",
"DeleteExpense": "Delete expense"
}
},
"appearance": {