diff --git a/district/models.py b/district/models.py index 9da207a351f96a93759085eb62669227257e84c3..27f7b50a265f276a309ee4074c210840505adf68 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 c54e06a70c2d99e89a18e9c5ce69ba9322320f38..e7c33027e0183c018da42fd31aefaed060c09fe2 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"