قراردادهای سرویس

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

قراردادهای سرویس



> version: 1.9 | last_updated: 2026-09-23 | audience: admin

منو



**مالی → قراردادها** — لیست / ایجاد / ویرایش (صفحه کامل؛ TinyMCE)

دکمه آموزش



  • بالای لیست و صفحات ایجاد/ویرایش: دکمهٔ **آموزش**

  • داخل فرم: **آموزش کلی / فرم / جایگزین‌ها / صدور**


  • قالب



    | فیلد | توضیح |
    |------|--------|
    | نام / عنوان | عنوان نمایشی؛ می‌تواند `{{product_name}}` داشته باشد |
    | زمان صدور | فقط خرید / فقط تمدید / هر دو |
    | همه سرویس‌ها | اگر خاموش: انتخاب دسته یا محصول/پلن |
    | متن | TinyMCE با فونت‌های ایرانی؛ در `custom_configs` نباید `'` باشد (پکیج JSON را می‌شکند) |

    صدور خودکار



  • **خرید:** روی `OrderSubmitted`

  • **تمدید:** پس از اعمال موفق تمدید

  • سفارش‌های قدیمی: `php artisan contracts:backfill`


  • پورتال مشتری



  • ستون‌ها: شماره، عنوان، سرویس، نام کاربری/دامنه، نوع، تاریخ

  • **چاپ** از پنجرهٔ جدا — فقط متن قرارداد (بدون بنر «سرویس فعال برای مدیریت» و منو)

  • دانلود PDF با dompdf حذف شد (متن فارسی به‌هم می‌ریخت)


  • خلاصه مشتری (Tenant و نماینده)



  • در **خلاصه مشتری → تب قراردادها** (بعد از بانک مجازی، قبل از فعالیت): لیست همان قراردادهای صادرشده

  • ستون‌ها: شماره، عنوان، سرویس، نام کاربری/دامنه، نوع، تاریخ ایجاد

  • نام کاربری/دامنه از هویت سرویس خوانده می‌شود؛ اگر هنوز provision نشده باشد از **فیلدهای سفارش** (`custom_fields.hostname` و مشابه) می‌آید

  • **Tenant (`/panel`)**: مشاهده مودال، ویرایش RichEditor، حذف، چاپ از `staff/customers/{id}/contracts/{contractId}?print=1`

  • **نماینده**: ویرایش عنوان/متن (TinyMCE) و حذف — مجوز `customers.edit`؛ چاپ از مسیر `reseller.customers.contracts`


  • نمونه



    `php artisan db:seed --class=Modules\\Contract\\Database\\Seeders\\ContractTemplateSeeder`