[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
This commit is contained in:
Jiten Rangwala (OpenERP) 2011-06-10 18:20:06 +05:30
parent b3984b4733
commit d0ecebc3a0
6 changed files with 40 additions and 38 deletions

View File

@ -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())}

View File

@ -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:

View File

@ -1,5 +1,5 @@
{
"name" : "OpenERP Web base",
"name" : "OpenERP Web mobile",
"version" : "2.0",
"depends" : [],
'active': True,

View File

@ -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

View File

@ -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();
}

View File

@ -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");