From: Guillaume Pellerin Date: Tue, 4 Aug 2026 13:12:22 +0000 (+0200) Subject: add media.poster_url, update poster urls X-Git-Tag: 3.1.0~12 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=ae2dbeb07906e6db3c4af899f36e82f9b61e9f18;p=teleforma.git add media.poster_url, update poster urls --- diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 3447b199..8f957f9c 100644 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -458,6 +458,7 @@ class Conference(models.Model): notified = models.BooleanField(_('notified'), default=False) notified_live = models.BooleanField("Notifié live", default=False) imported = models.BooleanField(_('imported'), default=False) + s3_exported = models.BooleanField(_('S3 exported'), default=False) test = models.BooleanField(_('test'), default=False) @property @@ -1068,6 +1069,14 @@ class Media(MediaBase): max_length=255, null=True, blank=False) + poster_file_s3 = models.FileField( + _('poster S3 file'), + upload_to='items/%Y/%m/%d', + max_length=1024, + null=True, + blank=True, + storage=media_storage, + ) duration = models.DurationField( _("duration"), blank=True, @@ -1108,12 +1117,11 @@ class Media(MediaBase): self.set_duration() super(Media, self).save(**kwargs) - def poster_url(self, geometry='640'): - url = '' - if self.poster_file: - url = sorl_default.backend.get_thumbnail( - self.poster_file, geometry).url - return url + def poster_url(self): + poster_file = self.get_poster_file() + if poster_file: + return poster_file.url + return "" def get_file(self): if self.file_s3: @@ -1123,6 +1131,14 @@ class Media(MediaBase): else: return None + def get_poster_file(self): + if self.poster_file_s3: + return self.poster_file_s3 + elif self.poster_file: + return self.poster_file + else: + return None + def set_duration(self): result = subprocess.run(["ffprobe", "-v", "error", "-show_entries", "format=duration", "-of", diff --git a/teleforma/templates/teleforma/course_media.html b/teleforma/templates/teleforma/course_media.html index 83c173af..3ac07237 100644 --- a/teleforma/templates/teleforma/course_media.html +++ b/teleforma/templates/teleforma/course_media.html @@ -50,18 +50,6 @@ $(document).ready(function(){ {% endblock extra_javascript %} -{% comment %} -{% block module-action %} - {% if media.file and media.conference.status == 3 or user.is_superuser or user.is_staff %} - {% if not "video" in media.mime_type or request.user_agent.os.family == 'iOS' %} -
-  {% trans "Download" %} -
- {% endif %} - {% endif %} -{% endblock module-action %} -{% endcomment %} - {% block course %}
@@ -100,7 +88,11 @@ $(document).ready(function(){ width="100%" height="auto" data-setup='{"playbackRates": [1, 1.25, 1.5, 2]}' - {% if media.poster_file %}{% thumbnail media.poster_file '640' as im %}poster="{{ im.url }}"{% endthumbnail %}{% endif %} + {% if media.poster_url %} + {% thumbnail media.poster_url '640' as im %} + poster="{{ im.url }}" + {% endthumbnail %} + {% endif %} >

@@ -128,7 +120,7 @@ $(document).ready(function(){

{% if media.poster_file %} - {% thumbnail media.poster_file "300" as im %} + {% thumbnail media.poster_url "300" as im %} preview {% endthumbnail %} diff --git a/teleforma/templates/teleforma/inc/media_list.html b/teleforma/templates/teleforma/inc/media_list.html index 3738c884..d72596f4 100644 --- a/teleforma/templates/teleforma/inc/media_list.html +++ b/teleforma/templates/teleforma/inc/media_list.html @@ -17,7 +17,7 @@ {% if conference.video.poster_file %} - {% thumbnail conference.video.poster_file "168x96" as im %} + {% thumbnail conference.video.poster_url "168x96" as im %}
{% trans 'Click here' %}
diff --git a/teleforma/views/core.py b/teleforma/views/core.py index 948a5ac2..08186d99 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -676,6 +676,7 @@ class MediaView(CourseAccessMixin, DetailView): context['mime_type'] = media.mime_type context['course'] = course context['type'] = course_type + # context['notes'] = media.notes.all().filter(author=self.request.user) content_type = ContentType.objects.get( app_label="teleforma", model="course")