74 lines
5.7 KiB
Python
74 lines
5.7 KiB
Python
# Generated by Django 5.1.1 on 2026-10-07 09:49
|
|
|
|
import apps.payments.alert_templates
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('notifications', '0018_alter_smstemplate_body'),
|
|
('payments', '0006_normalize_deposit_identifiers'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='PaymentReceiptAlertConfiguration',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('bale_enabled', models.BooleanField(default=False, verbose_name='ارسال تصویر فیش به بله')),
|
|
('bale_token', models.CharField(blank=True, max_length=500, verbose_name='توکن ربات بله پرداخت')),
|
|
('bale_chat_id', models.CharField(blank=True, max_length=150, verbose_name='شناسه گروه بله')),
|
|
('bale_caption', models.TextField(default='فیش واریزی جدید\nمشتری: {customer_name}\nشماره تماس: {customer_mobile}\nمبلغ: {amount_rial} ریال\nزمان ارسال: {received_at}\nتاریخ واریز: {paid_date}\nشماره فیش: {receipt_number} · نسخه {revision_version}\n{receipt_link}', help_text='تگ\u200cهای مجاز: {amount_rial}، {customer_name}، {customer_mobile}، {received_at}، {paid_date}، {receipt_number}، {receipt_link}، {revision_version}، {manager_name}', max_length=3000, validators=[apps.payments.alert_templates.validate_alert_template], verbose_name='متن همراه تصویر')),
|
|
('sms_enabled', models.BooleanField(default=False, verbose_name='پیامک فیش جدید به مدیران')),
|
|
('sms_template', models.TextField(default='فیش واریزی به مبلغ {amount_rial} ریال توسط {customer_name} به شماره تماس {customer_mobile} ارسال شد.', help_text='تگ\u200cهای مجاز: {amount_rial}، {customer_name}، {customer_mobile}، {received_at}، {paid_date}، {receipt_number}، {receipt_link}، {revision_version}، {manager_name}', max_length=1000, validators=[apps.payments.alert_templates.validate_alert_template], verbose_name='متن پیامک مدیران')),
|
|
('notify_revisions', models.BooleanField(default=True, verbose_name='اطلاع\u200cرسانی فیش اصلاح\u200cشده مشتری')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='آخرین ویرایش')),
|
|
],
|
|
options={
|
|
'verbose_name': 'تنظیمات اطلاع\u200cرسانی فیش مشتری',
|
|
'verbose_name_plural': 'تنظیمات اطلاع\u200cرسانی فیش مشتری',
|
|
'permissions': [('manage_receipt_alerts', 'Manage receipt alert settings and recipients')],
|
|
'constraints': [models.CheckConstraint(condition=models.Q(('pk', 1)), name='pay_receipt_alert_singleton')],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='PaymentReceiptAlertRecipient',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('name', models.CharField(max_length=150, verbose_name='نام مدیر')),
|
|
('mobile', models.CharField(max_length=20, verbose_name='شماره موبایل مدیر')),
|
|
('is_active', models.BooleanField(default=True, verbose_name='دریافت پیامک فعال')),
|
|
('configuration', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='recipients', to='payments.paymentreceiptalertconfiguration')),
|
|
],
|
|
options={
|
|
'verbose_name': 'مدیر دریافت\u200cکننده پیامک فیش',
|
|
'verbose_name_plural': 'مدیران دریافت\u200cکننده پیامک فیش',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='PaymentReceiptAlert',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('recipient_name', models.CharField(blank=True, max_length=150, verbose_name='نام گیرنده هنگام ثبت')),
|
|
('recipient_mobile', models.CharField(blank=True, max_length=20, verbose_name='موبایل گیرنده هنگام ثبت')),
|
|
('bale_chat_id', models.CharField(blank=True, max_length=150, verbose_name='گروه هنگام ثبت')),
|
|
('context', models.JSONField()),
|
|
('message_template', models.TextField(verbose_name='قالب هنگام ثبت')),
|
|
('rendered_body', models.TextField(blank=True, verbose_name='متن ارسال')),
|
|
('job', models.OneToOneField(on_delete=django.db.models.deletion.PROTECT, related_name='receipt_alert', to='notifications.notificationjob')),
|
|
('revision', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='alerts', to='payments.paymentreceiptrevision')),
|
|
('recipient', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='payments.paymentreceiptalertrecipient')),
|
|
],
|
|
options={
|
|
'verbose_name': 'سابقه اعلان فیش مشتری',
|
|
'verbose_name_plural': 'سوابق اعلان فیش مشتری',
|
|
},
|
|
),
|
|
migrations.AddConstraint(
|
|
model_name='paymentreceiptalertrecipient',
|
|
constraint=models.UniqueConstraint(fields=('configuration', 'mobile'), name='pay_receipt_alert_mobile'),
|
|
),
|
|
]
|