diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2014-01-07 15:00:19 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2014-01-07 15:03:25 +0100 |
commit | 8af1bb8192dae10b71843cc096ce1eccdb90c1a9 (patch) | |
tree | 373eaad0de23406db69d6f6a1fb311a21cbe9591 | |
parent | 6169f3eef6ce8ba45607751f0c60c8676933c52b (diff) | |
download | Ishtar-8af1bb8192dae10b71843cc096ce1eccdb90c1a9.tar.bz2 Ishtar-8af1bb8192dae10b71843cc096ce1eccdb90c1a9.zip |
Administrativ Act: manage default filtering (refs #1597)
* add indirect filtering possibility to get_item
-rw-r--r-- | archaeological_files/views.py | 4 | ||||
-rw-r--r-- | archaeological_operations/views.py | 3 | ||||
-rw-r--r-- | ishtar_common/views.py | 8 |
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: |