From c9ffda4ecb452714f0e6fb43dfe1ffad973344da Mon Sep 17 00:00:00 2001 From: Stefan Wehrmeyer Date: Tue, 15 Mar 2022 12:40:11 +0100 Subject: [PATCH] Add CMS toolbar menu for govplan --- froide_govplan/cms_toolbars.py | 28 ++++++++++++++++++++++++++++ froide_govplan/views.py | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 froide_govplan/cms_toolbars.py diff --git a/froide_govplan/cms_toolbars.py b/froide_govplan/cms_toolbars.py new file mode 100644 index 0000000..3b5f86c --- /dev/null +++ b/froide_govplan/cms_toolbars.py @@ -0,0 +1,28 @@ +from django.urls import reverse +from django.utils.translation import gettext_lazy as _ + +from cms.toolbar_base import CMSToolbar +from cms.toolbar_pool import toolbar_pool + + +class GovPlanToolbar(CMSToolbar): + def populate(self): + if not hasattr(self.request, "govplan"): + return + + menu = self.toolbar.get_or_create_menu("govplan-menu", _("GovPlan")) + govplan = self.request.govplan + url = reverse( + "govplan:admin:froide_govplan_governmentplan_change", + args=(govplan.pk,), + current_app="govplan", + ) + menu.add_modal_item(_("Edit government plan"), url=url) + url = reverse( + "govplan:admin:froide_govplan_governmentplanupdate_add", + current_app="govplan", + ) + menu.add_modal_item(_("Add update"), url=url) + + +toolbar_pool.register(GovPlanToolbar) diff --git a/froide_govplan/views.py b/froide_govplan/views.py index 1509c41..b8e27e4 100644 --- a/froide_govplan/views.py +++ b/froide_govplan/views.py @@ -52,6 +52,8 @@ class GovPlanDetailView(GovernmentMixin, DetailView): "-timestamp" ) context["section"] = self.get_section() + # For CMS toolbar + self.request.govplan = self.object return context