diff options
Diffstat (limited to 'archaeological_finds')
-rw-r--r-- | archaeological_finds/models.py | 25 | ||||
-rw-r--r-- | archaeological_finds/urls.py | 2 | ||||
-rw-r--r-- | archaeological_finds/views.py | 43 |
3 files changed, 54 insertions, 16 deletions
diff --git a/archaeological_finds/models.py b/archaeological_finds/models.py index 03e54b8f2..1d59c59b1 100644 --- a/archaeological_finds/models.py +++ b/archaeological_finds/models.py @@ -213,6 +213,31 @@ 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 += [ + 'previous_id', 'label', 'material_types', + 'dating.period', 'find_number', 'object_types', + 'description'] + + TABLE_COLS_FOR_OPE_LBL = { + 'code_patriarche__index': _("Short Id"), + 'code_patriarche__code__label__index': _("Complete ID")} base_finds = models.ManyToManyField(BaseFind, verbose_name=_(u"Base find"), related_name='find') external_id = models.CharField(_(u"External ID"), blank=True, null=True, diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py index 0e337b519..a5232d2a9 100644 --- a/archaeological_finds/urls.py +++ b/archaeological_finds/urls.py @@ -51,6 +51,8 @@ urlpatterns += patterns( name='autocomplete-materialtype'), url(r'get-find/(?P<type>.+)?$', 'get_find', name='get-find'), + url(r'get-find-for-ope/(?P<type>.+)?$', 'get_find_for_ope', + name='get-find-for-ope'), url(r'get-find-full/(?P<type>.+)?$', 'get_find', name='get-find-full', kwargs={'full': True}), url(r'get-findsource/(?P<type>.+)?$', diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 5caaae64d..6ca09feb8 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -34,27 +34,38 @@ from wizards import * from forms import * import models +find_extra_keys = { + 'base_finds__context_record': + 'base_finds__context_record__pk', + 'base_finds__context_record__parcel__town': + 'base_finds__context_record__parcel__town', + 'base_finds__context_record__operation__year': + 'base_finds__context_record__operation__year__contains', + 'base_finds__context_record__operation': + 'base_finds__context_record__operation__pk', + 'base_finds__context_record__operation__code_patriarche': + 'base_finds__context_record__operation__code_patriarche', + 'dating__period': 'dating__period__pk', + 'base_finds__find__description': + 'base_finds__find__description__icontains', + 'base_finds__is_isolated': 'base_finds__is_isolated', + 'image': 'image__isnull'} + get_find = get_item( models.Find, 'get_find', 'find', bool_fields=['base_finds__is_isolated'], reversed_bool_fields=['image__isnull'], base_request={'downstream_treatment__isnull': True}, - extra_request_keys={ - 'base_finds__context_record': - 'base_finds__context_record__pk', - 'base_finds__context_record__parcel__town': - 'base_finds__context_record__parcel__town', - 'base_finds__context_record__operation__year': - 'base_finds__context_record__operation__year__contains', - 'base_finds__context_record__operation': - 'base_finds__context_record__operation__pk', - 'base_finds__context_record__operation__code_patriarche': - 'base_finds__context_record__operation__code_patriarche', - 'dating__period': 'dating__period__pk', - 'base_finds__find__description': - 'base_finds__find__description__icontains', - 'base_finds__is_isolated': 'base_finds__is_isolated', - 'image': 'image__isnull'}) + extra_request_keys=find_extra_keys) + +get_find_for_ope = get_item( + models.Find, 'get_find', 'find', + bool_fields=['base_finds__is_isolated'], + reversed_bool_fields=['image__isnull'], + base_request={'downstream_treatment__isnull': True}, + extra_request_keys=find_extra_keys, + own_table_cols=models.Find.TABLE_COLS_FOR_OPE) + get_findsource = get_item( models.FindSource, 'get_findsource', 'findsource', extra_request_keys={ |