1
0
Fork 0
mirror of https://github.com/MatomoCamp/pretalx-matomocamp.git synced 2024-09-19 15:53:48 +02:00
pretalx-matomocamp/pretalx_matomocamp/signals.py
2021-10-14 14:22:32 +02:00

36 lines
1.2 KiB
Python

# Register your receivers here
from django.dispatch import receiver
from pretalx.agenda.recording import BaseRecordingProvider
from pretalx.agenda.signals import register_recording_provider
from pretalx.cfp.signals import html_head
from pretalx.submission.models import Submission
class MatomoVideoProvider(BaseRecordingProvider):
"""
a bit of a hack to add buttons linking to livestream and chat to the details page
"""
def get_recording(self, submission: Submission):
is_workshop = submission.submission_type.id == 2
button_title = "View Workshop" if is_workshop else "View Livestream"
livestream_url = f"https://live.matomocamp.org/" + submission.code
chat_url = livestream_url + "/chat_room"
return {
"iframe": f"""
<div>
<a href='{livestream_url}' class='btn btn-primary'>{button_title}</a>
<a href="{chat_url}" class="btn btn-primary">Join Chatroom</a>
</div>
""",
}
@receiver(register_recording_provider)
def matomo_video_provider(sender, **kwargs):
return MatomoVideoProvider(sender)
@receiver(html_head)
def append_to_header(sender, **kwargs):
return "<script src='/tracking.js'></script>"