summaryrefslogtreecommitdiff
path: root/archaeological_files/models.py
diff options
context:
space:
mode:
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
commit38302f3a894c04df8e3ab5bd24d9c8326a8c4d53 (patch)
tree231ca1cfc63c661930644922975200edf0273785 /archaeological_files/models.py
parent7d35c4a7672007f966bd47ff602e3e818dd2e042 (diff)
downloadIshtar-38302f3a894c04df8e3ab5bd24d9c8326a8c4d53.tar.bz2
Ishtar-38302f3a894c04df8e3ab5bd24d9c8326a8c4d53.zip
Change saved filename (refs #244)
Diffstat (limited to 'archaeological_files/models.py')
-rw-r--r--archaeological_files/models.py27
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)