diff --git a/pinaxcon/templates/symposion/schedule/presentation_detail.html b/pinaxcon/templates/symposion/schedule/presentation_detail.html index f8bd2d4fcd5a9812658e7e934e6efb719bd9cc89..f5ae05d3904725130fea1557773591ba1dfe6c9e 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 0000000000000000000000000000000000000000..fa6d415fc159fdf96e44b1c97c93678d30d60a61 --- /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 6698eb25649805a10c4c6d1ccb1f508e3d88668d..d994f825d437b8b58a04785dfa7563ce1523dd4c 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")