تنظیمات اصلی (Tenant)

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

تنظیمات اصلی (Tenant)



> version: 1.11 | last_updated: 2026-09-21 | audience: admin

مسیر



**تنظیمات → تنظیمات اصلی** (`/panel/main-settings/…`)

منوی سایدبار یک آیتم است؛ داخل صفحه **هفت تب** (مثل انبار ADSL):

| ترتیب | تب | مسیر |
|------|-----|------|
| ۱ | تنظیمات اصلی | `/panel/main-settings/tenant-general-settings` |
| ۲ | برندینگ | `/panel/main-settings/tenant-branding` |
| ۳ | فیلدهای مشتری | `/panel/main-settings/tenant-customer-fields` |
| ۴ | اتصال نقشه | `/panel/main-settings/tenant-map-settings` |
| ۵ | تنظیمات مالی | `/panel/main-settings/tenant-billing-settings` |
| ۶ | فاکتور | `/panel/main-settings/tenant-invoice-settings` |
| ۷ | تنظیمات شاهکار | `/panel/main-settings/compliance-provider-configs` |

مسیرهای قدیمی بدون `main-settings/` به همین آدرس‌ها ریدایرکت می‌شوند.

دکمه **آموزش** در هدر هر تب همان صفحه را توضیح می‌دهد.

تب برندینگ



نام، لوگو، و **تم پورتال مشتری**. قبلاً فقط «رنگ اکسنت» عوض می‌شد و پس‌زمینه منو همیشه سورمه‌ای ثابت بود؛ الان هر دو قابل تنظیم‌اند.

| فیلد | کلید `tenants.settings` | توضیح |
|------|-------------------------|--------|
| تم پورتال | `portal_theme` | `classic` (پیش‌فرض) · `ocean` · `ember` · `classic_top` · `ocean_top` · `ember_top` |
| چیدمان منو | `menu_layout` | از تم می‌آید: `sidebar` یا `top` |
| رنگ اکسنت | `primary_color` | دکمه‌ها / badge / هایلایت |
| پس‌زمینه منو | `menu_bg_color` | سایدبار یا نوار منوی افقی (`--navy`) |
| رنگ متن منو | `menu_text_color` | برچسب آیتم‌های منو |

تم‌های آماده



| کلید | نام | چیدمان | اکسنت | پس‌زمینه منو |
|------|-----|--------|--------|--------------|
| `classic` | کلاسیک (پیش‌فرض) | سایدبار | `#F39200` | `#2B308B` |
| `ocean` | اقیانوس | سایدبار | `#14B8A6` | `#0F4C5C` |
| `ember` | غروب | سایدبار | `#F97316` | `#1E1B4B` |
| `classic_top` | کلاسیک افقی | منوی بالا | همان کلاسیک | همان |
| `ocean_top` | اقیانوس افقی | منوی بالا | همان اقیانوس | همان |
| `ember_top` | غروب افقی | منوی بالا | همان غروب | همان |

با انتخاب تم، رنگ‌ها و چیدمان پر می‌شوند؛ بعد می‌توانید رنگ‌ها را دستی تغییر دهید و ذخیره کنید. پورتال را hard-refresh کنید. تم‌های `*_top` فقط وقتی layout صریحاً به شِل پاس داده شود (پورتال / فروشگاه مشتری) منوی افقی می‌گذارند — پنل نماینده همیشه سایدبار می‌ماند.

کاتالوگ: `Modules\Core\Support\PortalThemeCatalog` · CSS: `brand-styles` (`--accent` / `--navy` / `--menu-text` / `.bss-shell--top-nav`).

تب تنظیمات اصلی



نماینده پیش‌فرض پورتال، اجبار تکمیل پروفایل، تمدید خودکار از کیف پول.

| فیلد | کلید در `tenants.settings` | توضیح |
|------|---------------------------|--------|
| نماینده پیش‌فرض پورتال | `portal_default_reseller_user_id` | `users.id` نماینده فعال — **فقط یک مورد**؛ همان **نماینده مرجع** با دید و کار روی کل tenant |

