# -*- coding: utf-8 -*-
from django.db import models
from django.utils.translation import ugettext_lazy as _
+
+from django_xworkflows import models as xwf_models
+
import xnet.accounts.models as accounts_models
class Event(models.Model):
verbose_name_plural = _(u"options de paiement")
-class Registration(models.Model):
- STATUS_PENDING = 'pending'
- STATUS_ACCEPTED = 'accepted'
- STATUS_CANCELLED = 'cancelled'
-
- STATUS_CHOICES = (
- (STATUS_PENDING, _(u"en attente")),
- (STATUS_ACCEPTED, _(u"accepté")),
- (STATUS_CANCELLED, _(u"annulé")),
+class RegistrationWorkflow(xwf_models.Workflow):
+ states = (
+ ('pending', u"En attente"),
+ ('accepted', u"Accepté"),
+ ('cancelled', u"Annulé"),
)
+ transitions = (
+ ('accept', ['pending'], 'accepted'),
+ ('cancel', ['pending', 'accepted'], 'cancelled'),
+ )
+ initial_state = 'pending'
+
+ log_model = '' # We don't want logs
+
+class Registration(models.Model):
user = models.ForeignKey(accounts_models.Account, verbose_name=_(u"utilisateur enregistré"),
related_name=_(u"event_registrations"))
dn_event = models.ForeignKey(EventDescription, verbose_name=_(u"événement associé"),
option = models.ForeignKey(PriceOption, verbose_name=_(u"options associées"),
related_name=_(u"registrations"))
date_registered = models.DateTimeField(verbose_name=_(u"date d'enregistrement"))
- status = models.CharField(max_length=10, choices=STATUS_CHOICES, verbose_name=_(u"statut"))
+ state = xwf_models.StateField(RegistrationWorkflow, verbose_name=u"état")
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")
+ verbose_name = _(u"inscription")
+ verbose_name_plural = _(u"inscriptions")