# Generated by Django 5.2.4 on 2026-02-27 21:30 import django.db.models.deletion import filer.fields.file from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ ("documents", "0003_change_sent_to_all_default"), ("employees", "0041_alter_departmentpermission_code"), ("filer", "0018_alter_file_options"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name="DocumentV2", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("title", models.CharField(max_length=255, verbose_name="Название")), ("description", models.TextField(blank=True, verbose_name="Описание")), ( "uploaded_at", models.DateTimeField( auto_now_add=True, verbose_name="Дата загрузки" ), ), ( "sent_to_all", models.BooleanField( default=True, help_text="Если включено — уведомление получат все активные сотрудники", verbose_name="Разослать всем", ), ), ( "departments", models.ManyToManyField( blank=True, help_text="Документ будет доступен всем сотрудникам выбранных отделов (включая будущих)", related_name="documents_v2", to="employees.department", verbose_name="Отделы-получатели", ), ), ( "file", filer.fields.file.FilerFileField( blank=True, help_text="Файл, загруженный через django-filer", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="documents", to="filer.file", verbose_name="Файл", ), ), ( "recipients", models.ManyToManyField( blank=True, help_text="Если `Разослать всем` отключено, документ пойдет только этим", related_name="document_recipients_v2", to=settings.AUTH_USER_MODEL, verbose_name="Получатели", ), ), ( "uploaded_by", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="uploaded_documents_v2", to=settings.AUTH_USER_MODEL, verbose_name="Загрузил", ), ), ], options={ "verbose_name": "Документ v2", "verbose_name_plural": "Документы v2", "db_table": "documents_documentv2", "ordering": ["-uploaded_at"], }, ), migrations.CreateModel( name="DocumentAcknowledgementV2", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "acknowledged_at", models.DateTimeField( auto_now_add=True, verbose_name="Время ознакомления" ), ), ( "user", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="document_acknowledgements_v2", to=settings.AUTH_USER_MODEL, verbose_name="Сотрудник", ), ), ( "document", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="acknowledgements", to="documents.documentv2", verbose_name="Документ", ), ), ], options={ "verbose_name": "Ознакомление с документом v2", "verbose_name_plural": "Ознакомления с документами v2", "db_table": "documents_documentacknowledgementv2", "ordering": ["-acknowledged_at"], "unique_together": {("document", "user")}, }, ), ]