diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-08-25 21:34:55 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-08-25 21:34:55 +0200 |
commit | 38302f3a894c04df8e3ab5bd24d9c8326a8c4d53 (patch) | |
tree | 231ca1cfc63c661930644922975200edf0273785 /archaeological_files/models.py | |
parent | 7d35c4a7672007f966bd47ff602e3e818dd2e042 (diff) | |
download | Ishtar-38302f3a894c04df8e3ab5bd24d9c8326a8c4d53.tar.bz2 Ishtar-38302f3a894c04df8e3ab5bd24d9c8326a8c4d53.zip |
Change saved filename (refs #244)
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) |