diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-12-27 12:58:36 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-12-27 12:58:36 +0100 | 
| commit | e5c7be58af39faf76ba22e0868c7d98e1ac6fb6f (patch) | |
| tree | fd7f7bf2661e890ff9fb0846aeea8dfecb07fa23 /archaeological_operations/models.py | |
| parent | 9e058ac03ca182a85d26590960c1e0b0206663cd (diff) | |
| download | Ishtar-e5c7be58af39faf76ba22e0868c7d98e1ac6fb6f.tar.bz2 Ishtar-e5c7be58af39faf76ba22e0868c7d98e1ac6fb6f.zip | |
Manage administrativ act registers (refs #1587)
* specific wizard
* csv export
* new actions
Diffstat (limited to 'archaeological_operations/models.py')
| -rw-r--r-- | archaeological_operations/models.py | 28 | 
1 files changed, 23 insertions, 5 deletions
| diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 7648dd6bf..bbffe023f 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -25,6 +25,7 @@ from django.contrib.gis.db import models  from django.core.urlresolvers import reverse  from django.db.models import Q, Count, Sum, Max, Avg  from django.db.models.signals import post_save, m2m_changed +from django.forms import ValidationError  from django.utils.translation import ugettext_lazy as _, ugettext  from ishtar_common.utils import cached_label_changed @@ -390,8 +391,8 @@ class ActType(GeneralType):          ordering = ('label',)  class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter): -    TABLE_COLS = ['act_type', 'associated_file', 'operation', -                  'associated_file.towns', 'operation.towns'] +    TABLE_COLS = ['year', 'index', 'act_type', 'signature_date', +                  'associated_file', 'operation']      TABLE_COLS_FILE = ['act_type', 'associated_file', 'associated_file.towns',]      TABLE_COLS_OPE = ['act_type', 'operation', 'operation.towns']      act_type = models.ForeignKey(ActType, verbose_name=_(u"Act type")) @@ -441,6 +442,22 @@ class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter):            for item in [self.operation, self.associated_file, self.act_object]            if item]) +    @property +    def year(self): +        if not self.signature_date: +            return None +        return self.signature_date.year +    year_lbl = _(u"Year") + +    @property +    def towns(self): +        if self.associated_file: +            return self.associated_file.towns.all() +        elif self.operation: +            return self.operation.towns.all() +        return [] +    towns_lbl = _(u"Towns") +      def get_filename(self, operation=False):          filename = ''          if operation and self.operation: @@ -473,13 +490,14 @@ class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter):          if not self.index:              c_index = 1              q = AdministrativeAct.objects.filter(act_type__indexed=True, -                                  signature_date__year=year).order_by("-index") +                                  signature_date__year=year, +                                  index__isnull=False).order_by("-index")              if q.count(): -                c_index = q.all()[0].index +                c_index = q.all()[0].index + 1              self.index = c_index          if self.act_type.indexed:              conflict = AdministrativeAct.objects.filter(act_type__indexed=True, -                                                  signature_date__year=year +                                                  signature_date__year=year,                                                    index=self.index)              if self.pk:                  conflict = conflict.exclude(pk=self.pk) | 
