diff --git a/home/migrations/0007_alter_homearticlepage_options_and_more.py b/home/migrations/0007_alter_homearticlepage_options_and_more.py index af6c2d185dbb134c41df10c04a3b68b0097adf34..0aa3e2c5182631b66d48796564c6130c92a3ba5c 100644 --- a/home/migrations/0007_alter_homearticlepage_options_and_more.py +++ b/home/migrations/0007_alter_homearticlepage_options_and_more.py @@ -1,87 +1,174 @@ # Generated by Django 4.2.2 on 2023-07-24 03:57 -from django.db import migrations, models import django.db.models.deletion import django.utils.timezone import wagtail.blocks import wagtail.documents.blocks import wagtail.fields +from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('wagtailcore', '0083_workflowcontenttype'), - ('home', '0006_alter_tag_id'), + ("wagtailcore", "0083_workflowcontenttype"), + ("home", "0006_alter_tag_id"), ] operations = [ migrations.AlterModelOptions( - name='homearticlepage', - options={'ordering': ['-date'], 'verbose_name': 'Článek'}, + name="homearticlepage", + options={"ordering": ["-date"], "verbose_name": "Článek"}, ), migrations.AlterModelOptions( - name='homearticlespage', - options={'verbose_name': 'Rozcestník článků'}, + name="homearticlespage", + options={"verbose_name": "Rozcestník článků"}, ), migrations.AlterModelOptions( - name='homepage', - options={'verbose_name': 'Domovká stránka'}, + name="homepage", + options={"verbose_name": "Domovká stránka"}, ), migrations.AlterField( - model_name='homearticlepage', - name='author', - field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Autor'), + model_name="homearticlepage", + name="author", + field=models.CharField( + blank=True, max_length=128, null=True, verbose_name="Autor" + ), ), migrations.AlterField( - model_name='homepage', - name='address', - field=models.CharField(max_length=128, verbose_name='Sídlo'), + model_name="homepage", + name="address", + field=models.CharField(max_length=128, verbose_name="Sídlo"), ), migrations.AlterField( - model_name='homepage', - name='branch', - field=models.CharField(max_length=128, verbose_name='Pobočka'), + model_name="homepage", + name="branch", + field=models.CharField(max_length=128, verbose_name="Pobočka"), ), migrations.AlterField( - model_name='homepage', - name='documents', - field=wagtail.fields.StreamField([('document', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('date_added', wagtail.blocks.DateBlock(label='Datum přidání', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka (místo dokumentu)', required=False)), ('file', wagtail.documents.blocks.DocumentChooserBlock(label='Dokument', required=False))]))], blank=True, null=True, use_json_field=True, verbose_name='Dokumenty'), + model_name="homepage", + name="documents", + field=wagtail.fields.StreamField( + [ + ( + "document", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "date_added", + wagtail.blocks.DateBlock( + label="Datum přidání", required=False + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka (místo dokumentu)", + required=False, + ), + ), + ( + "file", + wagtail.documents.blocks.DocumentChooserBlock( + label="Dokument", required=False + ), + ), + ] + ), + ) + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Dokumenty", + ), ), migrations.AlterField( - model_name='homepage', - name='ds_id', - field=models.CharField(max_length=128, verbose_name='Datová schránka'), + model_name="homepage", + name="ds_id", + field=models.CharField(max_length=128, verbose_name="Datová schránka"), ), migrations.AlterField( - model_name='homepage', - name='email', - field=models.EmailField(max_length=128, verbose_name='Email'), + model_name="homepage", + name="email", + field=models.EmailField(max_length=128, verbose_name="Email"), ), migrations.AlterField( - model_name='homepage', - name='events', - field=wagtail.fields.StreamField([('event', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('page', wagtail.blocks.PageChooserBlock(label='Stránka')), ('date', wagtail.blocks.DateBlock(label='Datum konání', required=False)), ('location', wagtail.blocks.CharBlock(label='Lokace', required=False))]))], blank=True, null=True, use_json_field=True, verbose_name='Události'), + model_name="homepage", + name="events", + field=wagtail.fields.StreamField( + [ + ( + "event", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "page", + wagtail.blocks.PageChooserBlock(label="Stránka"), + ), + ( + "date", + wagtail.blocks.DateBlock( + label="Datum konání", required=False + ), + ), + ( + "location", + wagtail.blocks.CharBlock( + label="Lokace", required=False + ), + ), + ] + ), + ) + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Události", + ), ), migrations.AlterField( - model_name='tag', - name='name', - field=models.CharField(max_length=32, verbose_name='Jméno'), + model_name="tag", + name="name", + field=models.CharField(max_length=32, verbose_name="Jméno"), ), migrations.CreateModel( - name='HomeUniversalPage', + name="HomeUniversalPage", fields=[ - ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')), - ('author', models.CharField(blank=True, max_length=128, null=True, verbose_name='Autor')), - ('date', models.DateField(default=django.utils.timezone.now, verbose_name='Datum vytvoření')), - ('perex', models.TextField(verbose_name='Perex')), - ('content', wagtail.fields.RichTextField(verbose_name='Obsah')), - ('tags', models.ManyToManyField(to='home.tag', verbose_name='Štítky')), + ( + "page_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="wagtailcore.page", + ), + ), + ( + "author", + models.CharField( + blank=True, max_length=128, null=True, verbose_name="Autor" + ), + ), + ( + "date", + models.DateField( + default=django.utils.timezone.now, + verbose_name="Datum vytvoření", + ), + ), + ("perex", models.TextField(verbose_name="Perex")), + ("content", wagtail.fields.RichTextField(verbose_name="Obsah")), + ("tags", models.ManyToManyField(to="home.tag", verbose_name="Štítky")), ], options={ - 'verbose_name': 'Univerzální stránka', - 'ordering': ['-date'], + "verbose_name": "Univerzální stránka", + "ordering": ["-date"], }, - bases=('wagtailcore.page',), + bases=("wagtailcore.page",), ), ] diff --git a/home/migrations/0008_remove_homeuniversalpage_perex.py b/home/migrations/0008_remove_homeuniversalpage_perex.py new file mode 100644 index 0000000000000000000000000000000000000000..bc3be824f34acef5de75fa37ba436b42e4f633d7 --- /dev/null +++ b/home/migrations/0008_remove_homeuniversalpage_perex.py @@ -0,0 +1,17 @@ +# Generated by Django 4.2.2 on 2023-07-24 04:02 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('home', '0007_alter_homearticlepage_options_and_more'), + ] + + operations = [ + migrations.RemoveField( + model_name='homeuniversalpage', + name='perex', + ), + ] diff --git a/home/models.py b/home/models.py index 2e103749132abbf895acdd75320184ee693f8589..22467e3ccadad5098058224102ed589738944a2b 100644 --- a/home/models.py +++ b/home/models.py @@ -156,7 +156,6 @@ class HomeContentPageMixin(Page): date = models.DateField(verbose_name="Datum vytvoření", default=timezone.now) - perex = models.TextField(verbose_name="Perex") content = RichTextField(verbose_name="Obsah") parent_page_type = ["home.HomeArticlesPage"] @@ -164,7 +163,6 @@ class HomeContentPageMixin(Page): content_panels = Page.content_panels + [ FieldPanel("author", icon="user"), FieldPanel("date", icon="calendar"), - FieldPanel("perex", icon="pilcrow"), FieldPanel("content", icon="pilcrow"), ] @@ -181,6 +179,12 @@ class HomeContentPageMixin(Page): class HomeArticlePage(HomeContentPageMixin): + perex = models.TextField(verbose_name="Perex") + + content_panels = HomeContentPageMixin.content_panels + [ + FieldPanel("perex", icon="pilcrow"), + ] + class Meta: ordering = ["-date"] verbose_name = "Článek" diff --git a/home/templates/home/home_universal_page.html b/home/templates/home/home_universal_page.html new file mode 100644 index 0000000000000000000000000000000000000000..d415379b424c98f81a3916bf3303952a89823819 --- /dev/null +++ b/home/templates/home/home_universal_page.html @@ -0,0 +1,21 @@ +{% extends "base.html" %} +{% load static wagtailcore_tags %} + +{% block content %} +<main class="flex flex-col items-center gap-10 pt-14"> + <div class="container"> + <h1 class="font-bebas text-4xl">{{ page.title }}</h1> + + <small class="flex gap-2"> + <div>{{ page.date }}</div> + {% if page.author %} + <div>| {{ page.author }}</div> + {% endif %} + </small> + + <div class="mt-5 prose max-w-screen-md font-serif"> + {{ page.content|richtext }} + </div> + </div> +</main> +{% endblock content %}