# Generated by Django 5.1.15 on 2026-09-02 00:19 import django.db.models.deletion from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ('banker', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='OrderStage', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('label', models.CharField(max_length=150, verbose_name='عنوان مرحله')), ('sort_order', models.PositiveIntegerField(default=0, verbose_name='ترتیب')), ('requires_extra_input', models.BooleanField(default=False, verbose_name='این مرحله به یک ورودی اضافه نیاز دارد')), ('extra_input_label', models.CharField(blank=True, help_text='مثلا: کد تسویه، کد محصول — وقتی سفارش به این مرحله می\u200cرسد از کاربر پرسیده می\u200cشود.', max_length=100, verbose_name='عنوان ورودی اضافه')), ('updated_at', models.DateTimeField(auto_now=True)), ('template', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='order_stages', to='banker.messagetemplate', verbose_name='قالب پیامک این مرحله')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='order_stages', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'مرحله\u200cی پیگیری سفارش', 'verbose_name_plural': 'مراحل پیگیری سفارش', 'ordering': ['sort_order'], }, ), migrations.CreateModel( name='Order', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('customer_name', models.CharField(max_length=150, verbose_name='نام مشتری')), ('customer_phone', models.CharField(max_length=20, verbose_name='شماره مشتری')), ('tracking_code', models.CharField(blank=True, max_length=100, verbose_name='کد پیگیری پستی')), ('is_completed', models.BooleanField(default=False, verbose_name='تکمیل\u200cشده')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='orders', to=settings.AUTH_USER_MODEL)), ('current_stage', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='orders', to='orders.orderstage')), ], options={ 'verbose_name': 'سفارش', 'verbose_name_plural': 'سفارش\u200cها', 'ordering': ['-updated_at'], }, ), migrations.CreateModel( name='OrderStageLog', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('stage_label', models.CharField(max_length=150, verbose_name='عنوان مرحله')), ('message_body', models.TextField(blank=True, verbose_name='متن پیامک ارسالی')), ('extra_input_value', models.CharField(blank=True, max_length=255, verbose_name='ورودی اضافه\u200cی این مرحله')), ('created_at', models.DateTimeField(auto_now_add=True)), ('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='stage_logs', to='orders.order')), ('stage', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='orders.orderstage')), ], options={ 'verbose_name': 'تاریخچه\u200cی مرحله\u200cی سفارش', 'verbose_name_plural': 'تاریخچه\u200cی مراحل سفارش', 'ordering': ['created_at'], }, ), ]