diff options
Diffstat (limited to 'archaeological_finds/models.py')
| -rw-r--r-- | archaeological_finds/models.py | 47 | 
1 files changed, 23 insertions, 24 deletions
| diff --git a/archaeological_finds/models.py b/archaeological_finds/models.py index fe06b82bc..4259c7883 100644 --- a/archaeological_finds/models.py +++ b/archaeological_finds/models.py @@ -109,6 +109,12 @@ class BaseFind(BaseHistorizedItem, OwnPerms):                                            null=True)      index = models.IntegerField(u"Index", default=0)      material_index = models.IntegerField(u"Material index", default=0) +    cache_short_id = models.TextField( +        _(u"Short ID"), blank=True, null=True, +        help_text=_(u"Cached value - do not edit")) +    cache_complete_id = models.TextField( +        _(u"Complete ID"), blank=True, null=True, +        help_text=_(u"Cached value - do not edit"))      history = HistoricalRecords()      RELATED_POST_PROCESS = ['find'] @@ -225,40 +231,22 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):      if settings.COUNTRY == 'fr':          TABLE_COLS.insert(              6, 'base_finds.context_record.operation.code_patriarche') -    if settings.COUNTRY == 'fr': -        TABLE_COLS_FOR_OPE = [ -            ['base_finds.context_record.operation.code_patriarche', ], -            ['base_finds.context_record.operation.code_patriarche', ], -        ] -    else: -        TABLE_COLS_FOR_OPE = [ -            ['base_finds.context_record.operation.year', -             'base_finds.context_record.operation.operation_code'], -            ['base_finds.context_record.operation.year', -             'base_finds.context_record.operation.operation_code'] -        ] -    TABLE_COLS_FOR_OPE[0] += ['index'] -    TABLE_COLS_FOR_OPE[1] += [ -        'material_types.code', -        'base_finds.context_record.label', -        'index'] -    TABLE_COLS_FOR_OPE += [ +    TABLE_COLS_FOR_OPE = [ +        'base_finds.cache_short_id', +        'base_finds.cache_complete_id',          'previous_id', 'label', 'material_types',          'datings.period', 'find_number', 'object_types',          'description'] -    TABLE_COLS_FOR_OPE_LBL = { -        'code_patriarche__index': _("Short Id"), -        'code_patriarche__code__label__index': _("Complete ID")}      EXTRA_FULL_FIELDS = [ -        'base_finds.short_id', 'base_finds.complete_id', +        'base_finds.cache_short_id', 'base_finds.cache_complete_id',          'base_finds.comment', 'base_finds.description',          'base_finds.topographic_localisation',          'base_finds.special_interest',          'base_finds.discovery_date']      EXTRA_FULL_FIELDS_LABELS = { -        'base_finds.short_id': _(u"Base find - Short Id"), -        'base_finds.complete_id': _(u"Base find - Complete ID"), +        'base_finds.cache_short_id': _(u"Base find - Short Id"), +        'base_finds.cache_complete_id': _(u"Base find - Complete ID"),          'base_finds.comment': _(u"Base find - Comment"),          'base_finds.description': _(u"Base find - Description"),          'base_finds.topographic_localisation': _(u"Base find - " @@ -481,7 +469,9 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):                  self.index = 1              self.save()          for base_find in self.base_finds.all(): +            modified = False              if not base_find.index: +                modified = True                  cond = {                      'context_record__operation':                      base_find.context_record.operation} @@ -490,6 +480,15 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):                  base_find.index = 1                  if idx and idx['index__max']:                      base_find.index = idx['index__max'] + 1 +            if not base_find.cache_short_id: +                base_find.cache_short_id = base_find.short_id() +                if base_find.cache_short_id: +                    modified = True +            if not base_find.cache_complete_id: +                base_find.cache_complete_id = base_find.complete_id() +                if base_find.cache_complete_id: +                    modified = True +            if modified:                  base_find.save()              # if not base_find.material_index:              #    idx = BaseFind.objects\ | 
