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): | 
