diff options
Diffstat (limited to 'addons/base/controllers/main.py')
| -rw-r--r-- | addons/base/controllers/main.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index 07b576bf49d..41737d63179 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -329,7 +329,7 @@ class DataSet(openerpweb.Controller): @openerpweb.jsonrequest def search_read(self, request, model, fields=False, offset=0, limit=False, domain=None, context=None, sort=None): return self.do_search_read(request, model, fields, offset, limit, domain, context, sort) - def do_search_read(self, request, model, fields=False, offset=0, limit=False, domain=None, context=None, sort=None): + def do_search_read(self, request, model, fields=False, offset=0, limit=False, domain=None, context=None, sort=None, ids=False): """ Performs a search() followed by a read() (if needed) using the provided search criteria @@ -346,7 +346,8 @@ class DataSet(openerpweb.Controller): :rtype: list """ Model = request.session.model(model) - ids = Model.search(domain or [], offset or 0, limit or False, + if not ids: + ids = Model.search(domain or [], offset or 0, limit or False, sort or False, request.context) if fields and fields == ['id']: # shortcut read if we only want the ids @@ -562,11 +563,11 @@ class ListView(View): @openerpweb.jsonrequest def fill(self, request, model, id, domain, - offset=0, limit=False): - return self.do_fill(request, model, id, domain, offset, limit) + offset=0, limit=False, ids=False): + return self.do_fill(request, model, id, domain, offset, limit, ids) def do_fill(self, request, model, id, domain, - offset=0, limit=False): + offset=0, limit=False, ids=False): """ Returns all information needed to fill a table: * view with processed ``editable`` flag @@ -588,7 +589,7 @@ class ListView(View): rows = DataSet().do_search_read(request, model, offset=offset, limit=limit, - domain=domain) + domain=domain, ids=ids) eval_context = request.session.evaluation_context( request.context) return { |
