From 9027028c871e87be07d6362e3547183eb464024c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <tomas@imaniti.org>
Date: Mon, 29 Apr 2024 11:08:16 +0200
Subject: [PATCH] editable transparency data for donations

---
 ...onatehomepage_transparency_footer_items.py | 20 +++++++++++++++++++
 donate/models.py                              | 14 +++++++++++++
 donate/templates/donate/base.html             | 14 +++++++++----
 3 files changed, 44 insertions(+), 4 deletions(-)
 create mode 100644 donate/migrations/0046_donatehomepage_transparency_footer_items.py

diff --git a/donate/migrations/0046_donatehomepage_transparency_footer_items.py b/donate/migrations/0046_donatehomepage_transparency_footer_items.py
new file mode 100644
index 00000000..ba11760b
--- /dev/null
+++ b/donate/migrations/0046_donatehomepage_transparency_footer_items.py
@@ -0,0 +1,20 @@
+# Generated by Django 4.1.13 on 2024-04-29 09:08
+
+from django.db import migrations
+import wagtail.blocks
+import wagtail.fields
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('donate', '0045_alter_donatehomepage_menu'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='donatehomepage',
+            name='transparency_footer_items',
+            field=wagtail.fields.StreamField([('transparency_url', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(label='Nadpis')), ('url', wagtail.blocks.URLBlock(label='Odkaz'))], label='Odkaz'))], blank=True, use_json_field=True, verbose_name='Odkazy v patičkové sekci Otevřenost'),
+        ),
+    ]
diff --git a/donate/models.py b/donate/models.py
index a9a985bb..de50f840 100644
--- a/donate/models.py
+++ b/donate/models.py
@@ -16,6 +16,7 @@ from wagtail.admin.panels import (
     PublishingPanel,
     TabbedInterface,
 )
+from wagtail.blocks import URLBlock
 from wagtail.fields import RichTextField, StreamField
 from wagtail.images.blocks import ImageChooserBlock
 from wagtail.models import Orderable, Page
@@ -120,6 +121,7 @@ class DonateHomePage(
         null=True,
         verbose_name="náhled videa",
     )
+
     # main section
     content_blocks = StreamField(
         [
@@ -132,6 +134,17 @@ class DonateHomePage(
         use_json_field=True,
         verbose_name="Obsah",
     )
+
+    # footer
+    transparency_footer_items = StreamField(
+        [
+            ("transparency_url", CustomLinkBlock(label="Odkaz"))
+        ],
+        blank=True,
+        use_json_field=True,
+        verbose_name="Odkazy v patičkové sekci Otevřenost"
+    )
+
     # settings
     faq_page = models.ForeignKey(
         "donate.DonateTextPage",
@@ -170,6 +183,7 @@ class DonateHomePage(
             "hlavní sekce",
         ),
         FieldPanel("content_blocks"),
+        FieldPanel("transparency_footer_items")
     ]
 
     promote_panels = make_promote_panels(admin_help.build(admin_help.IMPORTANT_TITLE))
diff --git a/donate/templates/donate/base.html b/donate/templates/donate/base.html
index 3fc26956..1641c837 100644
--- a/donate/templates/donate/base.html
+++ b/donate/templates/donate/base.html
@@ -133,10 +133,16 @@
           <div class="col-12 col-md-6 col-lg-3 mb-4 order-2 order-lg-1">
             <h4 class="lead mb-3">Otevřenost</h4>
             <ul class="footer__menu">
-              <li><a href="https://ucet.pirati.cz" title="Zvláštní účet ve smyslu § 17b zákona č. 424/1991 Sb. o sdružování v politických stranách">Účet dle §17b ZPS</a></li>
-              <li><a href="https://smlouvy.pirati.cz">Registr smluv</a></li>
-              <li><a href="https://piroplaceni.pirati.cz">Otevřené hospodaření</a></li>
-              <li><a href="https://wiki.pirati.cz/fo/start" title="Financování a hospodaření">Financování</a></li>
+              {% if page.root_page.transparency_footer_items %}
+                {% for block in page.root_page.transparency_footer_items %}
+                  <li>
+                    <a
+                      href="{{ block.value.url }}"
+                      target="_blank"
+                    >{{ block.value.text }}</a>
+                  </li>
+                {% endfor %}
+              {% endif %}
             </ul>
           </div><!-- /column -->
 
-- 
GitLab