summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-10-18 17:56:55 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-10-24 12:06:09 +0200
commit5bdd184424ed51eaddc642bda549fa7a4ada8710 (patch)
tree1f7dcecec02273235224cbaa86f8d4dee35068ec /ishtar_common/views_item.py
parentf1318fe727248cff44a86673784abbd458ded275 (diff)
downloadIshtar-5bdd184424ed51eaddc642bda549fa7a4ada8710.tar.bz2
Ishtar-5bdd184424ed51eaddc642bda549fa7a4ada8710.zip
Basket: list view, better sheet, allow basket sharing (db and right management)
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index 5cd3eb826..7c6cbc24a 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -902,7 +902,10 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
else:
my_extra_request_keys = copy(extra_request_keys)
if base_request is None and hasattr(model, 'BASE_REQUEST'):
- my_base_request = copy(model.BASE_REQUEST)
+ if callable(model.BASE_REQUEST):
+ my_base_request = model.BASE_REQUEST(request)
+ else:
+ my_base_request = copy(model.BASE_REQUEST)
elif base_request is not None:
my_base_request = copy(base_request)
else:
@@ -987,7 +990,12 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
request_items = dct_request_items
- dct = my_base_request
+ base_query = None
+ if isinstance(my_base_request, Q):
+ base_query = my_base_request
+ dct = {}
+ else:
+ dct = my_base_request
excluded_dct = {}
and_reqs, or_reqs = [], []
exc_and_reqs, exc_or_reqs = [], []
@@ -1099,6 +1107,8 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
# print(query)
items = model.objects.filter(query)
+ if base_query:
+ items = items.filter(base_query)
if exc_query:
items = items.exclude(exc_query)