٩ أدوار × ١٤٠ إجراء = ١٢٦٠ خلية صلاحية
كل دور له مجموعة صلاحيات محددة
| الإجراء / Action | مدير عام | مدير مشاريع | م. موقع | م. تصميم | فني | مخزن | مشتريات | حسابات | تخطيط | عميل |
|---|---|---|---|---|---|---|---|---|---|---|
| 📁 ١ · المصادقة والمستخدمون · Authentication & Users | ||||||||||
| تسجيل دخول | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| تغيير كلمة السر | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| عرض كل المستخدمين | ✓ | ◐ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ◐ | ✗ |
| إنشاء مستخدم جديد | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| تعديل بيانات مستخدم | ✓ | ✗ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ |
| حذف / تعطيل مستخدم | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| إدارة الأدوار والصلاحيات | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| إدارة الأقسام | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| 📁 ٢ · المشاريع · Projects | ||||||||||
| عرض كل المشاريع | ✓ | ✓ | ⊙ | ⊙ | ⊙ | ◐ | ◐ | ✓ | ✓ | ⊙ |
| إنشاء مشروع جديد | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| تعديل تفاصيل مشروع | ✓ | ⊙ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| حذف مشروع | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| تخصيص فريق المشروع | ✓ | ⊙ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| عرض الميزانية | ✓ | ⊙ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ⊙ |
| تعديل الميزانية | ✓ | ⊙ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| عرض الجدول الزمني (Gantt) | ✓ | ✓ | ⊙ | ⊙ | ⊙ | ✗ | ✗ | ✗ | ✓ | ⊙ |
| 📅 ٣ · التخطيط · Planning ⭐ | ||||||||||
| عرض لوحة التخطيط | ✓ | ✓ | ⊙ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| إنشاء جدول أسبوعي/نصف شهري | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| إضافة بنود للجدول | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| تحديث نسبة التنفيذ | ✓ | ⊙ | ⊙ | ✗ | ✗ | ✗ | ✗ | ✗ | ⊙ | ✗ |
| اعتماد الجودة (Sign-off) | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| رفض الجودة وطلب تعديل | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| إعادة ترتيب البنود (Drag&Drop) | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| عرض البنود المتأخرة | ✓ | ✓ | ⊙ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ⊙ |
| ✅ ٤ · الاعتمادات · Approvals | ||||||||||
| عرض الاعتمادات المعلقة | ✓ | ✓ | ⊙ | ⊙ | ✗ | ✗ | ✗ | ✗ | ⊙ | ⊙ |
| إنشاء طلب اعتماد | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| اعتماد طلب (للعميل) | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ⊙ |
| اعتماد طلب (داخلي) | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| رفض طلب اعتماد | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ⊙ |
| 📦 ٥ · المخازن · Warehouse | ||||||||||
| عرض المخزون | ✓ | ✓ | ◐ | ✗ | ✗ | ✓ | ✓ | ◐ | ◐ | ✗ |
| إنشاء طلب مخزن (للمهندس) | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| معالجة طلب مخزن | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| تحويل النواقص للمشتريات | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| إضافة صنف جديد للكتالوج | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| تسجيل حركة مخزون | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| 🛒 ٦ · المشتريات · Purchasing | ||||||||||
| عرض طلبات الشراء | ✓ | ✓ | ⊙ | ✗ | ✗ | ✓ | ✓ | ◐ | ✗ | ✗ |
| إنشاء أمر شراء | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
| اعتماد أمر شراء (>50K) | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| إدارة الموردين | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
| الاشتراك في إشعارات موقع | ✓ | ✓ | ⊙ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ |
| 💰 ٧ · المحاسبة والفواتير · Accounting | ||||||||||
| عرض الفواتير | ✓ | ⊙ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ⊙ |
| إنشاء فاتورة | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| تأكيد دفعة (admin side) | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| دفع فاتورة (للعميل) | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ⊙ |
| عرض P&L Reports | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| 🎨 ٨ · التصميم والملفات · Design & Files | ||||||||||
| رفع ملفات تصميم | ✓ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| رفع رسومات تنفيذية | ✓ | ✓ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| رفع صور الموقع | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| تحميل الملفات | ✓ | ✓ | ⊙ | ⊙ | ⊙ | ✗ | ✗ | ✗ | ⊙ | ⊙ |
| اعتماد التصاميم (للعميل) | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ⊙ |
| 💬 ٩ · الاستفسارات والشات · Inquiries & Chat | ||||||||||
| الدخول لكل المحادثات | ✓ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ |
| إرسال رسائل | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| رفع مرفقات | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| حذف رسائل (own only) | ✓ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ | ⊙ |
| ⭐ ١٠ · إدارة العقارات VIP · Property Management | ||||||||||
| عرض كل العقارات | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ⊙ |
| إضافة عقار جديد | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ⊙ |
| إضافة مستأجر | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ⊙ |
| طلب صيانة | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ⊙ |
| جدولة صيانة دورية | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| تنفيذ صيانة (الفني) | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| تحصيل الإيجار | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| عرض التقرير الربعي | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ⊙ |
| إصدار التقرير الربعي | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| 📊 ١١ · التقارير والتحليلات · Reports | ||||||||||
| عرض التقارير العامة | ✓ | ⊙ | ⊙ | ✗ | ✗ | ✗ | ✗ | ◐ | ⊙ | ⊙ |
| تصدير تقارير (PDF/Excel) | ✓ | ✓ | ⊙ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ⊙ |
| سجل النشاط الكامل (Audit Log) | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| ⚙️ ١٢ · الإعدادات · Settings | ||||||||||
| إعدادات النظام العامة | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| إدارة قوالب الإشعارات | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| تخصيص Workflows | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| إعدادات الإشعارات الشخصية | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
claims في JWT · validation عند كل request · Policy-based authorization في ASP.NET Core.
PermissionService · *rkCan directive لإخفاء العناصر · Route Guards للصفحات.
المدير العام يقدر يضيف/يعدّل أدوار جديدة · ينشئ صلاحيات custom.
// Permission Policy [Authorize("CanCreateProject")] public async Task<IActionResult> CreateProject(...) // Or Role-based [Authorize(Roles = "Admin,PM")] public async Task<IActionResult> ApprovePO(...) // Or Resource-based (own data) if (project.OwnerId != currentUser.Id) return Forbid();
// In template - hide if no permission <button *rkCan="'project.create'"> مشروع جديد </button> // In component if (this.permission.can('project.delete')) { // show delete button } // In route guard canActivate: [roleGuard(['admin'])]