use view-based breadcrumbs

This commit is contained in:
krmax44 2024-02-23 14:15:14 +01:00 committed by Max
parent 84b36e5d23
commit f72e87f404
4 changed files with 33 additions and 38 deletions

View file

@ -22,6 +22,16 @@ class GovernmentMixin:
Government, slug=self.kwargs["gov"], **filter_kwarg
)
def get_breadcrumbs(self, context):
if "request" in context:
request = context["request"]
title = request.current_page.get_title()
url = request.current_page.get_absolute_url()
return [(title, url)]
return []
class GovPlanSectionDetailView(GovernmentMixin, DetailView):
slug_url_kwarg = "section"
@ -38,6 +48,11 @@ class GovPlanSectionDetailView(GovernmentMixin, DetailView):
context["plans"] = context["object"].get_plans(queryset=queryset)
return context
def get_breadcrumbs(self, context):
return super().get_breadcrumbs(context) + [
(self.object.title, self.object.get_absolute_url())
]
class GovPlanDetailView(GovernmentMixin, DetailView):
slug_url_kwarg = "plan"
@ -63,6 +78,14 @@ class GovPlanDetailView(GovernmentMixin, DetailView):
self.request.govplan = self.object
return context
def get_breadcrumbs(self, context):
obj = context["object"]
section = context["section"]
return super().get_breadcrumbs(context) + [
(section.title, section.get_absolute_url()),
(obj.title, obj.get_absolute_url()),
]
class GovPlanProposeUpdateView(GovernmentMixin, LoginRequiredMixin, UpdateView):
slug_url_kwarg = "plan"