diff --git a/pinaxcon/templates/symposion/schedule/presentation_detail.html b/pinaxcon/templates/symposion/schedule/presentation_detail.html index f8bd2d4f..f5ae05d3 100644 --- a/pinaxcon/templates/symposion/schedule/presentation_detail.html +++ b/pinaxcon/templates/symposion/schedule/presentation_detail.html @@ -54,6 +54,21 @@ {% autoescape off %}

{{ presentation.abstract_html|safe|clean_text|urlize }}

{% endautoescape %} + + {% if presentation.videos_split %} +

Video

+ +

Available formats:

+ + {% endif %} {% endblock %} diff --git a/vendor/symposion/symposion/schedule/migrations/0009_presentation_videos.py b/vendor/symposion/symposion/schedule/migrations/0009_presentation_videos.py new file mode 100644 index 00000000..fa6d415f --- /dev/null +++ b/vendor/symposion/symposion/schedule/migrations/0009_presentation_videos.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.28 on 2023-07-14 08:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('symposion_schedule', '0008_auto_20190122_0815'), + ] + + operations = [ + migrations.AddField( + model_name='presentation', + name='videos', + field=models.TextField(blank=True, help_text='One URL per line'), + ), + ] diff --git a/vendor/symposion/symposion/schedule/models.py b/vendor/symposion/symposion/schedule/models.py index 6698eb25..d994f825 100644 --- a/vendor/symposion/symposion/schedule/models.py +++ b/vendor/symposion/symposion/schedule/models.py @@ -280,6 +280,7 @@ class Presentation(models.Model): verbose_name=_("Section"), on_delete=models.CASCADE, ) + videos = models.TextField(blank=True, help_text='One URL per line') def save(self, *args, **kwargs): self.abstract_html = parse(self.abstract) @@ -304,6 +305,9 @@ class Presentation(models.Model): def __str__(self): return "#%s %s (%s)" % (self.number, self.title, self.speaker) + def videos_split(self): + return [v.strip() for v in self.videos.split('\n') if v != ''] + class Meta: ordering = ["slot"] verbose_name = _("presentation")