summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_files/views.py4
-rw-r--r--archaeological_operations/views.py3
-rw-r--r--ishtar_common/views.py8
3 files changed, 11 insertions, 4 deletions
diff --git a/archaeological_files/views.py b/archaeological_files/views.py
index b6650e7a7..46032ba48 100644
--- a/archaeological_files/views.py
+++ b/archaeological_files/views.py
@@ -94,8 +94,8 @@ get_administrativeactfile = get_item(AdministrativeAct,
'signature_date_after':'signature_date__gte',
'associated_file__name':'associated_file__name__icontains',
'associated_file__permit_reference':\
- 'associated_file__permit_reference__icontains'
- })
+ 'associated_file__permit_reference__icontains'},
+ relative_session_names={'file':'associated_file__pk'})
def dashboard_file(request, *args, **kwargs):
"""
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index 233c45d19..714fd62e4 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -148,7 +148,8 @@ get_administrativeactop = get_item(models.AdministrativeAct,
'get_administrativeactop', 'administrativeactop',
extra_request_keys={'associated_file__towns':'associated_file__towns__pk',
'operation__towns':'operation__towns__pk',
- 'act_type__intented_to':'act_type__intented_to'})
+ 'act_type__intented_to':'act_type__intented_to'},
+ relative_session_names={'operation':'operation__pk'})
get_administrativeact = get_item(models.AdministrativeAct,
'get_administrativeact', 'administrativeact',
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 961ff680c..3e0bffd32 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -188,7 +188,7 @@ HIERARCHIC_FIELDS = ['periods', 'period', 'unit', 'material_type',
PRIVATE_FIELDS = ('id', 'history_modifier', 'order')
def get_item(model, func_name, default_name, extra_request_keys=[],
base_request={}, bool_fields=[], reversed_bool_fields=[],
- dated_fields=[], associated_models=[]):
+ dated_fields=[], associated_models=[], relative_session_names={}):
"""
Generic treatment of tables
"""
@@ -226,6 +226,12 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
if default_name in request.session and \
request.session[default_name]:
dct = {"pk":request.session[default_name]}
+ else:
+ for name in relative_session_names.keys():
+ if name in request.session and request.session[name]:
+ k = relative_session_names[name]
+ dct = {k:request.session[name]}
+ break
if (not dct or data_type == 'csv') and func_name in request.session:
dct = request.session[func_name]
else: