From 5c5b46a53618129c0da637371943453380ec190f Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 26 Nov 2012 11:51:31 +0100 Subject: [PATCH 1/7] [FIX] replace edc calls bzr revid: xmo@openerp.com-20121126105131-5g4e9tl0w01v398u --- addons/mail/static/src/js/mail.js | 2 +- addons/share/static/src/js/share.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index dc265a343d5..26c98eef6df 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -1657,7 +1657,7 @@ openerp.mail = function (session) { */ do_searchview_search: function (domains, contexts, groupbys) { var self = this; - this.rpc('/web/session/eval_domain_and_context', { + instance.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..de04c72533d 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_domain_and_context({ domains: [domain], contexts: [view.dataset.context] }).done(function (result) { From 1f65f9a6fcd27d01b9dd1b92e8cb11ae5e2be6ce Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 26 Nov 2012 15:03:56 +0100 Subject: [PATCH 2/7] [FIX] mail uses session, not instance bzr revid: xmo@openerp.com-20121126140356-lvlky0ctjt9yeh4p --- addons/mail/static/src/js/mail.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index 26c98eef6df..1ea58daa173 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -1657,7 +1657,7 @@ openerp.mail = function (session) { */ do_searchview_search: function (domains, contexts, groupbys) { var self = this; - instance.web.pyeval.eval_domains_and_contexts({ + session.web.pyeval.eval_domains_and_contexts({ domains: domains || [], contexts: contexts || [], group_by_seq: groupbys || [] From ec3a72072826d54e2e0080e3288a4e83afc7cee5 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 26 Nov 2012 15:04:23 +0100 Subject: [PATCH 3/7] [REM] python-side evaluations of contexts and domains in dashboard controller bzr revid: xmo@openerp.com-20121126140423-waptfrxe4gbidpnv --- addons/board/controllers.py | 17 ++++------------- addons/board/static/src/js/dashboard.js | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 15 deletions(-) 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) { From 6a3b91e6d5727acf34c65cbdaa075d9f93f10202 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 27 Nov 2012 17:19:13 +0100 Subject: [PATCH 4/7] [FIX] web_shortcuts: remove server-side eval, move all logic to js bzr revid: xmo@openerp.com-20121127161913-46ita3emgjan7diu --- addons/web_shortcuts/__init__.py | 1 - addons/web_shortcuts/controllers/__init__.py | 3 --- addons/web_shortcuts/controllers/main.py | 11 ----------- addons/web_shortcuts/static/src/js/web_shortcuts.js | 12 ++++++++---- 4 files changed, 8 insertions(+), 19 deletions(-) delete mode 100644 addons/web_shortcuts/controllers/__init__.py delete mode 100644 addons/web_shortcuts/controllers/main.py 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, From 06122bce126ccbb6d5decfab6b536dffcdf92c38 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 27 Nov 2012 17:45:43 +0100 Subject: [PATCH 5/7] [FIX] base_import: eval_context ref bzr revid: xmo@openerp.com-20121127164543-xizox8d20e93lx21 --- addons/base_import/controllers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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})) From e705fccdfc0ce3239a73d99118756eb67b3041d3 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 27 Nov 2012 17:48:01 +0100 Subject: [PATCH 6/7] [FIX] edi: remove eval_context ref, fix clean_action call bzr revid: xmo@openerp.com-20121127164801-dbzgsz67u94yux4g --- addons/edi/controllers/main.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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: From ae16e0e4e5d6c6af38a274d3c7fce87ccac34d33 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 28 Nov 2012 17:19:34 +0100 Subject: [PATCH 7/7] [FIX] share: typo in function name bzr revid: xmo@openerp.com-20121128161934-42ek0r460w0smsi9 --- addons/share/static/src/js/share.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/share/static/src/js/share.js b/addons/share/static/src/js/share.js index de04c72533d..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 = ''; - session.web.pyeval.eval_domain_and_context({ + session.web.pyeval.eval_domains_and_contexts({ domains: [domain], contexts: [view.dataset.context] }).done(function (result) {