diff options
Diffstat (limited to 'addons/base/controllers')
| -rw-r--r-- | addons/base/controllers/main.py | 19 |
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" |
