41 lines
2.7 KiB
Python
41 lines
2.7 KiB
Python
# Generated by Django 5.1.1 on 2026-09-07 04:56
|
|
|
|
import apps.core.models
|
|
from django.db import migrations, models
|
|
|
|
TAGS=["magic_link","first_name","last_name","ticket_number","subject","province","city","expert_name"]
|
|
DEFAULTS={
|
|
"CUSTOMER_TICKET_CREATED":("ثبت تیکت توسط مشتری","{first_name} عزیز، از ثبت درخواست شما متشکریم. تیکت {ticket_number} با موفقیت ثبت شد.\nمشاهده و پیگیری: {magic_link}\nپس از بررسی و پاسخ کارشناس، از طریق پیامک به شما اطلاع خواهیم داد.\nلوله گستر گلپایگان"),
|
|
"STAFF_TICKET_CREATED":("ثبت تیکت توسط کارشناس","{first_name} عزیز، تیکت {ticket_number} با موضوع «{subject}» توسط واحد فروش برای شما ثبت شد.\nمشاهده و پاسخ: {magic_link}\nلوله گستر گلپایگان"),
|
|
"STAFF_REPLY":("پاسخ کارشناس","{first_name} عزیز، پاسخ جدیدی برای تیکت {ticket_number} ثبت شد.\nمشاهده پاسخ: {magic_link}\nلوله گستر گلپایگان"),
|
|
}
|
|
def seed_sms_templates(apps,schema_editor):
|
|
model=apps.get_model("notifications","SMSTemplate")
|
|
for event,(title,body) in DEFAULTS.items(): model.objects.get_or_create(event_type=event,defaults={"title":title,"body":body,"allowed_tags":TAGS})
|
|
def remove_sms_templates(apps,schema_editor):
|
|
apps.get_model("notifications","SMSTemplate").objects.filter(event_type__in=DEFAULTS).delete()
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('notifications', '0001_initial'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='SMSTemplate',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('event_type', models.CharField(choices=[('CUSTOMER_TICKET_CREATED', 'ثبت تیکت توسط مشتری'), ('STAFF_TICKET_CREATED', 'ثبت تیکت توسط کارشناس'), ('STAFF_REPLY', 'پاسخ کارشناس')], max_length=50, unique=True)),
|
|
('title', models.CharField(max_length=120)),
|
|
('body', models.TextField(help_text='تگ\u200cها را مانند {magic_link} در متن قرار دهید.')),
|
|
('allowed_tags', models.JSONField(blank=True, default=list)),
|
|
('is_active', models.BooleanField(default=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
],
|
|
bases=(apps.core.models.PersianTextNormalizationMixin, models.Model),
|
|
),
|
|
migrations.RunPython(seed_sms_templates,remove_sms_templates),
|
|
]
|