[IMP] Improved code
- Remove methods(logout,records,fields_view_get) from base controller which are implemented for mobile. - Use base dataset in to mobile code. bzr revid: jra@tinyerp.com-20110614122626-sjodhex9ayp20ia1
This commit is contained in:
parent
f05e45fdd7
commit
779c588478
|
@ -99,11 +99,6 @@ class Session(openerpweb.Controller):
|
|||
"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", {})
|
||||
|
@ -620,33 +615,6 @@ class ListView(View):
|
|||
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 {
|
||||
'records': [
|
||||
{'data': dict((key, {'value': value})
|
||||
for key, value in row.iteritems())}
|
||||
for row in rows
|
||||
]
|
||||
}
|
||||
|
||||
def fields_view_get(self, request, model, view_id, view_type="tree",
|
||||
transform=True, toolbar=False, submenu=False):
|
||||
""" Sets @editable on the view's arch if it isn't already set and
|
||||
``set_editable`` is present in the request context
|
||||
"""
|
||||
view = super(ListView, self).fields_view_get(
|
||||
request, model, view_id, view_type, transform, toolbar, submenu)
|
||||
|
||||
view_attributes = view['arch']['attrs']
|
||||
if request.context.get('set_editable')\
|
||||
and 'editable' not in view_attributes:
|
||||
view_attributes['editable'] = 'bottom'
|
||||
return view
|
||||
|
||||
def process_colors(self, view, row, context):
|
||||
colors = view['arch']['attrs'].get('colors')
|
||||
|
||||
|
|
|
@ -91,16 +91,12 @@ openerp.web_mobile.ListView = openerp.base.Controller.extend({
|
|||
var self = this;
|
||||
var view_id = action.views[0][0];
|
||||
var model = action.res_model;
|
||||
var context = action.context;
|
||||
var domain = action.domain;
|
||||
|
||||
self.rpc('/base/listview/records', {
|
||||
'model': model,
|
||||
'view_id': view_id,
|
||||
'toolbar': false,
|
||||
self.rpc('/base/dataset/search_read', {
|
||||
model: model
|
||||
},function(result){
|
||||
this.listview = new openerp.web_mobile.ListView(this.session, "oe_app");
|
||||
self.$element.html(QWeb.render("ListView", {'list' : result}));
|
||||
self.$element.html(QWeb.render("ListView", {'records' : result}));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -183,16 +179,12 @@ openerp.web_mobile.Options = openerp.base.Controller.extend({
|
|||
start: function() {
|
||||
var self = this;
|
||||
this.$element.html(QWeb.render("Options", this));
|
||||
self.$element.find("a").click(self.on_clicked);
|
||||
self.$element.find("#logout").click(self.on_logout);
|
||||
},
|
||||
on_clicked: function(ev) {
|
||||
$opt = $(ev.currentTarget);
|
||||
current_id = $opt.attr('id');
|
||||
if (current_id == 'logout') {
|
||||
this.rpc('/base/session/logout', {});
|
||||
this.login = new openerp.web_mobile.Login(this.session, "oe_app");
|
||||
this.login.start();
|
||||
}
|
||||
on_logout: function(ev) {
|
||||
this.session.logout();
|
||||
this.login = new openerp.web_mobile.Login(this.session, "oe_app");
|
||||
this.login.start();
|
||||
}
|
||||
});
|
||||
openerp.web_mobile.Login = openerp.base.Controller.extend({
|
||||
|
@ -206,34 +198,31 @@ openerp.web_mobile.Login = openerp.base.Controller.extend({
|
|||
this.rpc("/base/session/get_databases_list", {}, function(result) {
|
||||
self.db_list = result.db_list;
|
||||
self.$element.html(QWeb.render("Login", self));
|
||||
self.$element.find('#database').click(self.on_select);
|
||||
self.$element.find("a").click(self.on_clicked);
|
||||
self.$element.find('#database').click(self.on_db_select);
|
||||
self.$element.find("#login").click(self.on_login);
|
||||
$.mobile.initializePage();
|
||||
})
|
||||
},
|
||||
on_select: function(ev) {
|
||||
on_db_select: function(ev) {
|
||||
var db = this.$element.find("#database option:selected").val();
|
||||
jQuery("#db_text").html(db);
|
||||
},
|
||||
on_clicked: function(ev) {
|
||||
$opt = $(ev.currentTarget);
|
||||
current_id = $opt.attr('id');
|
||||
if (current_id = "login") {
|
||||
ev.preventDefault();
|
||||
var self = this;
|
||||
var $e = this.$element;
|
||||
var db = $e.find("div select[name=database]").val();
|
||||
var login = $e.find("div input[name=login]").val();
|
||||
var password = $e.find("div input[name=password]").val();
|
||||
//$e.hide();
|
||||
// Should hide then call callback
|
||||
this.session.session_login(db, login, password, function() {
|
||||
if(self.session.session_is_valid()) {
|
||||
self.on_login_valid();
|
||||
} else {
|
||||
self.on_login_invalid();
|
||||
}
|
||||
});
|
||||
}
|
||||
on_login: function(ev) {
|
||||
ev.preventDefault();
|
||||
var self = this;
|
||||
var $e = this.$element;
|
||||
var db = $e.find("div select[name=database]").val();
|
||||
var login = $e.find("div input[name=login]").val();
|
||||
var password = $e.find("div input[name=password]").val();
|
||||
//$e.hide();
|
||||
// Should hide then call callback
|
||||
this.session.session_login(db, login, password, function() {
|
||||
if(self.session.session_is_valid()) {
|
||||
self.on_login_valid();
|
||||
} else {
|
||||
self.on_login_invalid();
|
||||
}
|
||||
});
|
||||
},
|
||||
on_login_invalid: function() {
|
||||
this.$element
|
||||
|
|
|
@ -37,9 +37,9 @@
|
|||
<span class="ui-icon ui-icon-arrow-d ui-icon-shadow"></span>
|
||||
</span>
|
||||
<select data-native-menu="false" id="database" name="database" tabindex="-1">
|
||||
<option t-foreach="db_list" t-as="opt" t-value="opt">
|
||||
<t t-esc="opt"/>
|
||||
</option>
|
||||
<t t-foreach="db_list" t-as="opt">
|
||||
<option t-att-value="opt"><t t-esc="opt"/></option>
|
||||
</t>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -68,11 +68,11 @@
|
|||
<t t-name="ListView">
|
||||
<div role="main" class="ui-content" data-role="content">
|
||||
<ul data-role="listview" class="ui-listview">
|
||||
<li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c" t-foreach="list.records" t-as="record">
|
||||
<li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c" t-foreach="records" t-as="record">
|
||||
<div class="ui-btn-inner ui-li">
|
||||
<div class="ui-btn-text">
|
||||
<a href="#" class="ui-link-inherit">
|
||||
<span><t t-esc="record.data.name.value"/></span>
|
||||
<span><t t-esc="record.name"/></span>
|
||||
</a>
|
||||
</div>
|
||||
<span class="ui-icon ui-icon-arrow-r"></span>
|
||||
|
|
Loading…
Reference in New Issue