From ee308a2f1fcaafa3965ea79a49f50b9c2d9ace96 Mon Sep 17 00:00:00 2001
From: xaralis <filip.varecha@fragaria.cz>
Date: Thu, 26 May 2022 10:31:43 +0100
Subject: [PATCH] feat(district): allow customize initial zoom for geo feature
 detail

---
 ...istrictgeofeaturedetailpage_initial_zoom.py | 18 ++++++++++++++++++
 district/models.py                             | 16 ++++++++++++++--
 .../district_geo_feature_detail_page.html      |  2 +-
 3 files changed, 33 insertions(+), 3 deletions(-)
 create mode 100644 district/migrations/0077_districtgeofeaturedetailpage_initial_zoom.py

diff --git a/district/migrations/0077_districtgeofeaturedetailpage_initial_zoom.py b/district/migrations/0077_districtgeofeaturedetailpage_initial_zoom.py
new file mode 100644
index 00000000..e725a545
--- /dev/null
+++ b/district/migrations/0077_districtgeofeaturedetailpage_initial_zoom.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.4 on 2022-05-26 09:28
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("district", "0076_districtgeofeaturecollectionpage_content_after_and_more"),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name="districtgeofeaturedetailpage",
+            name="initial_zoom",
+            field=models.IntegerField(default=15, verbose_name="Výchozí zoom"),
+        ),
+    ]
diff --git a/district/models.py b/district/models.py
index ce685251..dc9a274a 100644
--- a/district/models.py
+++ b/district/models.py
@@ -1405,7 +1405,7 @@ class DistrictGeoFeatureCollectionPage(
         MultiFieldPanel(
             [
                 FieldPanel("perex"),
-                FieldPanel("hero_cta_buttons"),
+                StreamFieldPanel("hero_cta_buttons"),
                 StreamFieldPanel("content"),
                 StreamFieldPanel("content_after"),
                 ImageChooserPanel("logo_image"),
@@ -1571,6 +1571,12 @@ class DistrictGeoFeatureDetailPage(
         verbose_name="Obsah",
         blank=True,
     )
+    initial_zoom = models.IntegerField(
+        "Výchozí zoom",
+        default=15,
+        null=False,
+        blank=False,
+    )
     sort_order = models.IntegerField(
         "Index řazení",
         null=True,
@@ -1594,7 +1600,13 @@ class DistrictGeoFeatureDetailPage(
             ],
             "Základní informace",
         ),
-        FieldPanel("geojson"),
+        MultiFieldPanel(
+            [
+                FieldPanel("geojson"),
+                FieldPanel("initial_zoom"),
+            ],
+            "Mapka",
+        ),
         PageChooserPanel("guarantor"),
         FieldPanel("sort_order"),
     ]
diff --git a/district/templates/district/district_geo_feature_detail_page.html b/district/templates/district/district_geo_feature_detail_page.html
index d1cb0003..00c48618 100644
--- a/district/templates/district/district_geo_feature_detail_page.html
+++ b/district/templates/district/district_geo_feature_detail_page.html
@@ -74,7 +74,7 @@
                 data-display-zoom-control="false"
                 data-display-legend="false"
                 data-display-popups="false"
-                data-initial-zoom="15"
+                data-initial-zoom="{{ page.initial_zoom }}"
                 data-tile-server-config="{{ js_map.tile_server_config }}"
                 data-tile-style="{{ js_map.style }}"
                 data-categories="{{ js_map.categories }}"
-- 
GitLab