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.py46
1 files changed, 37 insertions, 9 deletions
diff --git a/ishtar/furnitures/models.py b/ishtar/furnitures/models.py
index 28420118b..008ad1dc3 100644
--- a/ishtar/furnitures/models.py
+++ b/ishtar/furnitures/models.py
@@ -34,6 +34,13 @@ from simple_history.models import HistoricalRecords
from ishtar import settings
+# valid ID validator for models
+def valid_id(cls, value):
+ try:
+ cls.objects.get(pk=value)
+ except ObjectDoesNotExist:
+ raise ValidationError(_(u"Not a valid person."))
+
class OwnPerms:
"""
Manage special permissions for object's owner
@@ -129,6 +136,13 @@ class Organization(Address, OwnPerms):
("delete_own_organization", ugettext(u"Can delete own Organization")),
)
+ @classmethod
+ def valid_id(cls, value):
+ valid_id(cls, value)
+
+ def __unicode__(self):
+ return self.name
+
class PersonType(GeneralType):
class Meta:
verbose_name = _(u"Person type")
@@ -168,10 +182,7 @@ class Person(Address, OwnPerms) :
@classmethod
def valid_id(cls, value):
- try:
- cls.objects.get(pk=value)
- except ObjectDoesNotExist:
- raise ValidationError(_(u"Not a valid person."))
+ valid_id(cls, value)
class IshtarUser(models.Model):
user = models.ForeignKey(User, unique=True, related_name='profile',
@@ -188,6 +199,11 @@ class FileType(GeneralType):
verbose_name = _(u"Archaeological file type")
verbose_name_plural = _(u"Archaeological file types")
+try:
+ PREVENTIVE = FileType.objects.filter(txt_idx="preventive").all()[0].pk
+except:
+ PREVENTIVE = 0
+
if settings.COUNTRY == 'fr':
class SaisineType(GeneralType):
delay = models.IntegerField(_(u"Delay (in days)"))
@@ -209,11 +225,17 @@ class File(BaseHistorizedItem, OwnPerms):
towns = models.ManyToManyField("Town")
creation_date = models.DateField(_(u"Creation date"),
default=datetime.datetime.now)
- reception_date = models.DateField(_(u'Reception date'))
+ reception_date = models.DateField(_(u'Reception date'), blank=True,
+ null=True)
if settings.COUNTRY == 'fr':
- saisine_type = models.ForeignKey(SaisineType,
+ saisine_type = models.ForeignKey(SaisineType, blank=True, null=True,
verbose_name= u"Type de saisine")
- reference_number = models.IntegerField(_(u"Reference number"))
+ reference_number = models.IntegerField(_(u"Reference number"),
+ blank=True, null=True)
+ total_surface = models.IntegerField(_(u"Total surface"))
+ total_developed_surface = models.IntegerField(_(u"Total developed surface"),
+ blank=True, null=True)
+ address = models.TextField(_(u"Address"))
history = HistoricalRecords()
class Meta:
@@ -527,14 +549,14 @@ if settings.COUNTRY == 'fr':
department = models.ForeignKey(Departement, verbose_name=u"Département")
def __unicode__(self):
- return self.name
+ return u"%s - %s" % (self.name, unicode(self.department))
class Canton(models.Model):
name = models.CharField(u"Nom", max_length=30)
arrondissement = models.ForeignKey(Arrondissement,
verbose_name=u"Arrondissement")
def __unicode__(self):
- return self.name
+ return u"%s - %s" % (self.name, unicode(self.arrondissement))
class Town(models.Model):
name = models.CharField(_(u"Name"), max_length=100)
@@ -550,8 +572,14 @@ class Town(models.Model):
verbose_name_plural = _(u"Towns")
def __unicode__(self):
+ if settings.COUNTRY == 'fr':
+ return u"%s (%s)" % (self.name, unicode(self.canton))
return self.name
+ @classmethod
+ def valid_id(cls, value):
+ valid_id(cls, value)
+
class TreatmentType(GeneralType):
class Meta:
verbose_name = _(u"Treatment type")