diff --git a/contracts/migrations/0001_initial.py b/contracts/migrations/0001_initial.py
index 7b1063e2c2157e2985b77d84616d85eebf1f2362..fb189ca67c8f7d6faa7cbf673deb88847835635f 100644
--- a/contracts/migrations/0001_initial.py
+++ b/contracts/migrations/0001_initial.py
@@ -1,13 +1,14 @@
-# Generated by Django 4.1.4 on 2023-02-15 03:36
+# Generated by Django 4.1.4 on 2023-02-15 14:24
 
+from django.conf import settings
+from django.db import migrations, models
 import django.db.models.deletion
 import django_countries.fields
 import markdownx.models
-from django.conf import settings
-from django.db import migrations, models
 
 
 class Migration(migrations.Migration):
+
     initial = True
 
     dependencies = [
@@ -16,591 +17,218 @@ class Migration(migrations.Migration):
 
     operations = [
         migrations.CreateModel(
-            name="Contract",
+            name='Contract',
+            fields=[
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('type', models.CharField(choices=[('primary', 'Hlavní'), ('amendment', 'Dodatek'), ('framework_order', 'Objednávka u rámcové smlouvy')], default='primary', max_length=15, verbose_name='Typ')),
+                ('contains_nda', models.BooleanField(default=False, verbose_name='Obsahuje NDA')),
+                ('all_parties_sign_date', models.DateField(verbose_name='Datum podpisu všech stran')),
+                ('valid_start_date', models.DateField(verbose_name='Začátek účinnosti')),
+                ('valid_end_date', models.DateField(verbose_name='Konec platnosti')),
+                ('legal_state', models.CharField(choices=[('valid', 'Platná'), ('effective', 'Účinná'), ('not_effective', 'Neúčinná'), ('invalid', 'Neplatná')], max_length=13, verbose_name='Stav právního ujednání')),
+                ('public_state', models.CharField(choices=[('unknown', 'Nová'), ('yes', 'Zveřejněná'), ('no', 'Neveřejná')], max_length=7, verbose_name='Veřejnost smlouvy')),
+                ('paper_form_state', models.CharField(choices=[('sent', 'Odeslaná'), ('stored', 'Uložená'), ('to_shred', 'Ke skartaci'), ('shredded', 'Skartovaná')], max_length=8, verbose_name='Stav papírové formy')),
+                ('publishing_rejection_comment', models.CharField(blank=True, help_text='Obsah není veřejně přístupný.', max_length=65536, null=True, verbose_name='Důvod nezveřejnění')),
+                ('tender_url', models.URLField(blank=True, max_length=256, null=True, verbose_name='Odkaz na výběrové řízení')),
+                ('identifier', models.CharField(max_length=128, verbose_name='Identifikační číslo')),
+                ('notes', markdownx.models.MarkdownxField(blank=True, help_text='Poznámky jsou viditelné pro všechny, kteří mohou smlouvu spravovat.', null=True, verbose_name='Obsah')),
+                ('summary', models.CharField(blank=True, help_text='Obsah není veřejně přístupný.', max_length=65536, null=True, verbose_name='Rekapitulace')),
+                ('expected_cost_total', models.IntegerField(verbose_name='Očekáváná celková cena')),
+                ('expected_cost_year', models.IntegerField(verbose_name='Očekáváná cena za rok')),
+                ('expected_cost_month', models.IntegerField(verbose_name='Očekáváná cena za měsíc')),
+                ('expected_cost_hour', models.IntegerField(verbose_name='Očekáváná cena za hodinu')),
+                ('agreement_url', models.URLField(blank=True, max_length=256, null=True, verbose_name='Odkaz na schválení')),
+            ],
+            options={
+                'verbose_name': 'Smlouva',
+                'verbose_name_plural': 'Smlouvy',
+            },
+        ),
+        migrations.CreateModel(
+            name='Contractee',
             fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                (
-                    "type",
-                    models.CharField(
-                        choices=[
-                            ("primary", "Hlavní"),
-                            ("amendment", "Dodatek"),
-                            ("framework_order", "Objednávka u rámcové smlouvy"),
-                        ],
-                        default="primary",
-                        max_length=15,
-                        verbose_name="Typ",
-                    ),
-                ),
-                (
-                    "contains_nda",
-                    models.BooleanField(default=False, verbose_name="Obsahuje NDA"),
-                ),
-                (
-                    "all_parties_sign_date",
-                    models.DateField(verbose_name="Datum podpisu všech stran"),
-                ),
-                (
-                    "valid_start_date",
-                    models.DateField(verbose_name="Začátek účinnosti"),
-                ),
-                ("valid_end_date", models.DateField(verbose_name="Konec platnosti")),
-                (
-                    "legal_state",
-                    models.CharField(
-                        choices=[
-                            ("valid", "Platná"),
-                            ("effective", "Účinná"),
-                            ("not_effective", "Neúčinná"),
-                            ("invalid", "Neplatná"),
-                        ],
-                        max_length=13,
-                        verbose_name="Stav právního ujednání",
-                    ),
-                ),
-                (
-                    "public_state",
-                    models.CharField(
-                        choices=[
-                            ("unknown", "Nová"),
-                            ("yes", "Zveřejněná"),
-                            ("no", "Neveřejná"),
-                        ],
-                        max_length=7,
-                        verbose_name="Veřejnost smlouvy",
-                    ),
-                ),
-                (
-                    "paper_form_state",
-                    models.CharField(
-                        choices=[
-                            ("sent", "Odeslaná"),
-                            ("stored", "Uložená"),
-                            ("to_shred", "Ke skartaci"),
-                            ("shredded", "Skartovaná"),
-                        ],
-                        max_length=8,
-                        verbose_name="Stav papírové formy",
-                    ),
-                ),
-                (
-                    "publishing_rejection_comment",
-                    models.CharField(
-                        blank=True,
-                        help_text="Obsah není veřejně přístupný.",
-                        max_length=65536,
-                        null=True,
-                        verbose_name="Důvod nezveřejnění",
-                    ),
-                ),
-                (
-                    "tender_url",
-                    models.URLField(
-                        blank=True,
-                        max_length=256,
-                        null=True,
-                        verbose_name="Odkaz na výběrové řízení",
-                    ),
-                ),
-                (
-                    "identifier",
-                    models.CharField(
-                        max_length=128, verbose_name="Identifikační číslo"
-                    ),
-                ),
-                (
-                    "notes",
-                    markdownx.models.MarkdownxField(
-                        blank=True,
-                        help_text="Poznámky jsou viditelné pro všechny, kteří mohou smlouvu spravovat.",
-                        null=True,
-                        verbose_name="Obsah",
-                    ),
-                ),
-                (
-                    "summary",
-                    models.CharField(
-                        blank=True,
-                        help_text="Obsah není veřejně přístupný.",
-                        max_length=65536,
-                        null=True,
-                        verbose_name="Rekapitulace",
-                    ),
-                ),
-                (
-                    "anonymized_contract_file",
-                    models.FileField(
-                        upload_to="", verbose_name="Anonymizovaná smlouva (PDF)"
-                    ),
-                ),
-                (
-                    "original_contract_file",
-                    models.FileField(
-                        help_text="Obsah není veřejně přístupný.",
-                        upload_to="",
-                        verbose_name="Originální verze smlouvy (PDF)",
-                    ),
-                ),
-                (
-                    "expected_cost_total",
-                    models.IntegerField(verbose_name="Očekáváná celková cena"),
-                ),
-                (
-                    "expected_cost_year",
-                    models.IntegerField(verbose_name="Očekáváná cena za rok"),
-                ),
-                (
-                    "expected_cost_month",
-                    models.IntegerField(verbose_name="Očekáváná cena za měsíc"),
-                ),
-                (
-                    "expected_cost_hour",
-                    models.IntegerField(verbose_name="Očekáváná cena za hodinu"),
-                ),
-                (
-                    "agreement_url",
-                    models.URLField(
-                        blank=True,
-                        max_length=256,
-                        null=True,
-                        verbose_name="Odkaz na schválení",
-                    ),
-                ),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(default='Česká pirátská strana', max_length=256, verbose_name='Jméno')),
+                ('address_street_with_number', models.CharField(default='Na Moráni 360/3', max_length=256, verbose_name='Ulice, č.p.')),
+                ('address_district', models.CharField(default='Praha 2', max_length=256, verbose_name='Obec')),
+                ('address_zip', models.CharField(default='128 00', max_length=16, verbose_name='PSČ')),
+                ('address_country', django_countries.fields.CountryField(default='CZ', max_length=2, verbose_name='Země')),
+                ('ico_number', models.CharField(blank=True, default='71339698', max_length=16, null=True, verbose_name='IČO')),
+                ('department', models.CharField(blank=True, max_length=128, null=True, verbose_name='Organizační složka')),
+                ('color', models.CharField(max_length=6, verbose_name='Barva')),
             ],
             options={
-                "verbose_name": "Smlouva",
-                "verbose_name_plural": "Smlouvy",
+                'verbose_name': 'Naše smluvní strana',
+                'verbose_name_plural': 'Naše smluvní strany',
             },
         ),
         migrations.CreateModel(
-            name="Contractee",
+            name='ContractFilingArea',
             fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                (
-                    "name",
-                    models.CharField(
-                        default="Česká pirátská strana",
-                        max_length=256,
-                        verbose_name="Jméno",
-                    ),
-                ),
-                (
-                    "address_street_with_number",
-                    models.CharField(
-                        default="Na Moráni 360/3",
-                        max_length=256,
-                        verbose_name="Ulice, č.p.",
-                    ),
-                ),
-                (
-                    "address_district",
-                    models.CharField(
-                        default="Praha 2", max_length=256, verbose_name="Obec"
-                    ),
-                ),
-                (
-                    "address_zip",
-                    models.CharField(
-                        default="128 00", max_length=16, verbose_name="PSČ"
-                    ),
-                ),
-                (
-                    "address_country",
-                    django_countries.fields.CountryField(
-                        default="CZ", max_length=2, verbose_name="Země"
-                    ),
-                ),
-                (
-                    "ico_number",
-                    models.CharField(
-                        blank=True,
-                        default="71339698",
-                        max_length=16,
-                        null=True,
-                        verbose_name="IČO",
-                    ),
-                ),
-                (
-                    "department",
-                    models.CharField(
-                        blank=True,
-                        max_length=128,
-                        null=True,
-                        verbose_name="Organizační složka",
-                    ),
-                ),
-                ("color", models.CharField(max_length=6, verbose_name="Barva")),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(max_length=32, verbose_name='Jméno')),
+                ('person_responsible', models.CharField(max_length=256, verbose_name='Odpovědná osoba')),
             ],
             options={
-                "verbose_name": "Naše smluvní strana",
-                "verbose_name_plural": "Naše smluvní strany",
+                'verbose_name': 'Spisovna',
+                'verbose_name_plural': 'Spisovny',
             },
         ),
         migrations.CreateModel(
-            name="ContractFilingArea",
+            name='ContractIssue',
             fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("name", models.CharField(max_length=32, verbose_name="Jméno")),
-                (
-                    "person_responsible",
-                    models.CharField(max_length=256, verbose_name="Odpovědná osoba"),
-                ),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(max_length=32, verbose_name='Jméno')),
             ],
             options={
-                "verbose_name": "Spisovna",
-                "verbose_name_plural": "Spisovny",
+                'verbose_name': 'Problém se smlouvou',
+                'verbose_name_plural': 'Problémy se smlouvami',
             },
         ),
         migrations.CreateModel(
-            name="ContractIssue",
+            name='ContractSubtype',
             fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("name", models.CharField(max_length=32, verbose_name="Jméno")),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(max_length=32, verbose_name='Jméno')),
             ],
             options={
-                "verbose_name": "Problém se smlouvou",
-                "verbose_name_plural": "Problémy se smlouvami",
+                'verbose_name': 'Podtyp smlouvy',
+                'verbose_name_plural': 'Podtypy smlouvy',
             },
         ),
         migrations.CreateModel(
-            name="ContractSubtype",
+            name='Signee',
             fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("name", models.CharField(max_length=32, verbose_name="Jméno")),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(max_length=256, verbose_name='Jméno')),
