← بازگشت به راهنما
ادمینها و نقشهای پنل شرکت
> 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`