diff options
| author | Jiten Rangwala (OpenERP) <jra@tinyerp.com> | 2011-06-10 18:20:06 +0530 |
|---|---|---|
| committer | Jiten Rangwala (OpenERP) <jra@tinyerp.com> | 2011-06-10 18:20:06 +0530 |
| commit | d0ecebc3a0c6b4b8f0ff95e1ff8339136072fda3 (patch) | |
| tree | 6993422cd8fa65475ba5eb201a95e9e25f0b2f2c | |
| parent | b3984b4733c245c55cd40cab0dc27eae94cc9222 (diff) | |
[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
| -rw-r--r-- | addons/base/controllers/main.py | 16 | ||||
| -rw-r--r-- | addons/base/static/src/js/base.js | 24 | ||||
| -rw-r--r-- | addons/web_mobile/__openerp__.py | 2 | ||||
| -rw-r--r-- | addons/web_mobile/controllers/main.py | 17 | ||||
| -rw-r--r-- | addons/web_mobile/static/src/js/web_mobile.js | 6 | ||||
| -rwxr-xr-x | 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 @@ <script type="text/javascript" src="/base/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
<script type="text/javascript" src="/base/static/lib/underscore/underscore.js"></script>
<script type="text/javascript" src="/base/static/lib/underscore/underscore.string.js"></script>
- <script type="text/javascript" src="/base/static/lib/qweb/qweb.js"></script>
-
+
+ <script type="text/javascript" src="/base/static/lib/qweb/qweb2.js"></script>
+
<script type="text/javascript" src="/base/static/src/js/base.js"></script>
<script type="text/javascript" src="/base/static/src/js/chrome.js"></script>
<script type="text/javascript" src="/base/static/src/js/data.js"></script>
<script type="text/javascript" src="/base/static/src/js/dates.js"></script>
- <script type="text/javascript" src="/base/static/src/js/views.js"></script>
- <script type="text/javascript" src="/base/static/src/js/search.js"></script>
- <script type="text/javascript" src="/base/static/src/js/list.js"></script>
- <script type="text/javascript" src="/base/static/src/js/tree.js"></script>
- <script type="text/javascript" src="/base/static/src/js/m2o.js"></script>
- <script type="text/javascript" src="/base/static/src/js/form.js"></script>
<script type="text/javascript" src="/web_mobile/static/src/js/web_mobile.js"></script>
-
<script type="text/javascript">
$(function() {
+ QWeb = window.QWeb || new QWeb2.Engine();
var oe = openerp.init();
openerp.web_mobile(oe);
oe.web_mobile.mobilewebclient("moe");
|
