From f2704b3f136234871d11d386406d537b711e8bbc Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Tue, 20 Oct 2020 15:20:33 +0200 Subject: [PATCH] Render solution video in a modal --- apps/participation/models.py | 7 +++++++ .../participation/participation_detail.html | 13 ++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/apps/participation/models.py b/apps/participation/models.py index 27d92df..e1d242c 100644 --- a/apps/participation/models.py +++ b/apps/participation/models.py @@ -1,5 +1,7 @@ import re +from django.template.loader import render_to_string + from corres2math.lists import get_sympa_client from django.core.exceptions import ObjectDoesNotExist from django.core.validators import RegexValidator @@ -162,6 +164,11 @@ class Video(models.Model): return re.compile("(https?://|)(www\\.|)(youtube\\.com/watch\\?v=|youtu\\.be/)([a-zA-Z0-9-_]*)?.*?")\ .match("https://www.youtube.com/watch?v=73nsrixx7eI").group(4) + def as_iframe(self): + if self.platform == "youtube": + return render_to_string("participation/youtube_iframe.html", context=dict(youtube_code=self.youtube_code)) + return None + def __str__(self): return _("Video of team {name} ({trigram})")\ .format(name=self.participation.team.name, trigram=self.participation.team.trigram) diff --git a/apps/participation/templates/participation/participation_detail.html b/apps/participation/templates/participation/participation_detail.html index 6026667..37ae535 100644 --- a/apps/participation/templates/participation/participation_detail.html +++ b/apps/participation/templates/participation/participation_detail.html @@ -26,15 +26,11 @@ {% if current_phase.phase_number == 1 or participation.solution.link == "" %} {% endif %} + {% if participation.solution.link %} + + {% endif %} - {% if participation.solution.platform == "youtube" %} - {% include "participation/youtube_iframe.html" with youtube_code=participation.solution.youtube_code %} - {% elif participation.solution %} -
- {% trans "This video platform is not supported yet." %} -
- {% endif %} @@ -43,6 +39,9 @@ {% trans "Upload" as modal_button %} {% url "participation:upload_video" pk=participation.solution_id as modal_action %} {% include "base_modal.html" with modal_id="uploadVideo" %} +{% trans "Display solution" as modal_title %} +{% trans "This video platform is not supported yet." as unsupported_platform %} +{% include "base_modal.html" with modal_id="displayVideo" modal_action="" modal_button="" modal_additional_class="modal-lg" modal_content=participation.solution.as_iframe|default:unsupported_platform %} {% endblock %} {% block extrajavascript %}