verwaltungstracker/froide_govplan/cms_toolbars.py
Stefan Wehrmeyer 2b4ca5cf65 Open govplan admin with link instead of modal
Modal will try to access cms admin via ajax on save, triggering normal
admin extra auth features.
2022-03-18 12:09:41 +01:00

40 lines
1.3 KiB
Python

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 (
self.request.current_page
and self.request.current_page.application_namespace != "govplan"
):
return
menu = self.toolbar.get_or_create_menu("govplan-menu", "Koalitionstracker")
url = reverse(
"admin:app_list",
kwargs={"app_label": "froide_govplan"},
current_app="govplanadmin",
)
menu.add_link_item(_("Edit plans and updates"), url=url)
if hasattr(self.request, "govplan"):
govplan = self.request.govplan
url = reverse(
"admin:froide_govplan_governmentplan_change",
args=(govplan.pk,),
current_app="govplanadmin",
)
menu.add_link_item(_("Edit government plan"), url=url)
url = reverse(
"admin:froide_govplan_governmentplanupdate_add",
current_app="govplanadmin",
)
url = "{}?plan={}".format(url, govplan.id)
menu.add_link_item(_("Add update"), url=url)
toolbar_pool.register(GovPlanToolbar)