diff --git a/elections2021/migrations/0046_elections2021downloadspage_text_downloads.py b/elections2021/migrations/0046_elections2021downloadspage_text_downloads.py new file mode 100644 index 0000000000000000000000000000000000000000..af3f3f6fbada526aeca344be0f1e25785e7204d5 --- /dev/null +++ b/elections2021/migrations/0046_elections2021downloadspage_text_downloads.py @@ -0,0 +1,40 @@ +# Generated by Django 3.2.6 on 2021-09-02 08:40 + +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.documents.blocks +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("elections2021", "0045_elections2021homepage_program_silver_page"), + ] + + operations = [ + migrations.AddField( + model_name="elections2021downloadspage", + name="text_downloads", + field=wagtail.core.fields.StreamField( + [ + ( + "document", + wagtail.core.blocks.StructBlock( + [ + ("title", wagtail.core.blocks.CharBlock(label="název")), + ( + "document", + wagtail.documents.blocks.DocumentChooserBlock( + label="dokument" + ), + ), + ] + ), + ) + ], + blank=True, + verbose_name="textové soubory ke stažení", + ), + ), + ] diff --git a/elections2021/models.py b/elections2021/models.py index 52ccce66d6b5d1820decf22c3ff4e338757c7146..b34d162c356b66d8bad557b73b1ba6388ccb319e 100644 --- a/elections2021/models.py +++ b/elections2021/models.py @@ -2286,6 +2286,15 @@ class DownloadSpotifyBlock(blocks.StructBlock): template = "elections2021/_download_spotify_block.html" +class DownloadTextDocumentBlock(blocks.StructBlock): + title = blocks.CharBlock(label="název") + document = DocumentChooserBlock(label="dokument") + + class Meta: + label = "dokument ke stažení" + icon = "doc-full" + + class Elections2021DownloadsPage(SubpageMixin, MetadataPageMixin, Page): ### FIELDS @@ -2294,10 +2303,18 @@ class Elections2021DownloadsPage(SubpageMixin, MetadataPageMixin, Page): verbose_name="soubory ke stažení", blank=True, ) + text_downloads = StreamField( + [("document", DownloadTextDocumentBlock())], + verbose_name="textové soubory ke stažení", + blank=True, + ) ### PANELS - content_panels = Page.content_panels + [StreamFieldPanel("downloads")] + content_panels = Page.content_panels + [ + StreamFieldPanel("downloads"), + StreamFieldPanel("text_downloads"), + ] promote_panels = [ MultiFieldPanel( diff --git a/elections2021/templates/elections2021/elections2021_downloads_page.html b/elections2021/templates/elections2021/elections2021_downloads_page.html index c6d26a0ef3ffc816ed9c3c1c526df9b5e16c2423..6d41b23c897508f8d2d21aba0f0ca7dd343c01f3 100644 --- a/elections2021/templates/elections2021/elections2021_downloads_page.html +++ b/elections2021/templates/elections2021/elections2021_downloads_page.html @@ -14,6 +14,16 @@ {% include_block block %} {% endfor %} </div> + {% if page.text_downloads %} + <h1 class="head-alt-md pb-4 lg:pb-8 mt-16">OSTATNÍ</h1> + <div class="content-block"> + <ul class="unordered-list unordered-list-colored"> + {% for block in page.text_downloads %} + <li><a href="{{ block.value.document.url }}">{{ block.value.title }}</a></li> + {% endfor %} + </ul> + </div> + {% endif %} </main> </section> </div>