From b27598b623a30c5d19365839d6195bffae978a79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Bedna=C5=99=C3=ADk?= <jan.bednarik@gmail.com> Date: Wed, 4 May 2022 18:05:14 +0200 Subject: [PATCH] district: Small updates and fixes --- district/models.py | 33 +++++++++++++++++---------------- maps_utils/const.py | 9 +++++---- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/district/models.py b/district/models.py index 9da207a3..27f7b50a 100644 --- a/district/models.py +++ b/district/models.py @@ -5,7 +5,6 @@ from django.core.cache import cache from django.core.exceptions import ValidationError from django.core.paginator import Paginator from django.db import models -from django.db.models import signals from django.shortcuts import render from django.utils.translation import gettext_lazy from modelcluster.contrib.taggit import ClusterTaggableManager @@ -1173,6 +1172,10 @@ class DistrictGeoFeatureCollectionPage( ), ] + settings_panels = [] + + ### RELATIONS + parent_page_types = ["district.DistrictHomePage"] subpage_types = ["district.DistrictGeoFeatureDetailPage"] @@ -1327,6 +1330,10 @@ class DistrictGeoFeatureDetailPage( search_image=False, ) + settings_panels = [] + + ### RELATIONS + parent_page_types = ["district.DistrictGeoFeatureCollectionPage"] subpage_types = [] @@ -1334,6 +1341,15 @@ class DistrictGeoFeatureDetailPage( verbose_name = "Položka mapové kolekce" ordering = ["sort_order"] + def save(self, *args, **kwargs): + # delete all sibling index cache keys to force recompute + keys = [ + make_feature_index_cache_key(feature) + for feature in self.get_siblings(inclusive=True) + ] + cache.delete_many(keys) + return super().save(*args, **kwargs) + @property def index(self): key = make_feature_index_cache_key(self) @@ -1390,18 +1406,3 @@ class DistrictGeoFeatureDetailPage( ) except ValueError as exc: raise ValidationError({"geojson": str(exc)}) from exc - - -def invalidate_feature_index_cache(sender, **kwargs): - """When DistrictGeoFeatureDetailPage changes, delete all sibling index cache keys to force recompute.""" - if kwargs.get("instance"): - keys = [ - make_feature_index_cache_key(feature) - for feature in kwargs["instance"].get_siblings(inclusive=True) - ] - cache.delete_many(keys) - - -signals.post_save.connect( - invalidate_feature_index_cache, sender=DistrictGeoFeatureDetailPage -) diff --git a/maps_utils/const.py b/maps_utils/const.py index c54e06a7..e7c33027 100644 --- a/maps_utils/const.py +++ b/maps_utils/const.py @@ -1,9 +1,10 @@ MAP_STYLES = ( ("osm-mapnik", "OSM Mapnik"), - ("stamen-toner", "Stamen Toner"), - ("stamen-terrain", "Stamen Terrain"), - ("stadia-osm-bright", "Stadia OSM Bright (vyžaduje API klíč)"), - ("stadia-outdoors", "Stadia Outdoors (vyžaduje API klíč)"), + # TODO allow when we have working proxy + # ("stamen-toner", "Stamen Toner"), + # ("stamen-terrain", "Stamen Terrain"), + # ("stadia-osm-bright", "Stadia OSM Bright (vyžaduje API klíč)"), + # ("stadia-outdoors", "Stadia Outdoors (vyžaduje API klíč)"), ) DEFAULT_MAP_STYLE = "osm-mapnik" -- GitLab