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") | 
