summaryrefslogtreecommitdiff
path: root/archaeological_finds
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds')
-rw-r--r--archaeological_finds/models.py25
-rw-r--r--archaeological_finds/urls.py2
-rw-r--r--archaeological_finds/views.py43
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={