summaryrefslogtreecommitdiff
path: root/addons/base/controllers/main.py
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2011-07-27 13:44:30 +0200
committerFabien Meghazi <fme@openerp.com>2011-07-27 13:44:30 +0200
commit5ca8686fcc08a5b4a927e9ef57ed00a881a12d8a (patch)
treed02887726be15fcc93da8f5d3b4f0dfeecf727fe /addons/base/controllers/main.py
parent883380866e8917594525a7a0877f56729df8f238 (diff)
parent216ab84e5f27927ff1bf664ac8bdf38bbed57897 (diff)
[MERGE] Merge with trunk
bzr revid: fme@openerp.com-20110727114430-kzyiq9avv2kur1zm
Diffstat (limited to 'addons/base/controllers/main.py')
-rw-r--r--addons/base/controllers/main.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py
index 2c2a1f26a44..d1917aa764b 100644
--- a/addons/base/controllers/main.py
+++ b/addons/base/controllers/main.py
@@ -775,6 +775,25 @@ class SearchView(View):
filter["context"] = req.session.eval_context(self.parse_context(filter["context"], req.session))
filter["domain"] = req.session.eval_domain(self.parse_domain(filter["domain"], req.session))
return filters
+
+ @openerpweb.jsonrequest
+ def save_filter(self, req, model, name, context_to_save, domain):
+ Model = req.session.model("ir.filters")
+ ctx = openerpweb.nonliterals.CompoundContext(context_to_save)
+ ctx.session = req.session
+ ctx = ctx.evaluate()
+ domain = openerpweb.nonliterals.CompoundDomain(domain)
+ domain.session = req.session
+ domain = domain.evaluate()
+ uid = req.session._uid
+ context = req.session.eval_context(req.context)
+ to_return = Model.create_or_replace({"context": ctx,
+ "domain": domain,
+ "model_id": model,
+ "name": name,
+ "user_id": uid
+ }, context)
+ return to_return
class Binary(openerpweb.Controller):
_cp_path = "/base/binary"