From 14413d94374ebe882050f8e70714f468afb956fb Mon Sep 17 00:00:00 2001
From: Stefan Wehrmeyer
Date: Mon, 14 Mar 2022 19:16:52 +0100
Subject: [PATCH] Add breadcrumb/section links
---
froide_govplan/models.py | 12 ++++++++++++
froide_govplan/templates/froide_govplan/base.html | 4 ++--
froide_govplan/templates/froide_govplan/detail.html | 2 +-
froide_govplan/templates/froide_govplan/section.html | 4 ++--
froide_govplan/views.py | 6 ++++++
5 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/froide_govplan/models.py b/froide_govplan/models.py
index 2eedc91..8d8e8b5 100644
--- a/froide_govplan/models.py
+++ b/froide_govplan/models.py
@@ -287,6 +287,18 @@ class GovernmentPlanUpdate(models.Model):
def __str__(self):
return "{} - {} ({})".format(self.title, self.timestamp, self.plan)
+ def get_absolute_url(self):
+ return "{}#update-{}".format(
+ reverse(
+ "govplan:plan",
+ kwargs={"gov": self.government.slug, "plan": self.plan.slug},
+ ),
+ self.id,
+ )
+
+ def get_absolute_domain_url(self):
+ return settings.SITE_URL + self.get_absolute_url()
+
class GovernmentPlanFollower(Follower):
content_object = models.ForeignKey(
diff --git a/froide_govplan/templates/froide_govplan/base.html b/froide_govplan/templates/froide_govplan/base.html
index 93f4825..2c16cee 100644
--- a/froide_govplan/templates/froide_govplan/base.html
+++ b/froide_govplan/templates/froide_govplan/base.html
@@ -9,8 +9,8 @@
- {# TODO: make this dynamic #}
- zurück zu allen Kategorien
+ {% page_url 'koalitionstracker' as base_url %}
+ zurück zu allen Kategorien
diff --git a/froide_govplan/views.py b/froide_govplan/views.py
index fec6418..1509c41 100644
--- a/froide_govplan/views.py
+++ b/froide_govplan/views.py
@@ -41,11 +41,17 @@ class GovPlanDetailView(GovernmentMixin, DetailView):
return qs
return qs.filter(public=True)
+ def get_section(self):
+ return GovernmentPlanSection.objects.filter(
+ categories__in=self.object.categories.all()
+ ).first()
+
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["updates"] = self.object.updates.filter(public=True).order_by(
"-timestamp"
)
+ context["section"] = self.get_section()
return context