diff --git a/addons/base_import/controllers.py b/addons/base_import/controllers.py index c831ffd229d..b926c6b2782 100644 --- a/addons/base_import/controllers.py +++ b/addons/base_import/controllers.py @@ -14,7 +14,7 @@ class ImportController(openerp.addons.web.http.Controller): 'file': file.read(), 'file_name': file.filename, 'file_type': file.content_type, - }, req.session.eval_context(req.context)) + }, req.context) return 'window.top.%s(%s)' % ( jsonp, simplejson.dumps({'result': written})) diff --git a/addons/board/controllers.py b/addons/board/controllers.py index 81557f64fa3..3bdebe1ef26 100644 --- a/addons/board/controllers.py +++ b/addons/board/controllers.py @@ -2,7 +2,6 @@ from xml.etree import ElementTree import openerp -from openerp.addons.web import nonliterals from openerp.addons.web.controllers.main import load_actions_from_ir_values class Board(openerp.addons.web.http.Controller): @@ -11,16 +10,8 @@ class Board(openerp.addons.web.http.Controller): @openerp.addons.web.http.jsonrequest def add_to_dashboard(self, req, menu_id, action_id, context_to_save, domain, view_mode, name=''): # FIXME move this method to board.board model - to_eval = nonliterals.CompoundContext(context_to_save) - to_eval.session = req.session - ctx = dict((k, v) for k, v in to_eval.evaluate().iteritems() - if not k.startswith('search_default_')) - ctx['dashboard_merge_domains_contexts'] = False # TODO: replace this 6.1 workaround by attribute on - domain = nonliterals.CompoundDomain(domain) - domain.session = req.session - domain = domain.evaluate() - - dashboard_action = load_actions_from_ir_values(req, 'action', 'tree_but_open', [('ir.ui.menu', menu_id)], False) + dashboard_action = load_actions_from_ir_values( + req, 'action', 'tree_but_open', [('ir.ui.menu', menu_id)], False) if dashboard_action: action = dashboard_action[0][2] @@ -36,7 +27,7 @@ class Board(openerp.addons.web.http.Controller): 'name': str(action_id), 'string': name, 'view_mode': view_mode, - 'context': str(ctx), + 'context': str(context_to_save), 'domain': str(domain) }) column.insert(0, new_action) @@ -45,6 +36,6 @@ class Board(openerp.addons.web.http.Controller): 'user_id': req.session._uid, 'ref_id': view_id, 'arch': arch - }, req.session.eval_context(req.context)) + }, req.context) return False diff --git a/addons/board/static/src/js/dashboard.js b/addons/board/static/src/js/dashboard.js index eb835c43e22..13a51cc663e 100644 --- a/addons/board/static/src/js/dashboard.js +++ b/addons/board/static/src/js/dashboard.js @@ -375,11 +375,22 @@ instance.board.AddToDashboard = instance.web.search.Input.extend({ var domain = new instance.web.CompoundDomain(getParent.dataset.get_domain() || []); _.each(data.contexts, context.add, context); _.each(data.domains, domain.add, domain); + + var c = instance.web.pyeval.eval('context', context); + for(var k in c) { + if (c.hasOwnProperty(k) && /^search_default_/.test(k)) { + delete c[k]; + } + } + // TODO: replace this 6.1 workaround by attribute on + c.dashboard_merge_domains_contexts = false; + var d = instance.web.pyeval.eval('domain', domain); + this.rpc('/board/add_to_dashboard', { menu_id: this.$el.find("select").val(), action_id: view_parent.action.id, - context_to_save: context, - domain: domain, + context_to_save: c, + domain: d, view_mode: view_parent.active_view, name: this.$el.find("input").val() }).done(function(r) { diff --git a/addons/edi/controllers/main.py b/addons/edi/controllers/main.py index 10bf214d921..14cd97b3e62 100644 --- a/addons/edi/controllers/main.py +++ b/addons/edi/controllers/main.py @@ -23,10 +23,9 @@ class EDI(openerpweb.Controller): @openerpweb.jsonrequest def import_edi_url(self, req, url): - context = req.session.eval_context(req.context) result = req.session.proxy('edi').import_edi_url(req.session._db, req.session._uid, req.session._password, url) if len(result) == 1: - return {"action": webmain.clean_action(req, result[0][2], context)} + return {"action": webmain.clean_action(req, result[0][2])} return True # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index 44bb4e9ae09..6b056500c7a 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -1632,7 +1632,7 @@ openerp.mail = function (session) { */ do_searchview_search: function (domains, contexts, groupbys) { var self = this; - this.rpc('/web/session/eval_domain_and_context', { + session.web.pyeval.eval_domains_and_contexts({ domains: domains || [], contexts: contexts || [], group_by_seq: groupbys || [] diff --git a/addons/share/static/src/js/share.js b/addons/share/static/src/js/share.js index e627b555de3..7008b2555f9 100644 --- a/addons/share/static/src/js/share.js +++ b/addons/share/static/src/js/share.js @@ -12,7 +12,7 @@ openerp.share = function(session) { } if (view.fields_view.type == 'form') rec_name = view.datarecord.name; else rec_name = ''; - self.rpc('/web/session/eval_domain_and_context', { + session.web.pyeval.eval_domains_and_contexts({ domains: [domain], contexts: [view.dataset.context] }).done(function (result) { diff --git a/addons/web_shortcuts/__init__.py b/addons/web_shortcuts/__init__.py index 6c74add0cca..99b6a1491e8 100644 --- a/addons/web_shortcuts/__init__.py +++ b/addons/web_shortcuts/__init__.py @@ -17,6 +17,5 @@ # along with this program. If not, see . # ############################################################################## -import controllers # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/web_shortcuts/controllers/__init__.py b/addons/web_shortcuts/controllers/__init__.py deleted file mode 100644 index 9f828025b8e..00000000000 --- a/addons/web_shortcuts/controllers/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -import main - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/web_shortcuts/controllers/main.py b/addons/web_shortcuts/controllers/main.py deleted file mode 100644 index 2cdf232ac0f..00000000000 --- a/addons/web_shortcuts/controllers/main.py +++ /dev/null @@ -1,11 +0,0 @@ -import openerp - -class Shortcuts(openerp.addons.web.http.Controller): - _cp_path = "/web/shortcuts" - - @openerp.addons.web.http.jsonrequest - def list(self, req): - return req.session.model('ir.ui.view_sc').get_sc( - req.session._uid, "ir.ui.menu", req.session.eval_context(req.context)) - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/web_shortcuts/static/src/js/web_shortcuts.js b/addons/web_shortcuts/static/src/js/web_shortcuts.js index 918feb4634d..a2607e3749e 100644 --- a/addons/web_shortcuts/static/src/js/web_shortcuts.js +++ b/addons/web_shortcuts/static/src/js/web_shortcuts.js @@ -33,7 +33,7 @@ instance.web_shortcuts.Shortcuts = instance.web.Widget.extend({ this.on('display', this, this.display); this.on('remove', this, this.remove); this.on('click', this, this.click); - this.dataset = new instance.web.DataSet(this, 'ir.ui.view_sc'); + this.model = new instance.web.Model('ir.ui.view_sc'); }, start: function() { var self = this; @@ -46,7 +46,11 @@ instance.web_shortcuts.Shortcuts = instance.web.Widget.extend({ load: function() { var self = this; this.$el.find('.oe_systray_shortcuts_items').empty(); - return this.rpc('/web/shortcuts/list', {}).done(function(shortcuts) { + return this.model.call('get_sc', [ + instance.session.uid, + 'ir.ui.menu', + instance.web.pyeval.eval('context', {}) + ]).done(function(shortcuts) { _.each(shortcuts, function(sc) { self.trigger('display', sc); }); @@ -54,7 +58,7 @@ instance.web_shortcuts.Shortcuts = instance.web.Widget.extend({ }, add: function (sc) { var self = this; - this.dataset.create(sc).then(function(out){ + this.model.call('create', [sc]).then(function(out){ self.trigger('load'); }); }, @@ -69,7 +73,7 @@ instance.web_shortcuts.Shortcuts = instance.web.Widget.extend({ var $shortcut = this.$el.find('.oe_systray_shortcuts_items li a[data-id=' + menu_id + ']'); var shortcut_id = $shortcut.data('shortcut-id'); $shortcut.remove(); - this.dataset.unlink([shortcut_id]); + this.model.call('unlink', [shortcut_id]); }, click: function($link) { var self = this,