# Generated by Django 5.2.4 on 2025-07-29 05:31 import django.db.models.deletion from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name="Document", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("title", models.CharField(max_length=255, verbose_name="Название")), ( "file", models.FileField( upload_to="documents/%Y/%m/%d/", 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=False, help_text="Если включено — уведомление получат все активные сотрудники", verbose_name="Разослать всем", ), ), ( "recipients", models.ManyToManyField( blank=True, help_text="Если `Разослать всем` отключено, документ пойдет только этим", related_name="document_recipients", 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", to=settings.AUTH_USER_MODEL, verbose_name="Загрузил", ), ), ], options={ "verbose_name": "Документ", "verbose_name_plural": "Документы", "ordering": ["-uploaded_at"], }, ), migrations.CreateModel( name="DocumentAcknowledgement", 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="Время ознакомления" ), ), ( "document", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="acknowledgements", to="documents.document", verbose_name="Документ", ), ), ( "user", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="document_acknowledgements", to=settings.AUTH_USER_MODEL, verbose_name="Сотрудник", ), ), ], options={ "verbose_name": "Ознакомление с документом", "verbose_name_plural": "Ознакомления с документами", "ordering": ["-acknowledged_at"], "unique_together": {("document", "user")}, }, ), ]