Corp/backend/procurement/migrations/0014_procurementsettings.py
2026-09-07 19:43:48 +03:00

86 lines
3.3 KiB
Python

# Generated by Codex on 2026-07-06
import django.db.models.deletion
from django.db import migrations, models
def seed_procurement_settings(apps, schema_editor):
ProcurementSettings = apps.get_model("procurement", "ProcurementSettings")
Department = apps.get_model("employees", "Department")
supply_department = Department.objects.filter(name__iexact="Снабжение").first()
ProcurementSettings.objects.get_or_create(
defaults={
"name": "Основные настройки",
"default_processing_department": supply_department,
}
)
class Migration(migrations.Migration):
dependencies = [
("procurement", "0013_procurementrequestview"),
]
operations = [
migrations.CreateModel(
name="ProcurementSettings",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"name",
models.CharField(
default="Основные настройки",
max_length=100,
verbose_name="Название",
),
),
(
"updated_at",
models.DateTimeField(
auto_now=True,
verbose_name="Обновлено",
),
),
(
"default_processing_department",
models.ForeignKey(
blank=True,
help_text="Этот отдел будет автоматически выбран в новой заявке.",
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="default_procurement_processing_settings",
to="employees.department",
verbose_name="Отдел-исполнитель по умолчанию",
),
),
(
"available_processing_departments",
models.ManyToManyField(
blank=True,
help_text=(
"Если список пуст, в форме заявки доступны все отделы. "
"Заполните список, чтобы ограничить выбор."
),
related_name="procurement_processing_settings",
to="employees.department",
verbose_name="Доступные отделы-исполнители",
),
),
],
options={
"verbose_name": "Настройки закупок",
"verbose_name_plural": "Настройки закупок",
},
),
migrations.RunPython(seed_procurement_settings, migrations.RunPython.noop),
]