From: yomguy Date: Mon, 26 Nov 2012 10:06:37 +0000 (+0100) Subject: fix scenario against manytomany objects, add ranks to docs and media packages X-Git-Tag: 0.9-probarreau~298 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=29abc72c5d9bc65a7050e41326146b227ee1a342;p=teleforma.git fix scenario against manytomany objects, add ranks to docs and media packages --- diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 3abc0199..3eb718bb 100644 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -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: diff --git a/teleforma/models/pro.py b/teleforma/models/pro.py index 4c451a6e..665cfa9e 100644 --- a/teleforma/models/pro.py +++ b/teleforma/models/pro.py @@ -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):