diff options
Diffstat (limited to 'archaeological_operations/models.py')
-rw-r--r-- | archaeological_operations/models.py | 27 |
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): |