mirror of
https://github.com/Kunsi/pretalx-plugin-broadcast-tools
synced 2024-11-15 07:25:49 +00:00
44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
from django.dispatch import receiver
|
|
from django.urls import resolve, reverse
|
|
from django.utils.translation import gettext_lazy as _
|
|
from django.utils.translation import gettext_noop
|
|
from i18nfield.strings import LazyI18nString
|
|
from pretalx.common.models.settings import hierarkey
|
|
from pretalx.common.signals import register_data_exporters
|
|
from pretalx.orga.signals import nav_event_settings
|
|
|
|
hierarkey.add_default(
|
|
"broadcast_tools_lower_thirds_no_talk_info",
|
|
LazyI18nString.from_gettext(
|
|
gettext_noop("Sorry, there's currently no talk running")
|
|
),
|
|
LazyI18nString,
|
|
)
|
|
hierarkey.add_default("broadcast_tools_lower_thirds_info_string", "", LazyI18nString)
|
|
|
|
|
|
@receiver(nav_event_settings)
|
|
def navbar_info(sender, request, **kwargs):
|
|
url = resolve(request.path_info)
|
|
if not request.user.has_perm("orga.change_settings", request.event):
|
|
return []
|
|
return [
|
|
{
|
|
"label": _("broadcast tools"),
|
|
"url": reverse(
|
|
"plugins:pretalx_broadcast_tools:orga",
|
|
kwargs={
|
|
"event": request.event.slug,
|
|
},
|
|
),
|
|
"active": url.namespace == "plugins:pretalx_broadcast_tools"
|
|
and url.url_name == "orga",
|
|
}
|
|
]
|
|
|
|
|
|
@receiver(register_data_exporters, dispatch_uid="exporter_broadcast_pdf")
|
|
def register_data_exporter(sender, **kwargs):
|
|
from .exporter import PDFExporter
|
|
|
|
return PDFExporter
|