+                ('is_legal_entity', models.BooleanField(help_text='Důležité označit správně! Pokud není osoba právnická, zveřejňujeme pouze obec a zemi.', verbose_name='Je právnická osoba')),
+                ('address_street_with_number', models.CharField(help_text='Viditelné pouze u právnických osob.', max_length=256, verbose_name='Ulice, č.p.')),
+                ('address_district', models.CharField(max_length=256, verbose_name='Obec')),
+                ('address_zip', models.CharField(help_text='Viditelné pouze u právnických osob.', max_length=16, verbose_name='PSČ')),
+                ('address_country', django_countries.fields.CountryField(max_length=2, verbose_name='Země')),
+                ('ico_number', models.CharField(blank=True, max_length=16, null=True, verbose_name='IČO')),
+                ('date_of_birth', models.DateField(blank=True, null=True, verbose_name='Datum narození')),
+                ('department', models.CharField(blank=True, max_length=128, null=True, verbose_name='Organizační složka')),
             ],
             options={
-                "verbose_name": "Podtyp smlouvy",
-                "verbose_name_plural": "Podtypy smlouvy",
+                'verbose_name': 'Druhá smluvní strana',
+                'verbose_name_plural': 'Druhé smluvní strany',
             },
         ),
         migrations.CreateModel(
-            name="Signee",
+            name='SigneeSignature',
             fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("name", models.CharField(max_length=256, verbose_name="Jméno")),
-                (
-                    "is_legal_entity",
-                    models.BooleanField(
-                        help_text="Důležité označit správně! Pokud není osoba právnická, zveřejňujeme pouze obec a zemi.",
-                        verbose_name="Je právnická osoba",
-                    ),
-                ),
-                (
-                    "address_street_with_number",
-                    models.CharField(
-                        help_text="Viditelné pouze u právnických osob.",
-                        max_length=256,
-                        verbose_name="Ulice, č.p.",
-                    ),
-                ),
-                (
-                    "address_district",
-                    models.CharField(max_length=256, verbose_name="Obec"),
-                ),
-                (
-                    "address_zip",
-                    models.CharField(
-                        help_text="Viditelné pouze u právnických osob.",
-                        max_length=16,
-                        verbose_name="PSČ",
-                    ),
-                ),
-                (
-                    "address_country",
-                    django_countries.fields.CountryField(
-                        max_length=2, verbose_name="Země"
-                    ),
-                ),
-                (
-                    "ico_number",
-                    models.CharField(
-                        blank=True, max_length=16, null=True, verbose_name="IČO"
-                    ),
-                ),
-                (
-                    "date_of_birth",
-                    models.DateField(
-                        blank=True, null=True, verbose_name="Datum narození"
-                    ),
-                ),
-                (
-                    "department",
-                    models.CharField(
-                        blank=True,
-                        max_length=128,
-                        null=True,
-                        verbose_name="Organizační složka",
-                    ),
-                ),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('date', models.DateField(verbose_name='Datum podpisu')),
+                ('signee', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='signatures', to='contracts.signee', verbose_name='Smluvní strana')),
             ],
             options={
-                "verbose_name": "Druhá smluvní strana",
-                "verbose_name_plural": "Druhé smluvní strany",
+                'verbose_name': 'Podpis druhé smluvní strany',
+                'verbose_name_plural': 'Podpisy druhé smluvní strany',
             },
         ),
         migrations.CreateModel(
-            name="SigneeSignature",
+            name='SigneeRepresentative',
             fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("date", models.DateField(verbose_name="Datum podpisu")),
-                (
-                    "signee",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="signatures",
-                        to="contracts.signee",
-                    ),
-                ),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(max_length=256, verbose_name='Jméno')),
+                ('role', models.CharField(max_length=256, verbose_name='Funkce')),
+                ('signee', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='representatives', to='contracts.signee', verbose_name='Smluvní strana')),
             ],
             options={
-                "verbose_name": "Podpis druhé smluvní strany",
-                "verbose_name_plural": "Podpisy druhé smluvní strany",
+                'verbose_name': 'Zástupce druhé smluvní strany',
+                'verbose_name_plural': 'Zástupci druhé smluvní strany',
             },
         ),
         migrations.CreateModel(
-            name="SigneeRepresentative",
+            name='ContractIntent',
             fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("name", models.CharField(max_length=256, verbose_name="Jméno")),
-                ("role", models.CharField(max_length=256, verbose_name="Funkce")),
-                (
-                    "signee",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="representatives",
-                        to="contracts.signee",
-                    ),
-                ),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('url', models.URLField(blank=True, max_length=256, null=True, verbose_name='Odkaz')),
+                ('contract', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='intents', to='contracts.contract', verbose_name='Smlouva')),
             ],
             options={
-                "verbose_name": "Zástupce druhé smluvní strany",
-                "verbose_name_plural": "Zástupci druhé smluvní strany",
+                'verbose_name': 'Záměr',
+                'verbose_name_plural': 'Záměry',
             },
         ),
         migrations.CreateModel(
-            name="ContractIntent",
+            name='ContractFile',
             fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                (
-                    "url",
-                    models.URLField(
-                        blank=True, max_length=256, null=True, verbose_name="Odkaz"
-                    ),
-                ),
-                (
-                    "contract",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="intents",
-                        to="contracts.contract",
-                    ),
-                ),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(blank=True, max_length=128, null=True, verbose_name='Jméno')),
+                ('is_public', models.BooleanField(default=False, verbose_name='Veřejně dostupný')),
+                ('file', models.FileField(upload_to='', verbose_name='Soubor')),
+                ('contract', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='contracts.contract', verbose_name='Soubory')),
             ],
             options={
-                "verbose_name": "Záměr",
-                "verbose_name_plural": "Záměry",
+                'verbose_name': 'Soubor',
+                'verbose_name_plural': 'Soubory',
             },
         ),
         migrations.CreateModel(
-            name="ContracteeSignature",
+            name='ContracteeSignature',
             fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("date", models.DateField(verbose_name="Datum podpisu")),
-                (
-                    "contractee",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="signatures",
-                        to="contracts.contractee",
-                    ),
-                ),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('date', models.DateField(verbose_name='Datum podpisu')),
+                ('contractee', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='signatures', to='contracts.contractee', verbose_name='Smluvní strana')),
             ],
             options={
-                "verbose_name": "Podpis naší smluvní strany",
-                "verbose_name_plural": "Podpisy naší smluvní strany",
+                'verbose_name': 'Podpis naší smluvní strany',
+                'verbose_name_plural': 'Podpisy naší smluvní strany',
             },
         ),
         migrations.CreateModel(
-            name="ContracteeRepresentative",
+            name='ContracteeRepresentative',
             fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("name", models.CharField(max_length=256, verbose_name="Jméno")),
-                ("role", models.CharField(max_length=256, verbose_name="Funkce")),
-                (
-                    "contractee",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="representatives",
-                        to="contracts.contractee",
-                    ),
-                ),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(max_length=256, verbose_name='Jméno')),
+                ('role', models.CharField(max_length=256, verbose_name='Funkce')),
+                ('contractee', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='representatives', to='contracts.contractee', verbose_name='Smluvní strana')),
             ],
             options={
-                "verbose_name": "Zástupce naší smluvní strany",
-                "verbose_name_plural": "Zástupci naší smluvní strany",
+                'verbose_name': 'Zástupce naší smluvní strany',
+                'verbose_name_plural': 'Zástupci naší smluvní strany',
             },
         ),
         migrations.AddField(
-            model_name="contract",
-            name="contractee_signatures",
-            field=models.ManyToManyField(
-                to="contracts.contracteesignature", verbose_name="Naše podpisy"
-            ),
+            model_name='contract',
+            name='contractee_signatures',
+            field=models.ManyToManyField(to='contracts.contracteesignature', verbose_name='Naše podpisy'),
         ),
         migrations.AddField(
-            model_name="contract",
-            name="filing_area",
-            field=models.ForeignKey(
-                blank=True,
-                help_text="Obsah není veřejně přístupný.",
-                null=True,
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="filed_contracts",
-                to="contracts.contractfilingarea",
-            ),
+            model_name='contract',
+            name='filing_area',
+            field=models.ForeignKey(blank=True, help_text='Obsah není veřejně přístupný.', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='filed_contracts', to='contracts.contractfilingarea', verbose_name='Spisovna'),
         ),
         migrations.AddField(
-            model_name="contract",
-            name="issues",
-            field=models.ManyToManyField(
-                to="contracts.contractissue", verbose_name="Problémy"
-            ),
+            model_name='contract',
+            name='issues',
+            field=models.ManyToManyField(to='contracts.contractissue', verbose_name='Problémy'),
         ),
         migrations.AddField(
-            model_name="contract",
-            name="primary_contract",
-            field=models.ForeignKey(
-                blank=True,
-                null=True,
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="subcontracts",
-                to="contracts.contract",
-                verbose_name="Hlavní smlouva",
-            ),
+            model_name='contract',
+            name='primary_contract',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subcontracts', to='contracts.contract', verbose_name='Hlavní smlouva'),
         ),
         migrations.AddField(
-            model_name="contract",
-            name="public_status_set_by",
-            field=models.ForeignKey(
-                help_text="Obsah není veřejně přístupný.",
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="public_status_altered_contracts",
-                to=settings.AUTH_USER_MODEL,
-                verbose_name="Zveřejněno / nezveřejněno uživatelem",
-            ),
+            model_name='contract',
+            name='public_status_set_by',
+            field=models.ForeignKey(help_text='Obsah není veřejně přístupný.', on_delete=django.db.models.deletion.CASCADE, related_name='public_status_altered_contracts', to=settings.AUTH_USER_MODEL, verbose_name='Zveřejněno / nezveřejněno uživatelem'),
         ),
         migrations.AddField(
-            model_name="contract",
-            name="signee_signature",
-            field=models.ManyToManyField(
-                to="contracts.signeesignature",
-                verbose_name="Podpisy druhé smluvní strany",
-            ),
+            model_name='contract',
+            name='signee_signature',
+            field=models.ManyToManyField(to='contracts.signeesignature', verbose_name='Podpisy druhé smluvní strany'),
         ),
         migrations.AddField(
-            model_name="contract",
-            name="subtype",
-            field=models.ManyToManyField(
-                to="contracts.contractsubtype", verbose_name="Podtypy"
-            ),
+            model_name='contract',
+            name='subtype',
+            field=models.ManyToManyField(to='contracts.contractsubtype', verbose_name='Podtypy'),
         ),
         migrations.AddField(
-            model_name="contract",
-            name="uploaded_by",
-            field=models.ForeignKey(
-                help_text="Informace není veřejně přístupná.",
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="uploaded_contracts",
-                to=settings.AUTH_USER_MODEL,
-                verbose_name="Nahráno uživatelem",
-            ),
+            model_name='contract',
+            name='uploaded_by',
+            field=models.ForeignKey(help_text='Informace není veřejně přístupná.', on_delete=django.db.models.deletion.CASCADE, related_name='uploaded_contracts', to=settings.AUTH_USER_MODEL, verbose_name='Nahráno uživatelem'),
         ),
     ]
