diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2014-10-27 15:34:51 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2014-10-27 15:34:51 +0100 |
commit | ebf87a7cc0d21034c387bc2eff85323c63c49680 (patch) | |
tree | 1b8403c0b39c347999cec7588a0227d24884b569 /archaeological_operations/models.py | |
parent | e47277a942d9dd5e6e591237731b1cfaa349e770 (diff) | |
download | Ishtar-ebf87a7cc0d21034c387bc2eff85323c63c49680.tar.bz2 Ishtar-ebf87a7cc0d21034c387bc2eff85323c63c49680.zip |
Document generation: simplify and add departments
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): |