From 5bdd184424ed51eaddc642bda549fa7a4ada8710 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 18 Oct 2018 17:56:55 +0200 Subject: Basket: list view, better sheet, allow basket sharing (db and right management) --- ishtar_common/views_item.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'ishtar_common/views_item.py') 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) -- cgit v1.2.3