Skip to content
Snippets Groups Projects
Commit 01775e63 authored by Alexa Valentová's avatar Alexa Valentová
Browse files

add automatic redirects, fix menu iterator (again)

parent 1a0555e0
No related branches found
No related tags found
2 merge requests!997Release,!995Release
Pipeline #18620 passed
import json import json
from django.http import HttpResponseRedirect
from django.core.cache import cache from django.core.cache import cache
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.db import models from django.db import models
...@@ -1099,25 +1100,33 @@ class DistrictGeoFeatureDetailPage( ...@@ -1099,25 +1100,33 @@ class DistrictGeoFeatureDetailPage(
# Legacy models required for migrations # Legacy models required for migrations
class DistrictElectionRootPage(Page): class LegacyProgramPageMixin(Page):
def serve(self, request, *args, **kwargs):
return HttpResponseRedirect("/programy/")
class Meta:
abstract = True
class DistrictElectionRootPage(LegacyProgramPageMixin, Page):
pass pass
class DistrictProgramPage(Page): class DistrictProgramPage(LegacyProgramPageMixin, Page):
pass pass
class DistrictInteractiveProgramPage(Page): class DistrictInteractiveProgramPage(LegacyProgramPageMixin, Page):
pass pass
class DistrictElectionCampaignPage(Page): class DistrictElectionCampaignPage(LegacyProgramPageMixin, Page):
pass pass
class DistrictElectionProgramPage(Page): class DistrictElectionProgramPage(LegacyProgramPageMixin, Page):
pass pass
class DistrictPostElectionStrategyPage(Page): class DistrictPostElectionStrategyPage(LegacyProgramPageMixin, Page):
pass pass
...@@ -250,7 +250,11 @@ class PageInMenuMixin(Page): ...@@ -250,7 +250,11 @@ class PageInMenuMixin(Page):
menu_iterator = ( menu_iterator = (
instance.root_page.menu instance.root_page.menu
if hasattr(instance, "root_page") if hasattr(instance, "root_page")
else instance.menu else (
instance.menu
if hasattr(instance, "menu")
else []
)
) )
for menu in menu_iterator: for menu in menu_iterator:
...@@ -268,9 +272,10 @@ class PageInMenuMixin(Page): ...@@ -268,9 +272,10 @@ class PageInMenuMixin(Page):
if item["page"].id == instance.id: if item["page"].id == instance.id:
return menu.value["title"] return menu.value["title"]
parent = instance.get_parent().specific parent = instance.get_parent()
if parent: if parent:
parent = parent.specific
return self.get_menu_title(parent) return self.get_menu_title(parent)
return self.title return self.title
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment