]> git.parisson.com Git - teleforma.git/commitdiff
fix transcoded stream url access
authorGuillaume Pellerin <guillaume.pellerin@free.fr>
Thu, 22 Feb 2024 16:48:19 +0000 (17:48 +0100)
committerGuillaume Pellerin <guillaume.pellerin@free.fr>
Thu, 22 Feb 2024 16:48:19 +0000 (17:48 +0100)
teleforma/views/core.py

index 153224e2ee855cb35c98671fc415beba02142439..54d22a1b743e7c23b76c6514ba0f2b73bcaa8323 100644 (file)
@@ -684,9 +684,9 @@ class MediaView(CourseAccessMixin, DetailView):
         courses = get_courses(request.user)
         media = Media.objects.get(id=pk)
         referer = request.META.get('HTTP_REFERER')
-        media_detail_url = request.build_absolute_uri(reverse("teleforma-media-detail", kwargs={"period_id": period_id, "pk": media.id}))
-        #print(referer)
-        #print(media_detail_url)
+        media_detail_url = request.build_absolute_uri(
+            reverse("teleforma-media-detail",
+                kwargs={"period_id": period_id, "pk": media.id}))
         if get_access(media, courses) and referer == media_detail_url:
             return serve_media(media.file.path, content_type=media.mime_type, streaming=streaming)
         else:
@@ -734,9 +734,12 @@ class MediaTranscodedView(CourseAccessMixin, DetailView):
     def stream(self, request, period_id, pk, streaming=True):
         courses = get_courses(request.user)
         media = MediaTranscoded.objects.get(id=pk)
-        if get_access(media.item, courses):
-            media_path = media.file.path
-            return serve_media(media_path, content_type=media.mime_type, streaming=streaming)
+        referer = request.META.get('HTTP_REFERER')
+        media_detail_url = request.build_absolute_uri(
+            reverse("teleforma-media-transcoded",
+                kwargs={"period_id": period_id, "pk": media.id}))
+        if get_access(media, courses) and referer == media_detail_url:
+            return serve_media(media.file.path, content_type=media.mime_type, streaming=streaming)
         else:
             raise Http404("You don't have access to this media.")