From 73632a82c41854ceb2f5d17c4a51684f7e78ffab Mon Sep 17 00:00:00 2001 From: yomguy Date: Tue, 16 Oct 2012 09:16:17 +0200 Subject: [PATCH] update pro model for seminars --- teleforma/models/core.py | 15 ++++- teleforma/models/crfpa.py | 2 +- teleforma/models/pro.py | 76 +++++++++++------------ teleforma/templates/teleforma/course.html | 1 - 4 files changed, 51 insertions(+), 43 deletions(-) diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 8f34321b..e80acc92 100644 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -60,12 +60,22 @@ from south.modelsinspector import add_introspection_rules app_label = 'teleforma' -n_sessions = 21 -session_choices = [(str(x), str(y)) for x in range(1, n_sessions) for y in range(1, n_sessions) if x == y] +def get_n_choices(n): + return [(str(x), str(y)) for x in range(1, n) for y in range(1, n) if x == y] + +session_choices = get_n_choices(21) server_choices = [('icecast', 'icecast'), ('stream-m', 'stream-m')] streaming_choices = [('mp3', 'mp3'), ('ogg', 'ogg'), ('webm', 'webm'), ('mp4', 'mp4')] mimetypes.add_type('video/webm','.webm') +STATUS_CHOICES = ( + (1, _('Draft')), + (2, _('Public')), + (3, _('Private')), + ) + +WEIGHT_CHOICES = get_n_choices(5) + class ShortTextField(models.TextField): @@ -355,6 +365,7 @@ class MediaBase(Model): code = CharField(_('code'), max_length=255, blank=True) is_published = BooleanField(_('published')) mime_type = CharField(_('mime type'), blank=True) + weight = models.IntegerField(_('weight'), choices=WEIGHT_CHOICES, default=1) notes = generic.GenericRelation(Note) def get_fields(self): diff --git a/teleforma/models/crfpa.py b/teleforma/models/crfpa.py index 41cb3a69..353993da 100644 --- a/teleforma/models/crfpa.py +++ b/teleforma/models/crfpa.py @@ -125,7 +125,7 @@ class Student(Model): blank=True, null=True) oral_2 = ForeignKey('Course', related_name="oral_2", verbose_name=_('oral 2'), blank=True, null=True) - options = ForeignKey('Course', related_name="options", verbose_name=_('options'), + options = ForeignKey('Course', related_name="options", verbose_name=_('options'), blank=True, null=True) def __unicode__(self): diff --git a/teleforma/models/pro.py b/teleforma/models/pro.py index 83687e6d..e87bd6ff 100644 --- a/teleforma/models/pro.py +++ b/teleforma/models/pro.py @@ -34,44 +34,39 @@ # Author: Guillaume Pellerin """ -from django.db.models import * +from django.db.models import as models from django.utils.translation import ugettext_lazy as _ from telemeta.models.core import * from teleforma.models.core import * -STATUS_CHOICES = ( - (1, _('Draft')), - (2, _('Public')), - (3, _('Close')), - ) - class Seminar(Model): - course = ForeignKey(Course, related_name='seminar', verbose_name=_('course')) - title = CharField(_('title'), max_length=255, blank=True) - price = FloatField(_('price')) - status = IntegerField(_('status'), choices=STATUS_CHOICES, default=1) - rank = IntegerField(_('rank')) + course = models.ForeignKey(Course, related_name='seminar', verbose_name=_('course')) + title = models.CharField(_('title'), max_length=255, blank=True) + price = models.FloatField(_('price')) + status = models.IntegerField(_('status'), choices=STATUS_CHOICES, default=1) + rank = models.IntegerField(_('rank')) - doc_1 = ForeignKey(Document, related_name=_("seminar"), - verbose_name=_('doc 1'), + doc_1 = models.ForeignKey(Document, related_name=_("seminar"), + verbose_name=_('document 1'), blank=True, null=True) - media = ForeignKey(Media, related_name="seminar", + media = models.ForeignKey(Media, related_name="seminar", verbose_name=_('media'), blank=True, null=True) - doc_2 = ForeignKey(Document, related_name="seminar", - verbose_name=_('doc 2'), + doc_2 = models.ForeignKey(Document, related_name="seminar", + verbose_name=_('document 2'), blank=True, null=True) - doc_correct = ForeignKey(Document, related_name=_("seminar"), - verbose_name=_('doc_correct'), + doc_correct = models.ForeignKey(Document, related_name=_("seminar"), + verbose_name=_('correction document'), blank=True, null=True) - suscribers = ManyToManyField(User, related_name="seminar", verbose_name=_('suscribers'), + suscribers = models.ManyToManyField(User, related_name="seminar", verbose_name=_('suscribers'), blank=True, null=True) - date_added = DateTimeField(_('date added'), auto_now_add=True) - date_modified = DateTimeField(_('date modified'), auto_now=True) + date_added = models.DateTimeField(_('date added'), auto_now_add=True) + date_modified = models.DateTimeField(_('date modified'), auto_now=True) + duration = DurationField(_('duration')) def __unicode__(self): return '-'.join([self.course, self.rank, self.title]) @@ -83,11 +78,11 @@ class Seminar(Model): class Answer(Model): - user = ForeignKey(User, related_name=_("answer"), verbose_name=_('user')) - question = ForeignKey(Question, related_name=_("answer"), verbose_name=_('question')) - answer = TextField(_('answer')) - status = IntegerField(_('status'), choices=STATUS_CHOICES, default=1) - validated = BooleanField(_('validated')) + user = models.ForeignKey(User, related_name=_("answer"), verbose_name=_('user')) + question = models.ForeignKey(Question, related_name=_("answer"), verbose_name=_('question')) + answer = models.TextField(_('answer')) + status = models.IntegerField(_('status'), choices=STATUS_CHOICES, default=1) + validated = models.BooleanField(_('validated')) def __unicode__(self): return '-'.join([self.seminar, self.question, self.user]) @@ -99,13 +94,13 @@ class Answer(Model): class Question(Model): - seminar = ForeignKey(Seminar, verbose_name=_('seminar')) - title = CharField(_('title'), max_length=255, blank=True) - question = TextField(_('question')) - rank = IntegerField(_('rank')) - weight = IntegerField(_('weight')) - min_num_char = IntegerField(_('minimum numbers of characters')) - status = IntegerField(_('status'), choices=STATUS_CHOICES, default=1) + seminar = models.ForeignKey(Seminar, verbose_name=_('seminar')) + title = models.CharField(_('title'), max_length=255, blank=True) + question = models.TextField(_('question')) + rank = models.IntegerField(_('rank')) + weight = models.IntegerField(_('weight'), choices=WEIGHT_CHOICES, default=1) + min_nchar = models.IntegerField(_('minimum numbers of characters')) + status = models.IntegerField(_('status'), choices=STATUS_CHOICES, default=1) def __unicode__(self): @@ -115,15 +110,18 @@ class Question(Model): db_table = app_label + '_' + 'question' verbose_name = _('Question') + class TestimonialTheme(Model): - organization = ForeignKey(Organization, related_name='testimonial_theme', + organization = models.ForeignKey(Organization, related_name='testimonial_theme', verbose_name=_('organization')) - text = TextField(_('text')) - + text = models.TextField(_('text')) + doc_1 = models.ForeignKey(Document, related_name=_("seminar"), + blank=True, null=True) class Testimonial(Model): - seminar = ForeignKey(Seminar, verbose_name=_('seminar')) - user = ForeignKey(User, related_name=_("testimonial"), verbose_name=_('user')) + seminar = models.ForeignKey(Seminar, verbose_name=_('seminar')) + user = models.ForeignKey(User, related_name=_("testimonial"), verbose_name=_('user')) + diff --git a/teleforma/templates/teleforma/course.html b/teleforma/templates/teleforma/course.html index cca13540..65d2f05d 100644 --- a/teleforma/templates/teleforma/course.html +++ b/teleforma/templates/teleforma/course.html @@ -1,7 +1,6 @@ {% extends "teleforma/courses.html" %} {% load i18n %} - {% block courses %} -- 2.39.5