diff --git a/contracts/models.py b/contracts/models.py
index b9f8446f098c8990d933d66e452840a407e10f9a..10bcbdec50e12ac61452e6e4f80ad1cd9ce66335 100644
--- a/contracts/models.py
+++ b/contracts/models.py
@@ -371,15 +371,6 @@ class Contract(models.Model):
         help_text="Obsah není veřejně přístupný.",
     )
 
-    anonymized_contract_file = models.FileField(
-        verbose_name="Anonymizovaná smlouva (PDF)",
-    )
-
-    original_contract_file = models.FileField(
-        verbose_name="Originální verze smlouvy (PDF)",
-        help_text="Obsah není veřejně přístupný.",
-    )
-
     primary_contract = models.ForeignKey(
         "Contract",
         on_delete=models.CASCADE,
@@ -419,6 +410,35 @@ class Contract(models.Model):
         verbose_name_plural = "Smlouvy"
 
 
+class ContractFile(models.Model):
+    name = models.CharField(
+        max_length=128,
+        blank=True,
+        null=True,
+        verbose_name="Jméno",
+    )
+
+    is_public = models.BooleanField(
+        verbose_name="Veřejně dostupný",
+        default=False,
+    )
+
+    file = models.FileField(
+        verbose_name="Soubor",
+    )
+
+    contract = models.ForeignKey(
+        Contract,
+        on_delete=models.CASCADE,
+        related_name="files",
+        verbose_name="Soubory",
+    )
+
+    class Meta:
+        verbose_name = "Soubor"
+        verbose_name_plural = "Soubory"
+
+
 class ContractIntent(models.Model):
     url = models.URLField(
         max_length=256,