diff options
Diffstat (limited to 'ishtar/furnitures/models.py')
| -rw-r--r-- | ishtar/furnitures/models.py | 19 | 
1 files changed, 17 insertions, 2 deletions
diff --git a/ishtar/furnitures/models.py b/ishtar/furnitures/models.py index d3b942102..28420118b 100644 --- a/ishtar/furnitures/models.py +++ b/ishtar/furnitures/models.py @@ -22,7 +22,8 @@ Models description  """  import datetime -from django.core.exceptions import ObjectDoesNotExist +from django.core.exceptions import ObjectDoesNotExist, ValidationError +from django.core.validators import validate_slug  from django.utils.translation import ugettext_lazy as _, ugettext  from django.contrib.auth.models import User @@ -45,6 +46,8 @@ class GeneralType(models.Model):      Abstract class for "types"      """      label = models.CharField(_(u"Label"), max_length=100) +    txt_idx = models.CharField(_(u"Textual identifier"), +                         validators=[validate_slug], max_length=30, unique=True)      comment = models.TextField(_(u"Comment"), blank=True, null=True)      available = models.BooleanField(_(u"Available")) @@ -54,6 +57,11 @@ class GeneralType(models.Model):      def __unicode__(self):          return self.label +    @classmethod +    def get_types(cls): +        for item in cls.objects.filter(available=True).all(): +            yield (item.id, _(item.label)) +  class BaseHistorizedItem(models.Model):      history_modifier = models.ForeignKey(User, related_name='+',                                        verbose_name=_(u"Last modifier")) @@ -156,7 +164,14 @@ class Person(Address, OwnPerms) :          )      def __unicode__(self): -        return u"%s %s" % (self.name, self.surname) +        return u"%s %s - %s" % (self.name, self.surname, self.email) + +    @classmethod +    def valid_id(cls, value): +        try: +            cls.objects.get(pk=value) +        except ObjectDoesNotExist: +            raise ValidationError(_(u"Not a valid person."))  class IshtarUser(models.Model):      user = models.ForeignKey(User, unique=True, related_name='profile',  | 
