diff options
Diffstat (limited to 'archaeological_operations/models.py')
| -rw-r--r-- | archaeological_operations/models.py | 17 | 
1 files changed, 13 insertions, 4 deletions
| diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 10008cdfd..0a83dbdfc 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -628,6 +628,12 @@ class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter):              self.associated_file.update_has_admin_act()              self.associated_file.update_short_menu_class() +def strip_zero(value): +    for idx, nb in enumerate(value): +        if nb != '0': +            return value[idx:] +    return value +  class Parcel(LightHistorizedItem):      if FILES_AVAILABLE:          associated_file = models.ForeignKey('archaeological_files.File', @@ -656,17 +662,20 @@ class Parcel(LightHistorizedItem):      @staticmethod      def grouped_parcels(parcels): -        sortkeyfn = lambda s:(getattr(s, 'year'), getattr(s, 'town'), -                              getattr(s, 'section')) -        parcels.sort(key=sortkeyfn) +        sortkeyfn = lambda s:(getattr(s, 'town_id'), +                              getattr(s, 'section'), getattr(s, 'year')) +        parcels = sorted(parcels, key=sortkeyfn)          grouped = []          for keys, parcel_grp in groupby(parcels, key=sortkeyfn):              for idx, parcel in enumerate(parcel_grp):                  if not idx:                      grouped.append(parcel)                      grouped[-1].parcel_numbers = [] -                grouped[-1].parcel_numbers.append(parcel.parcel_number) +                grouped[-1].parcel_numbers.append( +                    u"0"*(12-len(parcel.parcel_number)) + parcel.parcel_number)              grouped[-1].parcel_numbers.sort() +            grouped[-1].parcel_numbers = [strip_zero(nb) +                                          for nb in grouped[-1].parcel_numbers]          return grouped      def long_label(self): | 
