Commit 641e4fa2 authored by Mahmoud Aglan's avatar Mahmoud Aglan

test

parent 340c6da5
......@@ -299,12 +299,13 @@ class TutorialController extends Controller
'scenarios' => ['label' => 'سيناريوهات كاملة', 'icon' => 'play-circle','color' => '#6366F1'],
];
private const MEMBERSHIP_RELATED = ['carnets', 'interviews', 'installments', 'seasonal', 'fines', 'subscriptions'];
private const SA_RELATED = ['coaches', 'facilities', 'tournaments', 'reservations', 'match-center', 'pool-management'];
private const MEMBERSHIP_RELATED = ['carnets', 'interviews', 'installments', 'seasonal', 'fines', 'subscriptions', 'documents'];
private const SA_RELATED = ['coaches', 'facilities', 'tournaments', 'reservations', 'match-center', 'pool-management', 'playgrounds', 'sa-registration', 'player-affairs'];
public function index(Request $request): Response
{
$modules = [
// ── العمليات (Operations) ──────────────────────────
'membership' => [
'title' => 'شئون العضوية',
'subtitle' => 'التسجيل والرسوم والتحويلات والكارنيهات',
......@@ -319,6 +320,7 @@ class TutorialController extends Controller
'color' => '#8B5CF6',
'count' => count(self::SA_TUTORIALS),
],
// ── المالية (Finance) ──────────────────────────────
'treasury' => [
'title' => 'دورة التحصيلات',
'subtitle' => 'الخزنة الفرعية والرئيسية والإيداعات',
......
......@@ -8,89 +8,18 @@ final class TutorialRegistry
public static function getSections(): array
{
return [
'accounting' => [
'title' => 'المحاسبة والماليات',
'subtitle' => 'دفتر الأستاذ والقيود والميزانيات',
'icon' => 'calculator',
'color' => '#059669',
],
'hr' => [
'title' => 'الموارد البشرية',
'subtitle' => 'الموظفين والحضور والرواتب',
'icon' => 'briefcase',
'color' => '#7C3AED',
],
'procurement' => [
'title' => 'المشتريات',
'subtitle' => 'طلبات الشراء والموردين والمدفوعات',
'icon' => 'shopping-cart',
'color' => '#D97706',
],
'inventory' => [
'title' => 'المخازن',
'subtitle' => 'الأصناف والمخازن وحركات المخزون',
'icon' => 'warehouse',
'color' => '#0891B2',
],
'cashier' => [
'title' => 'الخزينة الرئيسية',
'subtitle' => 'طابور الدفع والشيكات والتقارير اليومية',
'icon' => 'landmark',
// ── العمليات (Operations) ──────────────────────────
'subscriptions' => [
'title' => 'الاشتراكات',
'subtitle' => 'التوليد السنوي والتحصيل والمتابعة',
'icon' => 'calendar-check',
'color' => '#059669',
],
'sales' => [
'title' => 'المبيعات',
'subtitle' => 'نقاط البيع والباقات والعمولات',
'icon' => 'shopping-bag',
'color' => '#DC2626',
],
'payments' => [
'title' => 'المدفوعات',
'subtitle' => 'أنواع الدفع والإيصالات وسير الإلغاء',
'icon' => 'credit-card',
'color' => '#2563EB',
],
'coaches' => [
'title' => 'المدربين',
'subtitle' => 'تسجيل المدربين والتخصصات والأداء',
'icon' => 'user-check',
'color' => '#16A34A',
],
'carnets' => [
'title' => 'الكارنيهات',
'subtitle' => 'الإصدار والطباعة والإلغاء',
'icon' => 'id-card',
'color' => '#0284C7',
],
'facilities' => [
'title' => 'المرافق',
'subtitle' => 'المنشآت والوحدات والصيانة والحجز',
'icon' => 'building',
'color' => '#4F46E5',
],
'tournaments' => [
'title' => 'البطولات',
'subtitle' => 'إنشاء بطولات وتسجيل وقرعة ونتائج',
'icon' => 'trophy',
'color' => '#CA8A04',
],
'rentals' => [
'title' => 'الإيجارات',
'subtitle' => 'الوحدات المؤجرة والعقود والفواتير',
'icon' => 'key',
'color' => '#9333EA',
],
'support' => [
'title' => 'الدعم الفني',
'subtitle' => 'التذاكر والتعيين والحل',
'icon' => 'headphones',
'color' => '#0D9488',
],
'settings' => [
'title' => 'الإعدادات',
'subtitle' => 'ضبط النظام والهوية وتصميم الإيصالات',
'icon' => 'settings',
'color' => '#6B7280',
'installments' => [
'title' => 'التقسيط',
'subtitle' => 'خطط التقسيط والجدولة والمتابعة',
'icon' => 'calendar-range',
'color' => '#06B6D4',
],
'fines' => [
'title' => 'المخالفات',
......@@ -98,29 +27,17 @@ final class TutorialRegistry
'icon' => 'alert-triangle',
'color' => '#DC2626',
],
'roles' => [
'title' => 'الأدوار والصلاحيات',
'subtitle' => 'إنشاء الأدوار وتعيين الصلاحيات',
'icon' => 'shield',
'color' => '#7C3AED',
],
'interviews' => [
'title' => 'المقابلات',
'subtitle' => 'الجدولة والإجراء والنتائج',
'icon' => 'message-square',
'color' => '#0EA5E9',
],
'installments' => [
'title' => 'التقسيط',
'subtitle' => 'خطط التقسيط والجدولة والمتابعة',
'icon' => 'calendar-range',
'color' => '#06B6D4',
],
'reports' => [
'title' => 'التقارير',
'subtitle' => 'أنواع التقارير والفلاتر والتصدير',
'icon' => 'bar-chart-3',
'color' => '#8B5CF6',
'documents' => [
'title' => 'المستندات',
'subtitle' => 'الرفع والتصنيف والتحقق',
'icon' => 'file-text',
'color' => '#475569',
],
'seasonal' => [
'title' => 'العضوية الموسمية',
......@@ -128,35 +45,42 @@ final class TutorialRegistry
'icon' => 'sun',
'color' => '#F59E0B',
],
'documents' => [
'title' => 'المستندات',
'subtitle' => 'الرفع والتصنيف والتحقق',
'icon' => 'file-text',
'color' => '#475569',
'carnets' => [
'title' => 'الكارنيهات',
'subtitle' => 'الإصدار والطباعة والإلغاء',
'icon' => 'id-card',
'color' => '#0284C7',
],
'branches' => [
'title' => 'الفروع',
'subtitle' => 'إنشاء الفروع وإعداداتها',
'icon' => 'git-branch',
'color' => '#EA580C',
// ── الأنشطة الرياضية (Sports) ──────────────────────
'sa-registration' => [
'title' => 'تسجيل النشاط الرياضي',
'subtitle' => 'معالج التسجيل والكروت والبوابة والتقارير',
'icon' => 'clipboard-check',
'color' => '#0891B2',
],
'news' => [
'title' => 'الأخبار',
'subtitle' => 'إنشاء المقالات والنشر',
'icon' => 'newspaper',
'color' => '#2563EB',
'player-affairs' => [
'title' => 'شؤون اللاعبين',
'subtitle' => 'التسجيل والتقييم والإصابات واللياقة',
'icon' => 'medal',
'color' => '#0D9488',
],
'workflow' => [
'title' => 'سير العمل',
'subtitle' => 'قواعد سير العمل والموافقات',
'icon' => 'git-pull-request',
'color' => '#7C3AED',
'coaches' => [
'title' => 'المدربين',
'subtitle' => 'تسجيل المدربين والتخصصات والأداء',
'icon' => 'user-check',
'color' => '#16A34A',
],
'subscriptions' => [
'title' => 'الاشتراكات',
'subtitle' => 'التوليد السنوي والتحصيل والمتابعة',
'icon' => 'calendar-check',
'color' => '#059669',
'facilities' => [
'title' => 'المرافق',
'subtitle' => 'المنشآت والوحدات والصيانة والحجز',
'icon' => 'building',
'color' => '#4F46E5',
],
'playgrounds' => [
'title' => 'الملاعب',
'subtitle' => 'إدارة الملاعب والجدولة والمرآة الحية',
'icon' => 'layout-grid',
'color' => '#16A34A',
],
'reservations' => [
'title' => 'الحجوزات',
......@@ -164,11 +88,11 @@ final class TutorialRegistry
'icon' => 'calendar',
'color' => '#3B82F6',
],
'match-center' => [
'title' => 'مركز المباريات',
'subtitle' => 'المباريات الحية والأحداث والنتائج',
'icon' => 'tv',
'color' => '#DC2626',
'tournaments' => [
'title' => 'البطولات',
'subtitle' => 'إنشاء بطولات وتسجيل وقرعة ونتائج',
'icon' => 'trophy',
'color' => '#CA8A04',
],
'pool-management' => [
'title' => 'إدارة حمامات السباحة',
......@@ -176,23 +100,81 @@ final class TutorialRegistry
'icon' => 'waves',
'color' => '#0EA5E9',
],
'match-center' => [
'title' => 'مركز المباريات',
'subtitle' => 'المباريات الحية والأحداث والنتائج',
'icon' => 'tv',
'color' => '#DC2626',
],
// ── المالية (Finance) ──────────────────────────────
'cashier' => [
'title' => 'الخزينة الرئيسية',
'subtitle' => 'طابور الدفع والشيكات والتقارير اليومية',
'icon' => 'landmark',
'color' => '#059669',
],
'payments' => [
'title' => 'المدفوعات',
'subtitle' => 'أنواع الدفع والإيصالات وسير الإلغاء',
'icon' => 'credit-card',
'color' => '#2563EB',
],
'accounting' => [
'title' => 'المحاسبة والماليات',
'subtitle' => 'دفتر الأستاذ والقيود والميزانيات',
'icon' => 'calculator',
'color' => '#059669',
],
// ── سلسلة التوريد (Supply Chain) ───────────────────
'inventory' => [
'title' => 'المخازن',
'subtitle' => 'الأصناف والمخازن وحركات المخزون',
'icon' => 'warehouse',
'color' => '#0891B2',
],
'procurement' => [
'title' => 'المشتريات',
'subtitle' => 'طلبات الشراء والموردين والمدفوعات',
'icon' => 'shopping-cart',
'color' => '#D97706',
],
'sales' => [
'title' => 'المبيعات',
'subtitle' => 'نقاط البيع والباقات والعمولات',
'icon' => 'shopping-bag',
'color' => '#DC2626',
],
// ── الشئون الإدارية (Administration) ───────────────
'hr' => [
'title' => 'الموارد البشرية',
'subtitle' => 'الموظفين والحضور والرواتب',
'icon' => 'briefcase',
'color' => '#7C3AED',
],
'rentals' => [
'title' => 'الإيجارات',
'subtitle' => 'الوحدات المؤجرة والعقود والفواتير',
'icon' => 'key',
'color' => '#9333EA',
],
// ── النظام والإعدادات (System) ─────────────────────
'reports' => [
'title' => 'التقارير',
'subtitle' => 'أنواع التقارير والفلاتر والتصدير',
'icon' => 'bar-chart-3',
'color' => '#8B5CF6',
],
'users' => [
'title' => 'إدارة المستخدمين',
'subtitle' => 'إنشاء الحسابات وتعيين الأدوار والصلاحيات',
'icon' => 'users',
'color' => '#6366F1',
],
'notifications' => [
'title' => 'الإشعارات',
'subtitle' => 'القوالب والمشغلات وسجل الإرسال',
'icon' => 'bell',
'color' => '#F97316',
],
'player-affairs' => [
'title' => 'شؤون اللاعبين',
'subtitle' => 'التسجيل والتقييم والإصابات واللياقة',
'icon' => 'medal',
'color' => '#0D9488',
'roles' => [
'title' => 'الأدوار والصلاحيات',
'subtitle' => 'إنشاء الأدوار وتعيين الصلاحيات',
'icon' => 'shield',
'color' => '#7C3AED',
],
'forms' => [
'title' => 'النماذج الإلكترونية',
......@@ -206,23 +188,47 @@ final class TutorialRegistry
'icon' => 'tag',
'color' => '#059669',
],
'workflow' => [
'title' => 'سير العمل',
'subtitle' => 'قواعد سير العمل والموافقات',
'icon' => 'git-pull-request',
'color' => '#7C3AED',
],
'settings' => [
'title' => 'الإعدادات',
'subtitle' => 'ضبط النظام والهوية وتصميم الإيصالات',
'icon' => 'settings',
'color' => '#6B7280',
],
'branches' => [
'title' => 'الفروع',
'subtitle' => 'إنشاء الفروع وإعداداتها',
'icon' => 'git-branch',
'color' => '#EA580C',
],
'notifications' => [
'title' => 'الإشعارات',
'subtitle' => 'القوالب والمشغلات وسجل الإرسال',
'icon' => 'bell',
'color' => '#F97316',
],
'audit' => [
'title' => 'سجل المراجعة',
'subtitle' => 'تتبع جميع التعديلات والعمليات في النظام',
'icon' => 'eye',
'color' => '#64748B',
],
'playgrounds' => [
'title' => 'الملاعب',
'subtitle' => دارة الملاعب والجدولة والمرآة الحية',
'icon' => 'layout-grid',
'color' => '#16A34A',
'news' => [
'title' => 'الأخبار',
'subtitle' => نشاء المقالات والنشر',
'icon' => 'newspaper',
'color' => '#2563EB',
],
'sa-registration' => [
'title' => 'تسجيل النشاط الرياضي',
'subtitle' => 'معالج التسجيل والكروت والبوابة والتقارير',
'icon' => 'clipboard-check',
'color' => '#0891B2',
'support' => [
'title' => 'الدعم الفني',
'subtitle' => 'التذاكر والتعيين والحل',
'icon' => 'headphones',
'color' => '#0D9488',
],
];
}
......
......@@ -13,25 +13,45 @@ MenuRegistry::register('tutorials', [
'parent' => null,
'order' => 990,
'children' => [
// ── العمليات (Operations) ──────────────────────────
['label_ar' => 'شئون العضوية', 'label_en' => 'Membership', 'route' => '/tutorials/membership', 'permission' => 'tutorials.view', 'order' => 1],
['label_ar' => 'النشاط الرياضي', 'label_en' => 'Sports Activity', 'route' => '/tutorials/sports-activity', 'permission' => 'tutorials.view', 'order' => 2],
['label_ar' => 'الخزينة', 'label_en' => 'Treasury', 'route' => '/tutorials/treasury', 'permission' => 'tutorials.view', 'order' => 3],
['label_ar' => 'المحاسبة والماليات', 'label_en' => 'Accounting', 'route' => '/tutorials/accounting', 'permission' => 'tutorials.view', 'order' => 4],
['label_ar' => 'الموارد البشرية', 'label_en' => 'HR', 'route' => '/tutorials/hr', 'permission' => 'tutorials.view', 'order' => 5],
['label_ar' => 'المشتريات', 'label_en' => 'Procurement', 'route' => '/tutorials/procurement', 'permission' => 'tutorials.view', 'order' => 6],
['label_ar' => 'المخازن', 'label_en' => 'Inventory', 'route' => '/tutorials/inventory', 'permission' => 'tutorials.view', 'order' => 7],
['label_ar' => 'الخزينة الرئيسية', 'label_en' => 'Cashier', 'route' => '/tutorials/cashier', 'permission' => 'tutorials.view', 'order' => 8],
['label_ar' => 'المبيعات', 'label_en' => 'Sales', 'route' => '/tutorials/sales', 'permission' => 'tutorials.view', 'order' => 9],
['label_ar' => 'المدفوعات', 'label_en' => 'Payments', 'route' => '/tutorials/payments', 'permission' => 'tutorials.view', 'order' => 10],
['label_ar' => 'الإيجارات', 'label_en' => 'Rentals', 'route' => '/tutorials/rentals', 'permission' => 'tutorials.view', 'order' => 11],
['label_ar' => 'الدعم الفني', 'label_en' => 'Support', 'route' => '/tutorials/support', 'permission' => 'tutorials.view', 'order' => 12],
['label_ar' => 'الإعدادات', 'label_en' => 'Settings', 'route' => '/tutorials/settings', 'permission' => 'tutorials.view', 'order' => 13],
['label_ar' => 'الأدوار والصلاحيات', 'label_en' => 'Roles', 'route' => '/tutorials/roles', 'permission' => 'tutorials.view', 'order' => 14],
['label_ar' => 'التقارير', 'label_en' => 'Reports', 'route' => '/tutorials/reports', 'permission' => 'tutorials.view', 'order' => 15],
['label_ar' => 'المستندات', 'label_en' => 'Documents', 'route' => '/tutorials/documents', 'permission' => 'tutorials.view', 'order' => 16],
['label_ar' => 'الفروع', 'label_en' => 'Branches', 'route' => '/tutorials/branches', 'permission' => 'tutorials.view', 'order' => 17],
['label_ar' => 'الأخبار', 'label_en' => 'News', 'route' => '/tutorials/news', 'permission' => 'tutorials.view', 'order' => 18],
['label_ar' => 'سير العمل', 'label_en' => 'Workflow', 'route' => '/tutorials/workflow', 'permission' => 'tutorials.view', 'order' => 19],
['label_ar' => 'الاشتراكات السنوية', 'label_en' => 'Subscriptions', 'route' => '/tutorials/subscriptions', 'permission' => 'tutorials.view', 'order' => 2],
['label_ar' => 'التقسيط', 'label_en' => 'Installments', 'route' => '/tutorials/installments', 'permission' => 'tutorials.view', 'order' => 3],
['label_ar' => 'المخالفات والغرامات', 'label_en' => 'Fines', 'route' => '/tutorials/fines', 'permission' => 'tutorials.view', 'order' => 4],
['label_ar' => 'المقابلات', 'label_en' => 'Interviews', 'route' => '/tutorials/interviews', 'permission' => 'tutorials.view', 'order' => 5],
['label_ar' => 'المستندات', 'label_en' => 'Documents', 'route' => '/tutorials/documents', 'permission' => 'tutorials.view', 'order' => 6],
['label_ar' => 'العضوية الموسمية', 'label_en' => 'Seasonal', 'route' => '/tutorials/seasonal', 'permission' => 'tutorials.view', 'order' => 7],
// ── الأنشطة الرياضية (Sports) ──────────────────────
['label_ar' => 'تسجيل النشاط الرياضي', 'label_en' => 'SA Registration', 'route' => '/tutorials/sa-registration', 'permission' => 'tutorials.view', 'order' => 10],
['label_ar' => 'شؤون اللاعبين', 'label_en' => 'Player Affairs', 'route' => '/tutorials/player-affairs', 'permission' => 'tutorials.view', 'order' => 11],
['label_ar' => 'المدربين', 'label_en' => 'Coaches', 'route' => '/tutorials/coaches', 'permission' => 'tutorials.view', 'order' => 12],
['label_ar' => 'المرافق والملاعب', 'label_en' => 'Facilities', 'route' => '/tutorials/facilities', 'permission' => 'tutorials.view', 'order' => 13],
['label_ar' => 'الحجوزات', 'label_en' => 'Reservations', 'route' => '/tutorials/reservations', 'permission' => 'tutorials.view', 'order' => 14],
['label_ar' => 'البطولات', 'label_en' => 'Tournaments', 'route' => '/tutorials/tournaments', 'permission' => 'tutorials.view', 'order' => 15],
['label_ar' => 'حمامات السباحة', 'label_en' => 'Pool Management', 'route' => '/tutorials/pool-management', 'permission' => 'tutorials.view', 'order' => 16],
['label_ar' => 'الكارنيهات', 'label_en' => 'Carnets', 'route' => '/tutorials/carnets', 'permission' => 'tutorials.view', 'order' => 17],
// ── المالية (Finance) ──────────────────────────────
['label_ar' => 'الخزينة الرئيسية', 'label_en' => 'Cashier', 'route' => '/tutorials/cashier', 'permission' => 'tutorials.view', 'order' => 20],
['label_ar' => 'الخزنة الفرعية', 'label_en' => 'Treasury', 'route' => '/tutorials/treasury', 'permission' => 'tutorials.view', 'order' => 21],
['label_ar' => 'المدفوعات', 'label_en' => 'Payments', 'route' => '/tutorials/payments', 'permission' => 'tutorials.view', 'order' => 22],
['label_ar' => 'المحاسبة والماليات', 'label_en' => 'Accounting', 'route' => '/tutorials/accounting', 'permission' => 'tutorials.view', 'order' => 23],
// ── سلسلة التوريد (Supply Chain) ───────────────────
['label_ar' => 'المخازن', 'label_en' => 'Inventory', 'route' => '/tutorials/inventory', 'permission' => 'tutorials.view', 'order' => 30],
['label_ar' => 'المشتريات', 'label_en' => 'Procurement', 'route' => '/tutorials/procurement', 'permission' => 'tutorials.view', 'order' => 31],
['label_ar' => 'المبيعات', 'label_en' => 'Sales', 'route' => '/tutorials/sales', 'permission' => 'tutorials.view', 'order' => 32],
// ── الشئون الإدارية (Administration) ───────────────
['label_ar' => 'الموارد البشرية', 'label_en' => 'HR', 'route' => '/tutorials/hr', 'permission' => 'tutorials.view', 'order' => 40],
['label_ar' => 'الإيجارات', 'label_en' => 'Rentals', 'route' => '/tutorials/rentals', 'permission' => 'tutorials.view', 'order' => 41],
// ── النظام والإعدادات (System) ─────────────────────
['label_ar' => 'التقارير', 'label_en' => 'Reports', 'route' => '/tutorials/reports', 'permission' => 'tutorials.view', 'order' => 50],
['label_ar' => 'المستخدمون والأدوار', 'label_en' => 'Users & Roles', 'route' => '/tutorials/roles', 'permission' => 'tutorials.view', 'order' => 51],
['label_ar' => 'النماذج الإلكترونية', 'label_en' => 'Forms', 'route' => '/tutorials/forms', 'permission' => 'tutorials.view', 'order' => 52],
['label_ar' => 'سير العمل', 'label_en' => 'Workflow', 'route' => '/tutorials/workflow', 'permission' => 'tutorials.view', 'order' => 53],
['label_ar' => 'الإعدادات والفروع', 'label_en' => 'Settings & Branches', 'route' => '/tutorials/settings', 'permission' => 'tutorials.view', 'order' => 54],
['label_ar' => 'الإشعارات', 'label_en' => 'Notifications', 'route' => '/tutorials/notifications', 'permission' => 'tutorials.view', 'order' => 55],
['label_ar' => 'التسعير والخصومات', 'label_en' => 'Pricing', 'route' => '/tutorials/pricing-management','permission' => 'tutorials.view', 'order' => 56],
['label_ar' => 'سجل المراجعة', 'label_en' => 'Audit Log', 'route' => '/tutorials/audit', 'permission' => 'tutorials.view', 'order' => 57],
['label_ar' => 'الدعم الفني', 'label_en' => 'Support', 'route' => '/tutorials/support', 'permission' => 'tutorials.view', 'order' => 58],
],
]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment