]> git.parisson.com Git - teleforma.git/commitdiff
fix scenario against manytomany objects, add ranks to docs and media packages
authoryomguy <yomguy@parisson.com>
Mon, 26 Nov 2012 10:06:37 +0000 (11:06 +0100)
committeryomguy <yomguy@parisson.com>
Mon, 26 Nov 2012 10:06:37 +0000 (11:06 +0100)
teleforma/models/core.py
teleforma/models/pro.py

index 3abc0199ff5af37c8f880a01d702af3077c4737d..3eb718bb812fa369734f4259654d851b117e76dd 100644 (file)
@@ -453,7 +453,8 @@ class DocumentSimple(MediaBase):
     file            = FileField(_('file'), upload_to='items/%Y/%m/%d', db_column="filename", blank=True)
     readers         = ManyToManyField(User, related_name="document_simple", verbose_name=_('readers'),
                                         blank=True, null=True)
-
+    rank            = models.IntegerField(_('rank'), blank=True, null=True)
+    
     def is_image(self):
         is_url_image = False
         if self.url:
index 4c451a6e127575243bf1acbab332a8797b841e79..665cfa9e9e56305c956081de6019dc40d3699826 100644 (file)
@@ -55,6 +55,7 @@ class MediaPackage(MediaBase):
     video_items     = models.ManyToManyField(MediaItem, related_name="media_package_video", 
                                         verbose_name=_('video items'),
                                         blank=True, null=True)
+    rank            = models.IntegerField(_('rank'), blank=True, null=True)
     
     def __str__(self):
         if self.title:
@@ -197,6 +198,7 @@ class Testimonial(Model):
                                     verbose_name=_('template'))
     document    = models.ForeignKey(DocumentSimple, related_name="testimonial", 
                                         blank=True, null=True)
+    rank            = models.IntegerField(_('rank'), blank=True, null=True)
 
     class Meta(MetaCore):
         db_table = app_label + '_' + 'testimonial'
@@ -219,16 +221,19 @@ class SeminarScenario1(Model):
     def __init__(self, seminar):
         self.seminar = seminar
         self.steps = []
-        self.steps.append(self.seminar.doc_1)
-        self.steps.append(self.seminar.media)
-        self.steps.append(self.seminar.doc_2)
-        for question in self.seminar.question.all():
-            self.steps.append(question)
-        self.steps.append(self.seminar.doc_correct)
+
+        self.append(self.seminar.doc_1)
+        self.append(self.seminar.media)
+        self.append(self.seminar.doc_2)
+        self.append(self.seminar.question)
+        self.append(self.seminar.doc_correct)
         self.steps.append(self.seminar.evaluation.all()[0])
-        for testimonial in self.seminar.testimonial.all():
-            self.steps.append(testimonial)
+        self.append(self.seminar.testimonial)
         
+    def append(self, models):
+        for mod in models.all().order_by('rank'):
+            self.steps.append(mod)
+
 
 class Auditor(Model):