diff --git a/pretalx_broadcast_tools/templates/pretalx_broadcast_tools/orga.html b/pretalx_broadcast_tools/templates/pretalx_broadcast_tools/orga.html index 93c5a32..6c0b11f 100644 --- a/pretalx_broadcast_tools/templates/pretalx_broadcast_tools/orga.html +++ b/pretalx_broadcast_tools/templates/pretalx_broadcast_tools/orga.html @@ -45,6 +45,9 @@
{TALK_URL}
URL to the talk detail page.
+ +
{TRACK_NAME} or {TRACK_NAME_COLOURED}
+
Track name in plain text or coloured using the track colour.
diff --git a/pretalx_broadcast_tools/utils/placeholders.py b/pretalx_broadcast_tools/utils/placeholders.py index b286789..6a1ce16 100644 --- a/pretalx_broadcast_tools/utils/placeholders.py +++ b/pretalx_broadcast_tools/utils/placeholders.py @@ -1,8 +1,10 @@ from django.conf import settings -def placeholders(schedule, talk): - return { +def placeholders(schedule, talk, supports_html_colour=False): + track_name = str(talk.submission.track.name) if talk.submission.track else "" + + result = { "CODE": talk.submission.code, "EVENT_SLUG": str(schedule.event.slug), "FEEDBACK_URL": "{}{}".format( @@ -14,4 +16,17 @@ def placeholders(schedule, talk): schedule.event.custom_domain or settings.SITE_URL, talk.submission.urls.public, ), + "TRACK_NAME": track_name, } + + if talk.submission.track and supports_html_colour: + result["TRACK_NAME_COLOURED"] = '{}'.format( + talk.submission.track.color, track_name + ) + else: + result["TRACK_NAME_COLOURED"] = track_name + + # for the americans + result["TRACK_NAME_COLORED"] = result["TRACK_NAME_COLOURED"] + + return result diff --git a/pretalx_broadcast_tools/views/schedule.py b/pretalx_broadcast_tools/views/schedule.py index 182ce5a..b9e2ca2 100644 --- a/pretalx_broadcast_tools/views/schedule.py +++ b/pretalx_broadcast_tools/views/schedule.py @@ -60,7 +60,11 @@ class BroadcastToolsScheduleView(EventPermissionRequired, ScheduleMixin, View): if talk.submission.track else None, "room": room["name"].localize(schedule.event.locale), - "infoline": infoline.format(**placeholders(schedule, talk)), + "infoline": infoline.format( + **placeholders( + schedule, talk, supports_html_colour=True + ) + ), "image_url": talk.submission.image_url, "locale": talk.submission.content_locale, "do_not_record": talk.submission.do_not_record,