From ee990e9d67250675438e6485e167d56f120d8b0f Mon Sep 17 00:00:00 2001 From: Corentin Wallez Date: Sat, 2 Feb 2013 16:55:51 +0000 Subject: [PATCH] events - Update models * Add a Foreign key from Event to it's main dsc * Add __unicode__ * Add a missing Meta class --- xnet/events/admin.py | 4 ++-- xnet/events/models.py | 24 +++++++++++++++++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/xnet/events/admin.py b/xnet/events/admin.py index 08f36a1..43f3ddf 100644 --- a/xnet/events/admin.py +++ b/xnet/events/admin.py @@ -19,11 +19,11 @@ class EventDescriptionAdmin(admin.ModelAdmin): admin.site.register(models.EventDescription, EventDescriptionAdmin) -class PaymentOptionAdmin(admin.ModelAdmin): +class PriceOptionAdmin(admin.ModelAdmin): list_display = ['name', 'amount'] search_fields = ['name'] -admin.site.register(models.PaymentOption, PaymentOptionAdmin) +admin.site.register(models.PriceOption, PriceOptionAdmin) class RegistrationAdmin(admin.ModelAdmin): diff --git a/xnet/events/models.py b/xnet/events/models.py index 04c7d6a..49cee8f 100644 --- a/xnet/events/models.py +++ b/xnet/events/models.py @@ -17,6 +17,8 @@ class Event(models.Model): ) short = models.SlugField(max_length=40, verbose_name=_(u"nom raccourci")) + main_description = models.ForeignKey('events.EventDescription', null=True, blank=True, + verbose_name=_(u"description principale"), related_name=_(u"+")) simple = models.BooleanField(verbose_name=_(u"simple")) registration_end_date = models.DateTimeField(null=True, blank=True, @@ -31,6 +33,9 @@ class Event(models.Model): start_date = models.DateTimeField(null=True, blank=True, verbose_name=_(u"date de début")) end_date = models.DateTimeField(null=True, blank=True, verbose_name=_(u"date de fin")) + def __unicode__(self): + return self.short + class Meta: verbose_name = _(u"événement") verbose_name_plural = _(u"événements") @@ -43,17 +48,23 @@ class EventDescription(models.Model): registered_limit = models.PositiveIntegerField(verbose_name=_(u"limites du nombre d'inscrits")) main = models.BooleanField(verbose_name=_(u"principale")) + def __unicode__(self): + return self.name + class Meta: verbose_name = _(u"description d'événement") verbose_name_plural = _(u"descriptions d'événements") -class PaymentOption(models.Model): +class PriceOption(models.Model): name = models.CharField(max_length=100, verbose_name=_(u"nom")) - amount = models.FloatField(verbose_name=_(u"montant")) + amount = models.IntegerField(verbose_name=_(u"montant (centimes)")) event_description = models.ForeignKey(EventDescription, verbose_name=_(u"description associée"), related_name=_(u"+")) + def __unicode__(self): + return self.name + class Meta: verbose_name = _(u"option de paiement") verbose_name_plural = _(u"options de paiement") @@ -74,8 +85,15 @@ class Registration(models.Model): related_name=_(u"+")) event = models.ForeignKey(EventDescription, verbose_name=_(u"événement associé"), related_name=_(u"+")) - options = models.ForeignKey(PaymentOption, verbose_name=_(u"options associées"), + option = models.ForeignKey(PriceOption, verbose_name=_(u"options associées"), related_name=_(u"+")) + date_registered = models.DateTimeField(verbose_name=_(u"date d'enregistrement")) status = models.CharField(max_length=10, choices=STATUS_CHOICES, verbose_name=_(u"statut")) + def __unicode__(self): + return "%s, %s, %s".format(unicode(user), unicode(event), unicode(option)) + + class Meta: + verbose_name = _(u"option de paiement") + verbose_name_plural = _(u"options de paiement") -- 2.1.4