From d0ecebc3a0c6b4b8f0ff95e1ff8339136072fda3 Mon Sep 17 00:00:00 2001 From: "Jiten Rangwala (OpenERP)" Date: Fri, 10 Jun 2011 18:20:06 +0530 Subject: [PATCH] [IMP] Improve web mobile - Change dependancy qweb to qweb2 - Remove unnecessary dependancy from mobile web - Modify base js for mobile - Add methods in base for shortcut list and logout bzr revid: jra@tinyerp.com-20110610125006-7dg7f22uu5iazmhh --- addons/base/controllers/main.py | 16 +++++++++++-- addons/base/static/src/js/base.js | 24 ++++++++++++++----- addons/web_mobile/__openerp__.py | 2 +- addons/web_mobile/controllers/main.py | 17 ------------- addons/web_mobile/static/src/js/web_mobile.js | 6 ++--- addons/web_mobile/static/src/web_mobile.html | 13 ++++------ 6 files changed, 40 insertions(+), 38 deletions(-) diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index 43e94635499..8af535080b3 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -98,7 +98,16 @@ class Session(openerpweb.Controller): "session_id": req.session_id, "uid": req.session._uid, } - + + @openerpweb.jsonrequest + def logout(self,req): + req.session_id = False + req.session._uid = False + + @openerpweb.jsonrequest + def sc_list(self, req): + return req.session.model('ir.ui.view_sc').get_sc(req.session._uid, "ir.ui.menu", {}) + @openerpweb.jsonrequest def get_databases_list(self, req): proxy = req.session.proxy("db") @@ -609,11 +618,14 @@ class ListView(View): @openerpweb.jsonrequest def load(self, req, model, view_id, toolbar=False): fields_view = self.fields_view_get(req, model, view_id, 'tree', toolbar=toolbar) + return {'fields_view': fields_view} + + @openerpweb.jsonrequest + def records(self, req, model, view_id, toolbar=False): rows = DataSet().do_search_read(req, model, offset=0, limit=False, domain=None) return { - 'fields_view': fields_view, 'records': [ {'data': dict((key, {'value': value}) for key, value in row.iteritems())} diff --git a/addons/base/static/src/js/base.js b/addons/base/static/src/js/base.js index 6316715df89..6cddb4a0b31 100644 --- a/addons/base/static/src/js/base.js +++ b/addons/base/static/src/js/base.js @@ -126,12 +126,24 @@ openerp.base = function(instance) { openerp.base.dates(instance); openerp.base.chrome(instance); openerp.base.data(instance); - openerp.base.views(instance); - openerp.base.search(instance); - openerp.base.list(instance); - openerp.base.tree(instance); - openerp.base.m2o(instance); - openerp.base.form(instance); + if (openerp.base.views) { + openerp.base.views(instance); + } + if (openerp.base.search) { + openerp.base.search(instance); + } + if (openerp.base.list) { + openerp.base.list(instance); + } + if (openerp.base.tree) { + openerp.base.tree(instance); + } + if (openerp.base. m2o) { + openerp.base.m2o(instance); + } + if (openerp.base.form) { + openerp.base.form(instance); + } }; // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: diff --git a/addons/web_mobile/__openerp__.py b/addons/web_mobile/__openerp__.py index da2b345d217..8561c9b00ed 100644 --- a/addons/web_mobile/__openerp__.py +++ b/addons/web_mobile/__openerp__.py @@ -1,5 +1,5 @@ { - "name" : "OpenERP Web base", + "name" : "OpenERP Web mobile", "version" : "2.0", "depends" : [], 'active': True, diff --git a/addons/web_mobile/controllers/main.py b/addons/web_mobile/controllers/main.py index cf48fdcae26..d2ba132d1c2 100644 --- a/addons/web_mobile/controllers/main.py +++ b/addons/web_mobile/controllers/main.py @@ -10,20 +10,3 @@ import openerpweb.nonliterals import cherrypy - -#---------------------------------------------------------- -# OpenERP Web mobile Controllers -#---------------------------------------------------------- - -class MOBILE(openerpweb.Controller): - _cp_path = "/web_mobile/mobile" - - @openerpweb.jsonrequest - def sc_list(self, req): - return req.session.model('ir.ui.view_sc').get_sc(req.session._uid, "ir.ui.menu", {}) - - @openerpweb.jsonrequest - def logout(self,req): - req.session_id = False - req.session._uid = False - diff --git a/addons/web_mobile/static/src/js/web_mobile.js b/addons/web_mobile/static/src/js/web_mobile.js index 0bbbffb4f6a..16d43de75e9 100644 --- a/addons/web_mobile/static/src/js/web_mobile.js +++ b/addons/web_mobile/static/src/js/web_mobile.js @@ -56,7 +56,7 @@ openerp.web_mobile.Shortcuts = openerp.base.Controller.extend({ }, start: function() { var self = this; - this.rpc('/web_mobile/mobile/sc_list',{} ,function(res){ + this.rpc('/base/session/sc_list',{} ,function(res){ self.$element.html(QWeb.render("Shortcuts", {'sc' : res})) self.$element.find("a").click(self.on_clicked); }) @@ -94,7 +94,7 @@ openerp.web_mobile.ListView = openerp.base.Controller.extend({ var context = action.context; var domain = action.domain; - self.rpc('/base/listview/load', { + self.rpc('/base/listview/records', { 'model': model, 'view_id': view_id, 'toolbar': false, @@ -189,7 +189,7 @@ openerp.web_mobile.Options = openerp.base.Controller.extend({ $opt = $(ev.currentTarget); current_id = $opt.attr('id'); if (current_id == 'logout') { - this.rpc('/web_mobile/mobile/logout', {}); + this.rpc('/base/session/logout', {}); this.login = new openerp.web_mobile.Login(this.session, "oe_app"); this.login.start(); } diff --git a/addons/web_mobile/static/src/web_mobile.html b/addons/web_mobile/static/src/web_mobile.html index c061e0b3e3f..ee924fd0c33 100755 --- a/addons/web_mobile/static/src/web_mobile.html +++ b/addons/web_mobile/static/src/web_mobile.html @@ -11,24 +11,19 @@ - - + + + - - - - - - -