Corrected some stuff in openerp.web.Model

bzr revid: nicolas.vanhoren@openerp.com-20130805134059-3ayw6b0tqqberkaw
This commit is contained in:
niv-openerp
2013-08-05 15:40:59 +02:00
parent d256d16e3a
commit 76ef945c96
2 changed files with 35 additions and 9 deletions
+32 -2
View File
@@ -253,6 +253,36 @@ instance.web.QueryGroup = instance.web.Class.extend({
});
instance.web.Model.include({
/**
new openerp.web.Model([session,] model_name[, context[, domain]])
@constructs instance.web.Model
@extends instance.web.Class
@param {openerp.web.Session} [session] The session object used to communicate with
the server.
@param {String} model_name name of the OpenERP model this object is bound to
@param {Object} [context]
@param {Array} [domain]
*/
init: function() {
var session, model_name, context, domain;
var args = _.toArray(arguments);
args.reverse();
session = args.pop();
if (session && ! (session instanceof openerp.web.Session)) {
model_name = session;
session = null;
} else {
model_name = args.pop();
}
context = args.length > 0 ? args.pop() : null;
domain = args.length > 0 ? args.pop() : null;
this._super(session, model_name, context, domain);
this._context = context || {};
this._domain = domain || [];
},
session: function() {
if (! this._session)
return instance.session;
@@ -303,7 +333,7 @@ instance.web.Model.include({
* @param {String} signal signal to trigger on the workflow
*/
exec_workflow: function (id, signal) {
return instance.session.rpc('/web/dataset/exec_workflow', {
return this.session().rpc('/web/dataset/exec_workflow', {
model: this.name,
id: id,
signal: signal
@@ -340,7 +370,7 @@ instance.web.Model.include({
*/
call_button: function (method, args) {
instance.web.pyeval.ensure_evaluated(args, {});
return instance.session.rpc('/web/dataset/call_button', {
return this.session().rpc('/web/dataset/call_button', {
model: this.name,
method: method,
// Should not be necessary anymore. Integrate remote in this?
+3 -7
View File
@@ -1055,7 +1055,7 @@ openerp.web.Session = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
openerp.web.Model = openerp.web.Class.extend({
/**
new openerp.web.Model([session,] model_name[, context[, domain]])
new openerp.web.Model([session,] model_name)
@constructs instance.web.Model
@extends instance.web.Class
@@ -1067,22 +1067,18 @@ openerp.web.Model = openerp.web.Class.extend({
@param {Array} [domain]
*/
init: function () {
var session, model_name, context, domain;
var session, model_name;
var args = _.toArray(arguments);
args.reverse();
session = args.pop();
if (! (session instanceof openerp.web.Session)) {
if (session && ! (session instanceof openerp.web.Session)) {
model_name = session;
session = null;
} else {
model_name = args.pop();
}
context = args.length > 0 ? args.pop() : null;
domain = args.length > 0 ? args.pop() : null;
this.name = model_name;
this._context = context || {};
this._domain = domain || [];
this._session = session;
},
session: function() {