share ticket and ticket message

This commit is contained in:
javad committed 2026-10-04 16:42:19 +03:30
1 parent 39e64854b8
commit 79fe1cddbb
35 files changed
+1742 -95

No files matched your search

+56 -2
View File
@@ -1,3 +1,57 @@
from django import forms
from django.contrib import admin
from .models import Attachment,AttachmentPolicy
admin.site.register([Attachment,AttachmentPolicy])
from .models import Attachment, AttachmentPolicy
class AttachmentPolicyAdminForm(forms.ModelForm):
class Meta:
model = AttachmentPolicy
fields = "__all__"
labels = {
"attachment_type": "نوع پیوست (Attachment type)",
"is_enabled": "فعال است",
"max_file_size": "حداکثر حجم هر فایل (بایت)",
"max_files_per_message": "حداکثر تعداد فایل از این نوع در هر پیام",
"allowed_extensions": "پسوندهای مجاز (Allowed extensions)",
"allowed_mime_types": "نوع محتوای مجاز (Allowed mime types)",
"sort_order": "ترتیب نمایش",
}
help_texts = {
"attachment_type": (
"شناسه نوع پیوست را با حروف بزرگ وارد کنید: IMAGE، VIDEO، VOICE، PDF، "
"WORD، EXCEL، ZIP، RAR یا OTHER. هر نوع فقط یک سیاست دارد."
),
"is_enabled": "با غیرفعال کردن، آپلود جدید این نوع فایل برای مشتری و کارکنان رد می‌شود.",
"max_file_size": (
"واحد بایت است و این سقف برای هر فایل جداگانه اعمال می‌شود، نه مجموع پیوست‌ها. "
"برای تبدیل حجم بر حسب مِبی‌بایت (MiB) به بایت، عدد را در ۱۰۲۴ × ۱۰۲۴ ضرب کنید؛ "
"مثلاً ۳۰ × ۱۰۲۴ × ۱۰۲۴ = 31457280 بایت. فقط عدد نهایی را وارد کنید."
),
"max_files_per_message": (
"سقف تعداد پیوست‌های همین نوع در یک پیام است؛ "
"مثلاً مقدار ۱۰ برای PDF یعنی حداکثر ۱۰ فایل PDF در هر پیام."
),
"allowed_extensions": (
'فهرست JSON با نقل‌قول دوتایی، نقطه و حروف کوچک وارد کنید؛ '
'برای PDF: [".pdf"] و برای تصویر، مثلاً: [".jpg", ".jpeg", ".png"]. '
"این فیلد پسوند نام فایل را کنترل می‌کند. فرم ادمین فهرست خالی را نمی‌پذیرد."
),
"allowed_mime_types": (
'فهرست JSON از نوع محتوای واقعی فایل وارد کنید؛ برای PDF: ["application/pdf"] '
'و برای تصویر، مثلاً: ["image/jpeg", "image/png"]. '
"نوع محتوا از خود فایل تشخیص داده می‌شود و باید دقیقاً در این فهرست باشد؛ "
"مقادیر کلی مثل image/* پشتیبانی نمی‌شوند. هر دو فهرست پسوند و محتوا باید "
"با فایل سازگار باشند. این سیاست برای مشتری و کارکنان مشترک است؛ "
"فرم ادمین فهرست خالی را نمی‌پذیرد."
),
"sort_order": "عدد صحیح نامنفی برای ثبت ترتیب سیاست؛ مثلاً ۰، ۱ یا ۲.",
}
@admin.register(AttachmentPolicy)
class AttachmentPolicyAdmin(admin.ModelAdmin):
form = AttachmentPolicyAdminForm
admin.site.register(Attachment)