X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=xnet%2Fevents%2Fmodels.py;h=d3eeef89d20ebf9a3bbe366f0029d9e72bc641a2;hb=4c8372b09f314ba9077781a64e03df638a1ceb7b;hp=43c171f6fe15bd495115297f3c87a6337535269b;hpb=0bef2caa32f1c95ae6e5f1a5a5bd21dd0c5038ce;p=xnet diff --git a/xnet/events/models.py b/xnet/events/models.py index 43c171f..d3eeef8 100644 --- a/xnet/events/models.py +++ b/xnet/events/models.py @@ -4,7 +4,8 @@ from django.utils.translation import ugettext_lazy as _ from django_xworkflows import models as xwf_models -import xnet.accounts.models as accounts_models +from xnet.accounts import models as accounts_models +from xnet.groups import models as groups_models class Event(models.Model): NOTIFICATION_RECIPIENT_CREATOR = 'creator' @@ -13,17 +14,17 @@ class Event(models.Model): NOTIFICATION_RECIPIENT_NONE = 'none' NOTIFICATION_RECIPIENT_CHOICES = ( - (NOTIFICATION_RECIPIENT_CREATOR, _(u"créateur")), - (NOTIFICATION_RECIPIENT_ANIM, _(u"animateurs")), - (NOTIFICATION_RECIPIENT_BOTH, _(u"les deux")), - (NOTIFICATION_RECIPIENT_NONE, _(u"personne")), + (NOTIFICATION_RECIPIENT_CREATOR, _(u"Le créateur de l'événement")), + (NOTIFICATION_RECIPIENT_ANIM, _(u"Les animateurs du groupe")), + (NOTIFICATION_RECIPIENT_BOTH, _(u"Le créateur et les animateurs")), + (NOTIFICATION_RECIPIENT_NONE, _(u"Personne")), ) short = models.SlugField(max_length=40, unique=True, verbose_name=_(u"nom raccourci"), help_text=_(u"Texte court utilisé dans les URLs.")) - main_description = models.OneToOneField('events.EventDescription', null=True, blank=True, + main_description = models.OneToOneField('events.EventPart', null=True, blank=True, verbose_name=_(u"description principale"), related_name='+') - group = models.ForeignKey(accounts_models.XGroup, verbose_name=_(u"groupe"), related_name='events') + group = models.ForeignKey(groups_models.XGroup, verbose_name=_(u"groupe"), related_name='events') creator = models.ForeignKey(accounts_models.Account, verbose_name=_(u"créateur"), related_name='created_events') simple = models.BooleanField(verbose_name=_(u"simple"), help_text=_(u"Un événement simple a un seul composant. Permet une mise en page plus légère.")) @@ -50,7 +51,7 @@ class Event(models.Model): verbose_name_plural = _(u"événements") -class EventDescription(models.Model): +class EventPart(models.Model): """A component of an event.""" name = models.CharField(max_length=100, verbose_name=_(u"nom")) @@ -72,7 +73,7 @@ class EventDescription(models.Model): class PriceOption(models.Model): name = models.CharField(max_length=100, verbose_name=_(u"nom")) amount = models.IntegerField(verbose_name=_(u"montant (centimes)")) - event_description = models.ForeignKey(EventDescription, verbose_name=_(u"description associée"), + event_part = models.ForeignKey(EventPart, verbose_name=_(u"description associée"), related_name='price_options') def __unicode__(self): @@ -81,7 +82,7 @@ class PriceOption(models.Model): class Meta: verbose_name = _(u"option de paiement") verbose_name_plural = _(u"options de paiement") - unique_together = ('event_description', 'name') + unique_together = ('event_part', 'name') class RegistrationWorkflow(xwf_models.Workflow): @@ -102,7 +103,7 @@ class RegistrationWorkflow(xwf_models.Workflow): class Registration(models.Model): user = models.ForeignKey(accounts_models.Account, verbose_name=_(u"utilisateur enregistré"), related_name='event_registrations') - dn_event = models.ForeignKey(EventDescription, verbose_name=_(u"événement associé"), + dn_event = models.ForeignKey(Event, verbose_name=_(u"événement associé"), related_name='registrations', editable=False) option = models.ForeignKey(PriceOption, verbose_name=_(u"options associées"), related_name='registrations')