]> git.parisson.com Git - teleforma.git/commitdiff
upload_to uses get_path method
authorGuillaume Pellerin <guillaume.pellerin@parisson.com>
Wed, 5 Aug 2026 11:44:34 +0000 (13:44 +0200)
committerGuillaume Pellerin <guillaume.pellerin@parisson.com>
Wed, 5 Aug 2026 11:44:34 +0000 (13:44 +0200)
teleforma/models/core.py

index 8f957f9c194f547364064627ffe20810d91f6dde..396f01bc6fee22493f3d72b071c0b72734a50543 100644 (file)
@@ -1049,7 +1049,7 @@ class Media(MediaBase):
                                      blank=True)
     file = models.FileField(
         _('file'),
-        upload_to='items/%Y/%m/%d',
+        upload_to=self.get_conf_path,
         max_length=1024,
         null=True,
         blank=True,
@@ -1057,7 +1057,7 @@ class Media(MediaBase):
         )
     file_s3 = models.FileField(
         _('S3 file'),
-        upload_to='items/%Y/%m/%d',
+        upload_to=self.get_conf_path,
         max_length=1024,
         null=True,
         blank=True,
@@ -1065,13 +1065,13 @@ class Media(MediaBase):
         )
     poster_file = models.FileField(
         _('poster file'),
-        upload_to='items/%Y/%m/%d',
+        upload_to=self.get_conf_path,
         max_length=255,
         null=True,
         blank=False)
     poster_file_s3 = models.FileField(
         _('poster S3 file'),
-        upload_to='items/%Y/%m/%d',
+        upload_to=self.get_conf_path,
         max_length=1024,
         null=True,
         blank=True,
@@ -1086,6 +1086,16 @@ class Media(MediaBase):
         blank=True,
         null=True)
 
+    def get_conf_path(self):
+        if self.conference:
+            return os.sep.join([str(self.conference.date_begin.year),
+                self.conference.course.slug,
+                self.conference.course_type.slug,
+                self.conference.public_id
+                ])
+        else:
+            return "%Y/%m/%d"
+
     def set_mime_type(self):
         path = None
         if self.file: