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