[MERGE]Merge trunk upto revision 1531.
bzr revid: kch@tinyerp.com-20111123051503-6lxe3pt4une7xrjz
This commit is contained in:
commit
d24c964e42
|
@ -509,16 +509,24 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
|
|||
var self = this;
|
||||
this.session_id = this.get_cookie('session_id');
|
||||
return this.rpc("/web/session/get_session_info", {}).then(function(result) {
|
||||
// If immediately follows a login (triggered by trying to restore
|
||||
// an invalid session or no session at all), refresh session data
|
||||
// (should not change, but just in case...) but should not call
|
||||
// on_session_valid again as it triggers reloading the menu
|
||||
var already_logged = self.uid;
|
||||
_.extend(self, {
|
||||
uid: result.uid,
|
||||
user_context: result.context,
|
||||
db: result.db,
|
||||
username: result.login
|
||||
});
|
||||
if (self.uid)
|
||||
self.on_session_valid();
|
||||
else
|
||||
self.on_session_invalid();
|
||||
if (!already_logged) {
|
||||
if (self.uid) {
|
||||
self.on_session_valid();
|
||||
} else {
|
||||
self.on_session_invalid();
|
||||
}
|
||||
}
|
||||
}, function() {
|
||||
self.on_session_invalid();
|
||||
});
|
||||
|
|
|
@ -273,6 +273,10 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
if (field in argument_replacement) {
|
||||
return argument_replacement[field](i);
|
||||
}
|
||||
// literal number
|
||||
if (/^-?\d+(\.\d+)?$/.test(field)) {
|
||||
return Number(field);
|
||||
}
|
||||
// form field
|
||||
if (self.fields[field]) {
|
||||
var value = self.fields[field].get_on_change_value();
|
||||
|
@ -951,8 +955,9 @@ openerp.web.form.WidgetFrame = openerp.web.form.Widget.extend({
|
|||
var type = {};
|
||||
if (node.tag == 'field') {
|
||||
type = this.view.fields_view.fields[node.attrs.name] || {};
|
||||
if (node.attrs.widget == 'statusbar') {
|
||||
if (node.attrs.widget == 'statusbar' && node.attrs.nolabel !== '1') {
|
||||
// This way we can retain backward compatibility between addons and old clients
|
||||
node.attrs.colspan = (parseInt(node.attrs.colspan, 10) || 1) + 1;
|
||||
node.attrs.nolabel = '1';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,4 +62,13 @@ $(document).ready(function () {
|
|||
var result2 = f.parse_on_change("on_str('foo')", {});
|
||||
deepEqual(result2.args, ['foo']);
|
||||
});
|
||||
test('Literal number', function () {
|
||||
var f = make_form();
|
||||
var result = f.parse_on_change('on_str(42)', {});
|
||||
deepEqual(result.args, [42]);
|
||||
var result2 = f.parse_on_change("on_str(-25)", {});
|
||||
deepEqual(result2.args, [-25]);
|
||||
var result3 = f.parse_on_change("on_str(25.02)", {});
|
||||
deepEqual(result3.args, [25.02]);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue