]> git.parisson.com Git - teleforma.git/commitdiff
fix multiple media reads
authorGuillaume Pellerin <guillaume.pellerin@parisson.com>
Wed, 16 Jul 2025 16:43:05 +0000 (18:43 +0200)
committerGuillaume Pellerin <guillaume.pellerin@parisson.com>
Wed, 16 Jul 2025 16:43:05 +0000 (18:43 +0200)
teleforma/models/crfpa.py
teleforma/views/core.py

index 78f8bf8640705d2a4a8e6efae4073a2baf0f3821..13325b2efda43872a04bd2e1656f27893e66e004 100644 (file)
@@ -118,7 +118,6 @@ class Training(models.Model):
     platform_only = models.BooleanField(_('e-learning platform only'))
     duration = models.IntegerField(u"DurĂ©e en heures", default=0)
 
-
     def __str__(self):
         if self.name and self.period:
             return ' - '.join([self.name, self.period.name])
index fa4485ba154d4a5c4bc2a8c296bb85bda1cd7e7a..436ca5f1a4b2216934adbd084dee619f5cc2fe0f 100644 (file)
@@ -701,7 +701,10 @@ class MediaView(CourseAccessMixin, DetailView):
             reverse("teleforma-media-detail",
                 kwargs={"period_id": period_id, "pk": media.id}))
         if get_access(media, courses) and referer == media_detail_url:
-            media_read, c = MediaRead.objects.get_or_create(media=media, user=request.user)
+            media_reads = MediaRead.objects.filter(media=media, user=request.user)
+            if not media_reads:
+                media_read = MediaRead(media=media, user=request.user)
+                media_read.save()
             return serve_media(media.file,
                 content_type=media.mime_type,
                 streaming=streaming,