diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-09-09 19:31:14 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-09-09 19:31:14 +0200 |
commit | 6ee8c39a2e8e053810bea643fdf0f8c3fa21374b (patch) | |
tree | d016b7c4969407fe679dd27b6aedfb1d47c57448 /ishtar_common/views.py | |
parent | fc572c9de810ec5c32b5178a5e8b9d9a3aefc4f5 (diff) | |
download | Ishtar-6ee8c39a2e8e053810bea643fdf0f8c3fa21374b.tar.bz2 Ishtar-6ee8c39a2e8e053810bea643fdf0f8c3fa21374b.zip |
Shortcut menu: parent items constraint default search if no default item is set (refs #1318)
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 50c647372..d55181067 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -578,6 +578,8 @@ def get_item(model, func_name, default_name, extra_request_keys=[], reqs = reqs | q and_reqs.append(reqs) if 'submited' not in request_items: + # default search + # an item is selected in the default menu if default_name in request.session and \ request.session[default_name]: value = request.session[default_name] @@ -586,11 +588,11 @@ def get_item(model, func_name, default_name, extra_request_keys=[], request.session[default_name].split('-')[-1]} else: dct = {"pk": request.session[default_name]} - elif not dct: - for name in relative_session_names.keys(): + elif dct == base_request: + # a parent item may be selected in the default menu + for name, key in relative_session_names: if name in request.session and request.session[name]: - k = relative_session_names[name] - dct = {k: request.session[name]} + dct.update({key: request.session[name]}) break if (not dct or data_type == 'csv') \ and func_name in request.session: |