ادمین‌ها و نقش‌های پنل شرکت

← بازگشت به راهنما

ادمین‌ها و نقش‌های پنل شرکت



> version: 2.2 | last_updated: 2026-09-19 | audience: admin

منوها (تنظیمات)



| منو | کاربرد |
|-----|--------|
| **نقش‌های پنل** | تعریف نقش + ماتریس دسترسی (نمایش / ایجاد / ویرایش / حذف) |
| **ادمین‌های پنل** | ساخت کاربر و انتخاب نقش |

جریان کار



  • در **نقش‌های پنل** نقش بسازید (یا «دسترسی کامل» را روشن کنید)

  • برای هر بخش منو، باکس را باز کنید و تیک‌های **نمایش / ایجاد / ویرایش / حذف** را جدا بزنید (باکس‌ها جمع‌شونده‌اند؛ بخش‌هایی که قبلاً دسترسی دارند باز می‌مانند)

  • در **ادمین‌های پنل** کاربر بسازید و همان نقش را انتخاب کنید — اینجا پرمیژن تیک نمی‌خورد


  • ماتریس دسترسی (CRUD)



    کلیدها به شکل `panel.{بخش}.{عمل}` هستند، مثلاً:

    | مثال | معنی |
    |------|------|
    | `panel.crm.view` | فقط دیدن منوی مشتریان/نمایندگان |
    | `panel.crm.create` | دکمه/صفحه ایجاد |
    | `panel.crm.edit` | ویرایش رکورد |
    | `panel.crm.delete` | حذف رکورد |

  • پیشخوان و گزارش‌ها فقط **نمایش** دارند

  • برای ذخیرهٔ صفحات تنظیمات، **ویرایش** لازم است

  • نقش‌های قدیمی با کلید بدون `.action` (مثل `panel.crm`) هنگام seed به همهٔ اکشن‌های همان بخش گسترش می‌یابند


  • گیت: `TenantPanelAuth::canForClass($class, $action)` + `ChecksTenantPanelPermission`

    نقش پیش‌فرض (Seeder)



    برای هر tenant:

  • `مدیر کامل` (`full-admin`) — دسترسی کامل

  • `کارمند` (`staff`) — پیشخوان (view) + CRM (view/create/edit) + سفارش (view/edit) + پشتیبانی (view/create/edit)


  • ```bash
    php artisan migrate
    php artisan db:seed --class=Database\\Seeders\\RolesAndPermissionsSeeder
    php artisan db:seed --class=Database\\Seeders\\TenantPanelRoleSeeder
    ```

    مدل‌ها



  • `tenant_panel_roles` + `users.tenant_panel_role_id`

  • اعمال دسترسی: `TenantPanelRoleAccessSync` → Spatie `tenant-admin` / `tenant-staff` + permissions

  • کاتالوگ: `TenantPanelPermissionCatalog`