diff --git a/main/blocks.py b/main/blocks.py index 8ff414dc6252f2e123768c8437001ea850fa3c71..33439d183ec5e6c82cb41b8ab710f10609cc4f7d 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 0000000000000000000000000000000000000000..c1e2ca2f6b402fb3b2165700223302eaf225c237 --- /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 295f4f21d85f8d15d278e9e4a4c83d31d0ad3429..911f0e8fc580e3c6b733c567cf83999af673ff9d 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 %}