summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures/models.py')
-rw-r--r--ishtar/furnitures/models.py19
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',