diff options
Diffstat (limited to 'ishtar/furnitures/models.py')
| -rw-r--r-- | ishtar/furnitures/models.py | 46 |
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") |
