From 2fcd2b14a199937320d9ee5bafa2f1ed1529453a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozman?= <tomas.hozman@pm.me> Date: Mon, 19 Dec 2022 22:31:59 +0100 Subject: [PATCH] added program links --- main/blocks.py | 1 + .../0037_alter_mainprogrampage_program.py | 21 +++++++++++++ main/templates/main/main_program_page.html | 30 ++++++++++++------- 3 files changed, 42 insertions(+), 10 deletions(-) create mode 100644 main/migrations/0037_alter_mainprogrampage_program.py diff --git a/main/blocks.py b/main/blocks.py index 8ff414dc..33439d18 100644 --- a/main/blocks.py +++ b/main/blocks.py @@ -112,6 +112,7 @@ class PeopleOverviewBlock(StructBlock): class ProgramBlock(StructBlock): + url = URLBlock(label="Odkaz pokrývající celou tuto část") icon = ImageChooserBlock(label="Ikona") title = CharBlock(label="Titulek článku programu") text = RichTextBlock(label="Obsah") diff --git a/main/migrations/0037_alter_mainprogrampage_program.py b/main/migrations/0037_alter_mainprogrampage_program.py new file mode 100644 index 00000000..c1e2ca2f --- /dev/null +++ b/main/migrations/0037_alter_mainprogrampage_program.py @@ -0,0 +1,21 @@ +# Generated by Django 4.0.7 on 2022-12-19 21:29 + +from django.db import migrations +import wagtail.blocks +import wagtail.fields +import wagtail.images.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0036_maincrossroadpage'), + ] + + operations = [ + migrations.AlterField( + model_name='mainprogrampage', + name='program', + field=wagtail.fields.StreamField([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug části programu', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('url', wagtail.blocks.URLBlock(label='Odkaz pokrývající celou tuto část')), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona')), ('title', wagtail.blocks.CharBlock(label='Titulek článku programu')), ('text', wagtail.blocks.RichTextBlock(label='Obsah'))]), label='Jednotlivé články programu'))], label='Část programu'))], blank=True, use_json_field=None, verbose_name='Program'), + ), + ] diff --git a/main/templates/main/main_program_page.html b/main/templates/main/main_program_page.html index 295f4f21..911f0e8f 100644 --- a/main/templates/main/main_program_page.html +++ b/main/templates/main/main_program_page.html @@ -35,18 +35,28 @@ {% for program_group in page.program %} <template v-if="isCurrentView('{{ program_group.value.slug }}-{{ forloop.counter }}')"> {% for item in program_group.value.point_list %} - <div class="grid-container mb-12"> - {% image item.icon fill-150x150 as icon %} - <img src="{{ icon.url }}" alt="{{ item.title }}" class="grid-left-side mr-6 text-6xl xl:justify-self-end"> - <div class="grid-content flex flex-col"> - <h3 class="font-alt mb-4 text-4xl"> - {{ item.title }} - </h3> - <div class="prose leading-6"> - {{ item.text|richtext }} + {% if item.url %} + <a href="{{ item.url }}" class="hover:no-underline grid-container mb-12"> + {% else %} + <div class="grid-container mb-12"> + {% endif %} + + {% image item.icon fill-150x150 as icon %} + <img src="{{ icon.url }}" alt="{{ item.title }}" class="grid-left-side mr-6 text-6xl xl:justify-self-end"> + <div class="grid-content flex flex-col"> + <h3 class="font-alt mb-4 text-4xl"> + {{ item.title }} + </h3> + <div class="prose leading-6"> + {{ item.text|richtext }} + </div> </div> + + {% if item.url %} + </a> + {% else %} </div> - </div> + {% endif %} {% endfor %} </template> {% endfor %} -- GitLab