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
@@ -1256,34 +1256,106 @@
"saveError": "فشل حفظ الدور",
"deleteConfirm": "حذف الدور «{name}»؟ سيعود الموظفون إلى صلاحيات دورهم الأساسي.",
"groupAdmin": "إدارة المقهى",
"groupMenu": "القائمة والمخزون",
"groupStaff": "الموظفون",
"groupCustomer": "العملاء والطاولات",
"groupBranches": "الفروع",
"groupMenu": "القائمة",
"groupInventory": "المخزون",
"groupTaxes": "الضرائب",
"groupStaff": "الموظفون والموارد البشرية",
"groupTables": "الطاولات والحجوزات",
"groupOrders": "الطلبات ونقطة البيع",
"groupRegister": "الصندوق والنقد",
"groupQueueKitchen": "الانتظار والمطبخ",
"groupDelivery": "التوصيل",
"groupCustomers": "العملاء",
"groupCoupons": "الكوبونات",
"groupMarketing": "التسويق والتقييمات",
"groupReports": "التقارير والمالية",
"groupOps": "عمليات الصندوق",
"groupKitchen": "المطبخ والتوصيل",
"groupExpenses": "المصروفات",
"perm": {
"ManageCafeSettings": "إعدادات المقهى",
"ManageBilling": "الاشتراك والفواتير",
"ManageBranches": "إدارة الفروع",
"ManageMenu": "إدارة القائمة",
"ManageInventory": "المخزون",
"ManageTaxes": "الضرائب",
"ManagePrintSettings": "إعدادات الطباعة",
"ManageStaff": "إدارة الموظفين",
"ManageSalaries": "الرواتب",
"ReviewLeave": "طلبات الإجازة",
"ManageReservations": "الحجوزات",
"ManageTables": "الطاولات",
"ManageCoupons": "الكوبونات",
"ViewReports": "التقارير",
"ManageExpenses": "المصروفات",
"ProcessOrders": "معالجة الطلبات",
"HandlePayments": "المدفوعات",
"OperateRegister": "الصندوق",
"ManageQueue": "قائمة الانتظار",
"ViewCafeSettings": "عرض إعدادات المقهى",
"ManageCafeSettings": "تعديل إعدادات المقهى",
"ManageDiscoverProfile": "الملف العام و«كوجا»",
"ViewBilling": "عرض الفواتير",
"ManageBilling": "إدارة الاشتراك والفواتير",
"ManageRoles": "إدارة الأدوار",
"ViewPrintSettings": "عرض إعدادات الطباعة",
"ManagePrintSettings": "تعديل إعدادات الطباعة",
"ViewBranches": "عرض الفروع",
"CreateBranch": "إنشاء فرع",
"EditBranch": "تعديل فرع",
"DeleteBranch": "حذف فرع",
"ViewMenu": "عرض القائمة",
"CreateMenuItem": "إضافة أصناف",
"EditMenuItem": "تعديل الأصناف",
"DeleteMenuItem": "حذف الأصناف",
"ViewInventory": "عرض المخزون",
"CreateInventory": "إضافة للمخزون",
"EditInventory": "تعديل المخزون والكميات",
"DeleteInventory": "حذف من المخزون",
"ViewTaxes": "عرض الضرائب",
"CreateTax": "إنشاء ضريبة",
"EditTax": "تعديل ضريبة",
"DeleteTax": "حذف ضريبة",
"ViewStaff": "عرض الموظفين",
"CreateStaff": "إضافة موظف",
"EditStaff": "تعديل موظف",
"DeleteStaff": "حذف موظف",
"ManageStaff": "تعيين أدوار الفروع",
"ManageStaffCredentials": "إدارة بيانات الدخول",
"ViewAttendance": "عرض الحضور",
"ManageAttendance": "إدارة الحضور",
"ViewSchedules": "عرض المناوبات",
"ManageSchedules": "إدارة المناوبات",
"ViewLeave": "عرض طلبات الإجازة",
"ReviewLeave": "اعتماد الإجازات",
"ViewSalaries": "عرض الرواتب",
"ManageSalaries": "إدارة الرواتب",
"ViewTables": "عرض الطاولات",
"ManageTables": "إدارة الطاولات والأقسام",
"ViewReservations": "عرض الحجوزات",
"CreateReservation": "إنشاء حجز",
"EditReservation": "تعديل حجز",
"DeleteReservation": "حذف حجز",
"ViewOrders": "عرض الطلبات",
"ProcessOrders": "تسجيل الطلبات",
"EditOrder": "تعديل الطلبات",
"VoidOrder": "إبطال / إلغاء الطلبات",
"RefundOrder": "استرداد الطلبات",
"ApplyDiscount": "تطبيق الخصومات",
"CompOrder": "طلب مجاني (ضيافة)",
"HandlePayments": "استلام المدفوعات",
"UpdateOrderStatus": "تحديث حالة الطلب",
"OperateRegister": "فتح / إغلاق الصندوق",
"OpenCashDrawer": "فتح درج النقود (بدون بيع)",
"ViewQueue": "عرض قائمة الانتظار",
"ManageQueue": "إدارة قائمة الانتظار",
"ViewKitchen": "شاشة المطبخ",
"HandleDelivery": "التوصيل"
"ManageKitchenStations": "إدارة محطات المطبخ",
"ViewDelivery": "عرض التوصيل",
"HandleDelivery": "إدارة التوصيل",
"AssignDelivery": "تعيين السائق",
"ViewCustomers": "عرض العملاء",
"CreateCustomer": "إضافة عميل",
"EditCustomer": "تعديل عميل",
"DeleteCustomer": "حذف عميل",
"ViewCoupons": "عرض الكوبونات",
"CreateCoupon": "إنشاء كوبون",
"EditCoupon": "تعديل كوبون",
"DeleteCoupon": "حذف كوبون",
"ViewSms": "عرض الرسائل",
"SendSms": "إرسال حملات الرسائل",
"ManageSmsSettings": "إعدادات الرسائل",
"ViewReviews": "عرض التقييمات",
"ManageReviews": "الرد على التقييمات وإدارتها",
"ViewReports": "عرض التقارير",
"ExportReports": "تصدير التقارير",
"ViewAuditLog": "عرض سجل العمليات",
"ViewFinancials": "عرض المالية (الأرباح والخسائر)",
"ManageFinancials": "تصحيح سندات الدفع",
"ViewExpenses": "عرض المصروفات",
"CreateExpense": "إضافة مصروف",
"EditExpense": "تعديل مصروف",
"DeleteExpense": "حذف مصروف"
}
},
"appearance": {