diff options
Diffstat (limited to 'archaeological_files/models.py')
| -rw-r--r-- | archaeological_files/models.py | 27 | 
1 files changed, 22 insertions, 5 deletions
| diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 30c060789..a6900ec08 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -119,6 +119,10 @@ class File(BaseHistorizedItem, OwnPerms):          )          ordering = ['-year', '-numeric_reference'] +    @property +    def short_class_name(self): +        return _(u"FILE") +      @classmethod      def get_years(cls):          return [res['year'] for res in list(cls.objects.values('year').annotate( @@ -138,12 +142,13 @@ class File(BaseHistorizedItem, OwnPerms):          self.save()          return self.cached_label +    @property +    def reference(self): +        return u"-".join((unicode(self.year), +                          unicode(self.numeric_reference or '0'))) +      def _generate_cached_label(self): -        items = [unicode(_('Intercommunal'))] -        if self.towns.count() == 1: -            items[0] = unicode(self.towns.all()[0]) -        items.append("-".join((unicode(self.year), -                               unicode(self.numeric_reference or '0')))) +        items = [self.get_town_label(), self.reference]          items += [unicode(getattr(self, k))                    for k in ['internal_reference', 'name'] if getattr(self, k)]          return settings.JOINT.join(items) @@ -152,6 +157,18 @@ class File(BaseHistorizedItem, OwnPerms):          from archaeological_operations.models import Parcel          return Parcel.grouped_parcels(list(self.parcels.all())) +    def get_town_label(self): +        lbl = unicode(_('Intercommunal')) +        if self.towns.count() == 1: +            lbl = self.towns.all()[0].name +        return lbl + +    def get_department(self): +        q = self.towns +        if not self.towns.count(): +            return '00' +        return self.towns.all()[0].numero_insee[:2] +      @classmethod      def get_query_owns(cls, user):          return Q(history_modifier=user) & Q(end_date__isnull=True) | 
