diff --git a/contracts/migrations/0001_initial.py b/contracts/migrations/0001_initial.py index 5b23e59dc1ba9bb9a4323e0d7367b1d3edc88d6a..c15a6d40347952982d5cb1ede3b071ead300bd5c 100644 --- a/contracts/migrations/0001_initial.py +++ b/contracts/migrations/0001_initial.py @@ -1,17 +1,16 @@ -# Generated by Django 4.1.4 on 2023-02-20 11:46 +# Generated by Django 4.1.4 on 2023-02-21 20:57 import colorfield.fields -import django.db.models.deletion -import django_countries.fields -import markdownx.models +import contracts.models from django.conf import settings from django.db import migrations, models - -import contracts.models +import django.db.models.deletion +import markdownx.models import shared.models class Migration(migrations.Migration): + initial = True dependencies = [ @@ -20,640 +19,216 @@ 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", - ), - ), - ( - "all_parties_sign_date", - models.DateField( - blank=True, null=True, 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=[("yes", "Veřejná"), ("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á"), - ("lost", "Ztracená"), - ], - 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í", - ), - ), - ( - "agreement_url", - models.URLField( - blank=True, - max_length=256, - null=True, - verbose_name="Odkaz na schválení", - ), - ), - ( - "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="Poznámky", - ), - ), - ( - "summary", - markdownx.models.MarkdownxField( - blank=True, - help_text="Obsah není veřejně přístupný.", - null=True, - verbose_name="Rekapitulace", - ), - ), - ( - "created_by", - models.ForeignKey( - blank=True, - help_text="Informace není veřejně přístupná. Pokud vytváříš novou smlouvu, budeš to ty.", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="uploaded_contracts", - to=settings.AUTH_USER_MODEL, - verbose_name="Vytvořena uživatelem", - ), - ), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('all_parties_sign_date', models.DateField(blank=True, null=True, verbose_name='Datum podpisu všech stran')), + ('identifier', models.CharField(max_length=128, verbose_name='Identifikační číslo')), + ('summary', models.CharField(blank=True, max_length=256, null=True, verbose_name='Sumarizace obsahu smlouvy')), + ('is_approved', models.BooleanField(help_text='Může měnit jen schvalovatel. Pokud je smlouva veřejná, zaškrtnutím se vypustí ven.', verbose_name='Je schválená')), + ('valid_start_date', models.DateField(verbose_name='Začátek účinnosti')), + ('valid_end_date', models.DateField(verbose_name='Konec účinnosti')), + ('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=[('yes', 'Veřejná'), ('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á'), ('lost', 'Ztracená')], 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í')), + ('agreement_url', models.URLField(blank=True, max_length=256, null=True, verbose_name='Odkaz na schválení')), + ('expected_cost_year', models.IntegerField(blank=True, null=True, verbose_name='Očekávané výdaje (rok)')), + ('expected_cost_month', models.IntegerField(blank=True, null=True, verbose_name='Očekávané výdaje (měsíc)')), + ('expected_cost_hour', models.IntegerField(blank=True, null=True, verbose_name='Očekávané výdaje (hodina)')), + ('notes', markdownx.models.MarkdownxField(blank=True, help_text='Poznámky jsou viditelné pro všechny, kteří mohou smlouvu spravovat.', null=True, verbose_name='Poznámky')), + ('created_by', models.ForeignKey(blank=True, help_text='Informace není veřejně přístupná. Pokud vytváříš novou smlouvu, budeš to ty.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='uploaded_contracts', to=settings.AUTH_USER_MODEL, verbose_name='Vytvořena uživatelem')), ], options={ - "verbose_name": "Smlouva", - "verbose_name_plural": "Smlouvy", + 'verbose_name': 'Smlouva', + 'verbose_name_plural': 'Smlouvy', + 'permissions': (('approve', 'Schválit / zrušit schválení'),), }, ), migrations.CreateModel( - name="Contractee", + name='Contractee', 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", - colorfield.fields.ColorField( - blank=True, - default=None, - image_field=None, - max_length=18, - null=True, - samples=None, - verbose_name="Barva", - ), - ), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('color', colorfield.fields.ColorField(blank=True, default=None, image_field=None, max_length=18, null=True, samples=None, verbose_name='Barva')), + ('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', models.CharField(default='CZ', max_length=256, 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')), ], options={ - "verbose_name": "Naše smluvní strana", - "verbose_name_plural": "Naše smluvní strany", + 'verbose_name': 'Naše smluvní strana', + 'verbose_name_plural': 'Naše smluvní strany', }, ), migrations.CreateModel( - name="ContractFilingArea", + name='ContractFilingArea', 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')), + ('person_responsible', models.CharField(max_length=256, verbose_name='Odpovědná osoba')), ], options={ - "verbose_name": "Spisovna", - "verbose_name_plural": "Spisovny", + 'verbose_name': 'Spisovna', + 'verbose_name_plural': 'Spisovny', }, bases=(shared.models.NameStrMixin, models.Model), ), migrations.CreateModel( - name="ContractIssue", + 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")), + ('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': 'Problém se smlouvou', + 'verbose_name_plural': 'Problémy se smlouvami', }, bases=(shared.models.NameStrMixin, models.Model), ), migrations.CreateModel( - name="ContractType", + name='ContractType', 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": "Typ smlouvy", - "verbose_name_plural": "Typy smlouvy", + 'verbose_name': 'Typ smlouvy', + 'verbose_name_plural': 'Typy smlouvy', }, bases=(shared.models.NameStrMixin, models.Model), ), migrations.CreateModel( - name="Signee", + name='Signee', 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", - ), - ), - ( - "color", - colorfield.fields.ColorField( - blank=True, - default=None, - image_field=None, - max_length=18, - null=True, - samples=None, - verbose_name="Barva", - ), - ), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('color', colorfield.fields.ColorField(blank=True, default=None, image_field=None, max_length=18, null=True, samples=None, verbose_name='Barva')), + ('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', models.CharField(default='CZ', max_length=256, 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": "Jiná smluvní strana", - "verbose_name_plural": "Ostatní smluvní strany", + 'verbose_name': 'Jiná smluvní strana', + 'verbose_name_plural': 'Ostatní smluvní strany', }, ), migrations.CreateModel( - name="SigneeSignature", + name='SigneeSignature', fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("date", models.DateField(verbose_name="Datum podpisu")), - ( - "contract", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="signee_signatures", - to="contracts.contract", - verbose_name="Podpisy jiných smluvních stran", - ), - ), - ( - "signee", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="signatures", - to="contracts.signee", - verbose_name="Smluvní strana", - ), - ), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date', models.DateField(verbose_name='Datum podpisu')), + ('contract', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='signee_signatures', to='contracts.contract', verbose_name='Podpisy jiných smluvních stran')), + ('signee', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='signatures', to='contracts.signee', verbose_name='Smluvní strana')), ], options={ - "verbose_name": "Podpis jiné smluvní strany", - "verbose_name_plural": "Podpisy ostatních smluvních stran", + 'verbose_name': 'Podpis jiné smluvní strany', + 'verbose_name_plural': 'Podpisy ostatních smluvních stran', }, ), migrations.CreateModel( - name="SigneeRepresentative", + name='SigneeRepresentative', 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")), - ( - "function", - models.CharField( - blank=True, max_length=256, null=True, verbose_name="Funkce" - ), - ), - ( - "role", - models.CharField( - blank=True, max_length=256, null=True, verbose_name="Role" - ), - ), - ( - "signee", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="representatives", - to="contracts.signee", - verbose_name="Smluvní strana", - ), - ), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=256, verbose_name='Jméno')), + ('function', models.CharField(blank=True, max_length=256, null=True, verbose_name='Funkce')), + ('role', models.CharField(blank=True, max_length=256, null=True, verbose_name='Role')), + ('signee', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='representatives', to='contracts.signee', verbose_name='Smluvní strana')), ], options={ - "verbose_name": "Zástupce", - "verbose_name_plural": "Zástupci", + 'verbose_name': 'Zástupce', + 'verbose_name_plural': 'Zástupci', }, bases=(contracts.models.RepresentativeMixin, models.Model), ), migrations.CreateModel( - name="ContractIntent", + name='ContractIntent', fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=128, verbose_name="Jméno")), - ("url", models.URLField(max_length=256, verbose_name="Odkaz")), - ( - "contract", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="intents", - to="contracts.contract", - verbose_name="Smlouva", - ), - ), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=128, verbose_name='Jméno')), + ('url', models.URLField(max_length=256, 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áměr", - "verbose_name_plural": "Záměry", + 'verbose_name': 'Záměr', + 'verbose_name_plural': 'Záměry', }, bases=(shared.models.NameStrMixin, models.Model), ), migrations.CreateModel( - name="ContractFile", + name='ContractFile', fields=[ - ( - "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", - ), - ), + ('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": "Soubor", - "verbose_name_plural": "Soubory", + 'verbose_name': 'Soubor', + 'verbose_name_plural': 'Soubory', }, bases=(shared.models.NameStrMixin, models.Model), ), 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")), - ( - "contract", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="contractee_signatures", - to="contracts.contract", - verbose_name="Podpisy našich smluvních stran", - ), - ), - ( - "contractee", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="signatures", - to="contracts.contractee", - verbose_name="Smluvní strana", - ), - ), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date', models.DateField(verbose_name='Datum podpisu')), + ('contract', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contractee_signatures', to='contracts.contract', verbose_name='Podpisy našich smluvních stran')), + ('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šich smluvních stran", + 'verbose_name': 'Podpis naší smluvní strany', + 'verbose_name_plural': 'Podpisy našich smluvních stran', }, ), 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")), - ( - "function", - models.CharField( - blank=True, max_length=256, null=True, verbose_name="Funkce" - ), - ), - ( - "role", - models.CharField( - blank=True, max_length=256, null=True, verbose_name="Role" - ), - ), - ( - "contractee", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="representatives", - to="contracts.contractee", - verbose_name="Smluvní strana", - ), - ), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=256, verbose_name='Jméno')), + ('function', models.CharField(blank=True, max_length=256, null=True, verbose_name='Funkce')), + ('role', models.CharField(blank=True, max_length=256, null=True, verbose_name='Role')), + ('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", - "verbose_name_plural": "Zástupci", + 'verbose_name': 'Zástupce', + 'verbose_name_plural': 'Zástupci', }, bases=(contracts.models.RepresentativeMixin, models.Model), ), 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.SET_NULL, - related_name="filed_contracts", - to="contracts.contractfilingarea", - verbose_name="Spisovna", - ), + 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.SET_NULL, related_name='filed_contracts', to='contracts.contractfilingarea', verbose_name='Spisovna'), ), migrations.AddField( - model_name="contract", - name="issues", - field=models.ManyToManyField( - blank=True, to="contracts.contractissue", verbose_name="Problémy" - ), + model_name='contract', + name='issues', + field=models.ManyToManyField(blank=True, help_text='Veřejně nazváno "Poznámky".', 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.SET_NULL, - related_name="subcontracts", - to="contracts.contract", - verbose_name="Primární smlouva", - ), + model_name='contract', + name='primary_contract', + field=models.ForeignKey(blank=True, help_text='Např. pro dodatky nebo objednávky u rámcových smluv.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='subcontracts', to='contracts.contract', verbose_name='Primární smlouva'), ), migrations.AddField( - model_name="contract", - name="public_status_set_by", - field=models.ForeignKey( - blank=True, - help_text="Obsah není veřejně přístupný.", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - 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(blank=True, help_text='Obsah není veřejně přístupný.', null=True, on_delete=django.db.models.deletion.SET_NULL, 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="types", - field=models.ManyToManyField( - to="contracts.contracttype", verbose_name="Typ" - ), + model_name='contract', + name='types', + field=models.ManyToManyField(to='contracts.contracttype', verbose_name='Typ'), ), ] diff --git a/contracts/migrations/0002_contract_is_approved_alter_contract_valid_end_date.py b/contracts/migrations/0002_contract_is_approved_alter_contract_valid_end_date.py deleted file mode 100644 index a01c8f350e7a70cedd9c3018990be477fcef4d16..0000000000000000000000000000000000000000 --- a/contracts/migrations/0002_contract_is_approved_alter_contract_valid_end_date.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 4.1.4 on 2023-02-20 19:33 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("contracts", "0001_initial"), - ] - - operations = [ - migrations.AddField( - model_name="contract", - name="is_approved", - field=models.BooleanField( - default=False, - help_text="Může měnit jen schvalovatel. Pokud je smlouva veřejná, zaškrtnutím se vypustí ven.", - verbose_name="Je schválená", - ), - preserve_default=False, - ), - migrations.AlterField( - model_name="contract", - name="valid_end_date", - field=models.DateField(verbose_name="Konec účinnosti"), - ), - ] diff --git a/contracts/migrations/0003_contract_expected_cost_hour_and_more.py b/contracts/migrations/0003_contract_expected_cost_hour_and_more.py deleted file mode 100644 index e25cd4559bfaead1df9e18004f4d932e6948567b..0000000000000000000000000000000000000000 --- a/contracts/migrations/0003_contract_expected_cost_hour_and_more.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 4.1.4 on 2023-02-21 05:33 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("contracts", "0002_contract_is_approved_alter_contract_valid_end_date"), - ] - - operations = [ - migrations.AddField( - model_name="contract", - name="expected_cost_hour", - field=models.IntegerField( - blank=True, null=True, verbose_name="Očekávané výdaje (hodina)" - ), - ), - migrations.AddField( - model_name="contract", - name="expected_cost_month", - field=models.IntegerField( - blank=True, null=True, verbose_name="Očekávané výdaje (měsíc)" - ), - ), - migrations.AddField( - model_name="contract", - name="expected_cost_year", - field=models.IntegerField( - blank=True, null=True, verbose_name="Očekávané výdaje (rok)" - ), - ), - ] diff --git a/contracts/migrations/0004_alter_contract_options.py b/contracts/migrations/0004_alter_contract_options.py deleted file mode 100644 index 5b0c4b96c4c940682738096f6dbe3b795e7a7616..0000000000000000000000000000000000000000 --- a/contracts/migrations/0004_alter_contract_options.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 4.1.4 on 2023-02-21 05:42 - -from django.db import migrations - - -class Migration(migrations.Migration): - dependencies = [ - ("contracts", "0003_contract_expected_cost_hour_and_more"), - ] - - operations = [ - migrations.AlterModelOptions( - name="contract", - options={ - "permissions": (("approve", "Schválit / zrušit schválení"),), - "verbose_name": "Smlouva", - "verbose_name_plural": "Smlouvy", - }, - ), - ] diff --git a/contracts/migrations/0005_alter_contract_primary_contract.py b/contracts/migrations/0005_alter_contract_primary_contract.py deleted file mode 100644 index fa8184a23d52bca0344618cced3e7c7d16afbc91..0000000000000000000000000000000000000000 --- a/contracts/migrations/0005_alter_contract_primary_contract.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 4.1.4 on 2023-02-21 06:07 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("contracts", "0004_alter_contract_options"), - ] - - operations = [ - migrations.AlterField( - model_name="contract", - name="primary_contract", - field=models.ForeignKey( - blank=True, - help_text="Např. pro dodatky nebo objednávky u rámcových smluv.", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="subcontracts", - to="contracts.contract", - verbose_name="Primární smlouva", - ), - ), - ] diff --git a/contracts/migrations/0006_alter_contract_issues_alter_contract_summary.py b/contracts/migrations/0006_alter_contract_issues_alter_contract_summary.py deleted file mode 100644 index 6be67592a42b247842c5b546fa4f548163cbef8f..0000000000000000000000000000000000000000 --- a/contracts/migrations/0006_alter_contract_issues_alter_contract_summary.py +++ /dev/null @@ -1,32 +0,0 @@ -# Generated by Django 4.1.4 on 2023-02-21 19:13 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("contracts", "0005_alter_contract_primary_contract"), - ] - - operations = [ - migrations.AlterField( - model_name="contract", - name="issues", - field=models.ManyToManyField( - blank=True, - help_text='Veřejně nazváno "Poznámky".', - to="contracts.contractissue", - verbose_name="Problémy", - ), - ), - migrations.AlterField( - model_name="contract", - name="summary", - field=models.CharField( - blank=True, - max_length=256, - null=True, - verbose_name="Sumarizace obsahu smlouvy", - ), - ), - ] diff --git a/contracts/migrations/0007_alter_contractee_address_country_and_more.py b/contracts/migrations/0007_alter_contractee_address_country_and_more.py deleted file mode 100644 index 97fba097517d5019c70471a2f507527f521b47c3..0000000000000000000000000000000000000000 --- a/contracts/migrations/0007_alter_contractee_address_country_and_more.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 4.1.4 on 2023-02-21 19:34 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("contracts", "0006_alter_contract_issues_alter_contract_summary"), - ] - - operations = [ - migrations.AlterField( - model_name="contractee", - name="address_country", - field=models.CharField(default="CZ", max_length=256, verbose_name="Země"), - ), - migrations.AlterField( - model_name="signee", - name="address_country", - field=models.CharField(default="CZ", max_length=256, verbose_name="Země"), - ), - ] diff --git a/shared/templates/shared/includes/base.html b/shared/templates/shared/includes/base.html index 8e1d971a3efd801aaecd2c5ccdddeba617a8f90f..f59fa3791d9234728035f378d21e082a001f0ed1 100644 --- a/shared/templates/shared/includes/base.html +++ b/shared/templates/shared/includes/base.html @@ -126,6 +126,70 @@ </main> </div> + <footer class="footer bg-grey-700 text-white __js-root"> + <div> + <div class="footer__main py-4 lg:py-16 container container--default"> + <section class="footer__brand"> + <a href="https://www.pirati.cz"> + <img + src="https://styleguide.pirati.cz/2.11.x/images/logo-full-white.svg" + alt="Logo Pirátské strany" + class="w-32 md:w-40 pb-6" + > + </a> + <p class="para mb-4 text-grey-200"> + <span class="copyleft inline-block">©</span> 2023 Piráti. + Všechna práva vyhlazena. + Sdílejte a nechte ostatní sdílet za stejných podmínek. + </p> + <p class="para mb-6 lg:mb-0 text-grey-200"> + <a href="https://www.pirati.cz/ochrana-osobnich-udaju/"> + <span class="text-grey-200">Zásady ochrany osobních údajů</span> + </a> + </p> + </section> + <section class="footer__social lg:text-right"> + <div class="mb-4"> + <div class="social-icon-group space-x-2 text-white pb-4"> + <a href="https://www.pirati.cz" class="social-icon"> + <i class="ico--home"></i> + </a> + <a href="https://www.facebook.com/ceska.piratska.strana/" class="social-icon"> + <i class="ico--facebook"></i> + </a> + <a href="https://twitter.com/PiratskaStrana" class="social-icon"> + <i class="ico--twitter"></i> + </a> + <a href="https://www.youtube.com/user/CeskaPiratskaStrana" class="social-icon"> + <i class="ico--youtube"></i> + </a> + <a href="https://www.instagram.com/pirati.cz/" class="social-icon"> + <i class="ico--instagram"></i> + </a> + <a href="https://www.flickr.com/photos/pirati/" class="social-icon"> + <i class="ico--flickr"></i> + </a> + </div> + </div> + <div class="flex flex-col md:flex-row lg:flex-col lg:items-end space-y-2 md:space-y-0 md:space-x-2 lg:space-x-0 lg:space-y-2"> + <a href="https://dary.pirati.cz" class="btn btn--icon btn--cyan-200 btn--hoveractive text-lg btn--fullwidth sm:btn--autowidth"> + <div class="btn__body-wrap"> + <div class="btn__body">Přispěj</div> + <div class="btn__icon "><i class="ico--pig"></i></div> + </div> + </a> + <a href="https://nalodeni.pirati.cz" class="btn btn--icon btn--blue-300 btn--hoveractive text-lg btn--fullwidth sm:btn--autowidth"> + <div class="btn__body-wrap"> + <div class="btn__body ">Naloď se</div> + <div class="btn__icon "><i class="ico--anchor"></i></div> + </div> + </a> + </div> + </section> + </div> + </div> + </footer> + <script src="https://styleguide.pirati.cz/2.11.x/js/main.bundle.js" ></script>