-
Tomi Valentová authoredTomi Valentová authored
wagtail_hooks.py 1.90 KiB
import re
from django.conf import settings
from django.contrib.postgres.lookups import Unaccent
from django.db.models.functions import Lower
from django.templatetags.static import static
from django.utils.html import format_html
from django.utils.safestring import mark_safe
from wagtail import hooks
from wagtail.admin.ui.components import Component
class WelcomePanel(Component):
order = 1000
def render_html(self, parent_context):
return mark_safe(
"""
<section class="nice-padding">
<div class="help-block help-info">
<p>Nevíte si rady? Nápovědu naleznete na <a href="https://majak.pirati.cz/">majak.pirati.cz</a></p>
</div>
</section>
"""
)
@hooks.register("construct_homepage_panels")
def add_another_welcome_panel(request, panels):
panels.append(WelcomePanel())
@hooks.register("construct_explorer_page_queryset")
def show_my_profile_only(parent_page, pages, request):
requested_html = re.search(r"^text/html", request.META.get("HTTP_ACCEPT"))
if not requested_html:
return pages.order_by(Unaccent(Lower("title")))
return pages
@hooks.register("insert_global_admin_css")
def global_admin_css():
style = format_html(
'<link rel="stylesheet" href="{}">', static("majak/wagtail/theme.css")
)
if settings.MAJAK_ENV == "test":
style += '<style type="text/css">.sidebar__inner { background-color: #00203A }</style>'
if settings.MAJAK_ENV == "dev":
style += '<style type="text/css">.sidebar__inner { background-color: #002A20 }</style>'
return mark_safe(style)
# TODO - Style add button based on whether or not there are blocks already added.
# This is surprisingly complicated.
# @hooks.register('insert_global_admin_js')
# def global_admin_js():
# return format_html(
# '<script src="{}"></script>',
# static('majak/wagtail/theme.js')
# )