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