Source code for shuup.simple_cms.admin_module

from django.utils.translation import gettext_lazy as _

from shuup.admin.base import AdminModule, MenuEntry
from shuup.admin.menu import CONTENT_MENU_CATEGORY
from shuup.admin.utils.urls import admin_url, derive_model_url, get_edit_and_list_urls
from shuup.admin.views.home import HelpBlockCategory, SimpleHelpBlock
from shuup.simple_cms.models import Page


[docs] class SimpleCMSAdminModule(AdminModule): name = _("Content Pages") breadcrumbs_menu_entry = MenuEntry(name, "shuup_admin:simple_cms.page.list")
[docs] def get_urls(self): url_prefix = "^cms/page" view_template = "shuup.simple_cms.admin_module.views.Page%sView" name_template = "simple_cms.page.%s" return get_edit_and_list_urls( url_prefix=url_prefix, view_template=view_template, name_template=name_template, ) + [ admin_url( rf"{url_prefix}/delete/(?P<pk>\d+)/", view_template % "Delete", name=name_template % "delete", permissions=(name_template % "delete",), ), ]
[docs] def get_menu_entries(self, request): return [ MenuEntry( text=_("Pages"), icon="fa fa-file-text", url="shuup_admin:simple_cms.page.list", category=CONTENT_MENU_CATEGORY, ordering=3, aliases=[_("Show pages")], ) ]
[docs] def get_help_blocks(self, request, kind): if kind == "quicklink": yield SimpleHelpBlock( text=_("Add a web page"), actions=[{"text": _("New page"), "url": self.get_model_url(Page, "new")}], priority=100, category=HelpBlockCategory.STOREFRONT, icon_url="simple_cms/page.png", )
[docs] def get_model_url(self, object, kind, shop=None): return derive_model_url(Page, "shuup_admin:simple_cms.page", object, kind)