summaryrefslogtreecommitdiff
path: root/archaeological_operations/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/models.py')
-rw-r--r--archaeological_operations/models.py27
1 files changed, 20 insertions, 7 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 0823118e0..b4ff1809f 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -132,6 +132,25 @@ class ArchaeologicalSite(BaseHistorizedItem):
name += u" %s %s" % (settings.JOINT, self.name)
return name
+def get_values_town_related(item, prefix, values):
+ values[prefix+'parcellist'] = item.render_parcels()
+ values[prefix+'towns'] = ''
+ values[prefix+'departments'] = ''
+ values[prefix+'departments_number'] = ''
+ values[prefix+'towns_count'] = unicode(item.towns.count())
+ if item.towns.count():
+ values[prefix+'towns'] = u", ".join([town.name
+ for town in item.towns.all().order_by('name')])
+ if settings.COUNTRY == 'fr':
+ dpts_num = set([town.numero_insee[:2] for town in item.towns.all()])
+ values[prefix+'departments_number'] = u", ".join(
+ list(sorted(dpts_num)))
+ values[prefix+'departments'] = u", ".join([
+ Department.objects.get(number=dpt).label
+ for dpt in sorted(dpts_num) if Department.objects.filter(
+ number=dpt).count()])
+ return values
+
class Operation(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem,
DashboardFormItem):
TABLE_COLS = ['year_index', 'operation_type', 'remains', 'towns',
@@ -245,13 +264,7 @@ class Operation(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem,
def get_values(self, prefix=''):
values = super(Operation, self).get_values(prefix=prefix)
- values[prefix+'towns'] = ''
- values[prefix+'towns_count'] = unicode(self.towns.count())
- if self.towns.count():
- values[prefix+'towns'] = u", ".join([town.name
- for town in self.towns.all().order_by('name')])
- values[prefix+'parcellist'] = self.render_parcels()
- return values
+ return get_values_town_related(self, prefix, values)
@property
def short_class_name(self):