رفتار



  • **خرید جدید** از کاتالوگ/پورتال: `orders.reseller_id` = نماینده انتخاب‌شده (اگر خالی باشد، بدون مالکیت ریسلر).

  • **تمدید / افزونه / حذف افزونه** روی سرویس موجود: اگر `subscriptions.reseller_id` دارد، همان حفظ می‌شود؛ وگرنه از نماینده پیش‌فرض.

  • اشتراک و فاکتور از همان `orders.reseller_id` پر می‌شوند (پورسانت، پنل ریسلر).

  • در **پنل ریسلر**، این نماینده مرجع همهٔ مشتریان / سرویس‌ها / فاکتورها / کارتابل همهٔ نمایندگان شرکت را می‌بیند و می‌تواند کار کند — [service-ownership.md](../reseller/service-ownership.md)


  • محدودیت



  • فقط نمایندگان **فعال** همان شرکت در لیست دیده می‌شوند.

  • `customer_accounts.reseller_id` (خانه مشتری) با این تنظیم عوض نمی‌شود — فقط مالکیت **فروش** است.


  • اجبار تکمیل پروفایل



    | فیلد | کلید | توضیح |
    |------|------|--------|
    | اجبار به تکمیل پروفایل | `force_profile_completion_enabled` | روشن/خاموش |
    | زمان اعمال | `force_profile_completion_when` | `after_register` یا `after_first_payment` |

    رفتار



  • **بلافاصله پس از ثبت‌نام کوتاه** — بعد از ثبت، هدایت به پروفایل؛ تا تکمیل فیلدهای اجباری پروفایل هیچ مسیر دیگری از پورتال باز نیست.

  • **پس از اولین پرداخت فاکتور** — تا قبل از اولین فاکتور پرداخت‌شده آزاد است؛ از لحظهٔ اولین `Paid` تا تکمیل پروفایل قفل می‌شود.


  • فیلدهای اجباری از **تنظیمات → فیلدهای مشتری → سطح ویرایش پروفایل (required)** می‌آیند.

    تمدید خودکار — پرداخت از کیف پول



    | فیلد | کلید | پیش‌فرض |
    |------|------|---------|
    | پرداخت خودکار فاکتور تمدید از کیف پول مشتری | `renewal_auto_pay_from_wallet` | خاموش |

    اگر روشن باشد و موجودی کافی باشد، فاکتور تمدید کرون از کیف پول پرداخت می‌شود و اعمال دوره وارد صف می‌شود. جزئیات: [subscription-renewal.md](./subscription-renewal.md)

    کارتابل فروش نمایندگان



    دسترسی کارتابل **دیگر در این صفحه نیست** — برای هر نماینده جداگانه:

    **CRM → نمایندگان فروش → ویرایش → تب «کارتابل فروش»**

  • **افزودن نوع محصول** — دسته‌ای که workflow کارتابل دارد (ADSL، VPS، …)

  • **دپارتمان‌های مشاهده** — کدام دپارتمان‌های همان workflow در لیست دیده شود

  • **دپارتمان‌های انجام کار** — زیرمجموعهٔ مشاهده؛ تغییر وضعیت / عملیات / اسکالیشن

  • تکرار برای نوع محصول بعدی — **یک‌جا ذخیره**

  • **خلاصه دسترسی‌ها** پایین فرم قبل از ذخیره


  • فنی



  • سرویس پورتال: `Modules\Core\Services\PortalDefaultReseller`

  • اجبار پروفایل: `Modules\Customer\Services\ForceProfileCompletion` + middleware `portal.profile`

  • سرویس کارتابل ریسلر: `Modules\Core\Services\ResellerCartableAccess`

  • ذخیره: `resellers.cartable_grants.departments` → `{ "5": { "10": "view", "11": "work" } }` (دسته → دپارتمان → سطح)

  • فیلتر کارها: `product_category_id` + `department_id` + `orders.reseller_id`


  • مرتبط



  • [تنظیمات فاکتور / فرمت سازمان تنظیم](./invoice-settings.md)

  • [ثبت‌نام کوتاه](../customer/register.md)

  • [تکمیل پروفایل](../customer/complete-profile.md)

  • [مالکیت سرویس ریسلر](../reseller/service-ownership.md)