# Generated by Django 5.2.4 on 2025-09-01 10:33 import django.db.models.deletion from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ ('accounts', '0003_historicalprofile_bank_name_profile_bank_name'), ('processes', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='StepApproval', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('decision', models.CharField(choices=[('approved', 'تایید'), ('rejected', 'رد')], max_length=8, verbose_name='نتیجه')), ('reason', models.TextField(blank=True, verbose_name='علت (برای رد)')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='تاریخ')), ('approved_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='تاییدکننده')), ('role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='accounts.role', verbose_name='نقش')), ('step_instance', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='approvals', to='processes.stepinstance', verbose_name='نمونه مرحله')), ], options={ 'verbose_name': 'تایید مرحله', 'verbose_name_plural': 'تاییدهای مرحله', 'unique_together': {('step_instance', 'role')}, }, ), migrations.CreateModel( name='StepApproverRequirement', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('required_count', models.PositiveIntegerField(default=1, verbose_name='تعداد موردنیاز')), ('role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='accounts.role', verbose_name='نقش تاییدکننده')), ('step', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='approver_requirements', to='processes.processstep', verbose_name='مرحله')), ], options={ 'verbose_name': 'نیازمندی تایید نقش', 'verbose_name_plural': 'نیازمندی\u200cهای تایید نقش', 'unique_together': {('step', 'role')}, }, ), ]