Put everything in the framework directly in the openerp namespace instead of the openerp.web namespace.
bzr revid: nicolas.vanhoren@openerp.com-20130806085812-ek8v8k0x4m7ocu4f
This commit is contained in:
parent
034e4893d5
commit
cb55e11c70
|
@ -7,6 +7,9 @@
|
|||
* @namespace openerp
|
||||
*/
|
||||
(function() {
|
||||
// copy everything in the openerp namespace to openerp.web
|
||||
openerp.web = _.clone(openerp);
|
||||
|
||||
var inited = false;
|
||||
|
||||
_.extend(openerp, {
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
function declare($, _, QWeb2) {
|
||||
var openerp = {};
|
||||
openerp.web = {};
|
||||
|
||||
/**
|
||||
* Improved John Resig's inheritance, based on:
|
||||
|
@ -21,7 +20,7 @@ openerp.web = {};
|
|||
*
|
||||
* Example:
|
||||
*
|
||||
* var Person = openerp.web.Class.extend({
|
||||
* var Person = openerp.Class.extend({
|
||||
* init: function(isDancing){
|
||||
* this.dancing = isDancing;
|
||||
* },
|
||||
|
@ -57,14 +56,14 @@ openerp.web = {};
|
|||
var initializing = false,
|
||||
fnTest = /xyz/.test(function(){xyz();}) ? /\b_super\b/ : /.*/;
|
||||
// The web Class implementation (does nothing)
|
||||
openerp.web.Class = function(){};
|
||||
openerp.Class = function(){};
|
||||
|
||||
/**
|
||||
* Subclass an existing class
|
||||
*
|
||||
* @param {Object} prop class-level properties (class attributes and instance methods) to set on the new class
|
||||
*/
|
||||
openerp.web.Class.extend = function() {
|
||||
openerp.Class.extend = function() {
|
||||
var _super = this.prototype;
|
||||
// Support mixins arguments
|
||||
var args = _.toArray(arguments);
|
||||
|
@ -104,7 +103,7 @@ openerp.web = {};
|
|||
|
||||
// The dummy class constructor
|
||||
function Class() {
|
||||
if(this.constructor !== openerp.web.Class){
|
||||
if(this.constructor !== openerp.Class){
|
||||
throw new Error("You can only instanciate objects with the 'new' operator");
|
||||
}
|
||||
// All construction is actually done in the init method
|
||||
|
@ -165,7 +164,7 @@ openerp.web = {};
|
|||
* When an object is destroyed, all its children are destroyed too releasing
|
||||
* any resource they could have reserved before.
|
||||
*/
|
||||
openerp.web.ParentedMixin = {
|
||||
openerp.ParentedMixin = {
|
||||
__parentedMixin : true,
|
||||
init: function() {
|
||||
this.__parentedDestroyed = false;
|
||||
|
@ -274,7 +273,7 @@ openerp.web.ParentedMixin = {
|
|||
* http://backbonejs.org
|
||||
*
|
||||
*/
|
||||
var Events = openerp.web.Class.extend({
|
||||
var Events = openerp.Class.extend({
|
||||
on : function(events, callback, context) {
|
||||
var ev;
|
||||
events = events.split(/\s+/);
|
||||
|
@ -355,10 +354,10 @@ var Events = openerp.web.Class.extend({
|
|||
}
|
||||
});
|
||||
|
||||
openerp.web.EventDispatcherMixin = _.extend({}, openerp.web.ParentedMixin, {
|
||||
openerp.EventDispatcherMixin = _.extend({}, openerp.ParentedMixin, {
|
||||
__eventDispatcherMixin: true,
|
||||
init: function() {
|
||||
openerp.web.ParentedMixin.init.call(this);
|
||||
openerp.ParentedMixin.init.call(this);
|
||||
this.__edispatcherEvents = new Events();
|
||||
this.__edispatcherRegisteredEvents = [];
|
||||
},
|
||||
|
@ -403,13 +402,13 @@ openerp.web.EventDispatcherMixin = _.extend({}, openerp.web.ParentedMixin, {
|
|||
this.off(cal[0], cal[2], cal[1]);
|
||||
}, this);
|
||||
this.__edispatcherEvents.off();
|
||||
openerp.web.ParentedMixin.destroy.call(this);
|
||||
openerp.ParentedMixin.destroy.call(this);
|
||||
}
|
||||
});
|
||||
|
||||
openerp.web.PropertiesMixin = _.extend({}, openerp.web.EventDispatcherMixin, {
|
||||
openerp.PropertiesMixin = _.extend({}, openerp.EventDispatcherMixin, {
|
||||
init: function() {
|
||||
openerp.web.EventDispatcherMixin.init.call(this);
|
||||
openerp.EventDispatcherMixin.init.call(this);
|
||||
this.__getterSetterInternalMap = {};
|
||||
},
|
||||
set: function(arg1, arg2, arg3) {
|
||||
|
@ -493,7 +492,7 @@ openerp.web.PropertiesMixin = _.extend({}, openerp.web.EventDispatcherMixin, {
|
|||
*
|
||||
* That will kill the widget in a clean way and erase its content from the dom.
|
||||
*/
|
||||
openerp.web.Widget = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
|
||||
openerp.Widget = openerp.Class.extend(openerp.PropertiesMixin, {
|
||||
// Backbone-ish API
|
||||
tagName: 'div',
|
||||
id: null,
|
||||
|
@ -510,14 +509,14 @@ openerp.web.Widget = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
|
|||
/**
|
||||
* Constructs the widget and sets its parent if a parent is given.
|
||||
*
|
||||
* @constructs openerp.web.Widget
|
||||
* @constructs openerp.Widget
|
||||
*
|
||||
* @param {openerp.web.Widget} parent Binds the current instance to the given Widget instance.
|
||||
* @param {openerp.Widget} parent Binds the current instance to the given Widget instance.
|
||||
* When that widget is destroyed by calling destroy(), the current instance will be
|
||||
* destroyed too. Can be null.
|
||||
*/
|
||||
init: function(parent) {
|
||||
openerp.web.PropertiesMixin.init.call(this);
|
||||
openerp.PropertiesMixin.init.call(this);
|
||||
this.setParent(parent);
|
||||
// Bind on_/do_* methods to this
|
||||
// We might remove this automatic binding in the future
|
||||
|
@ -541,7 +540,7 @@ openerp.web.Widget = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
|
|||
if(this.$el) {
|
||||
this.$el.remove();
|
||||
}
|
||||
openerp.web.PropertiesMixin.destroy.call(this);
|
||||
openerp.PropertiesMixin.destroy.call(this);
|
||||
},
|
||||
/**
|
||||
* Renders the current widget and appends it to the given jQuery object or Widget.
|
||||
|
@ -622,7 +621,7 @@ openerp.web.Widget = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
|
|||
renderElement: function() {
|
||||
var $el;
|
||||
if (this.template) {
|
||||
$el = $(openerp.web.qweb.render(this.template, {widget: this}).trim());
|
||||
$el = $(openerp.qweb.render(this.template, {widget: this}).trim());
|
||||
} else {
|
||||
$el = this._make_descriptive();
|
||||
}
|
||||
|
@ -782,7 +781,7 @@ var genericJsonRpc = function(fct_name, params, fct) {
|
|||
});
|
||||
};
|
||||
|
||||
openerp.web.jsonRpc = function(url, fct_name, params, settings) {
|
||||
openerp.jsonRpc = function(url, fct_name, params, settings) {
|
||||
return genericJsonRpc(fct_name, params, function(data) {
|
||||
return $.ajax(url, _.extend({}, settings, {
|
||||
url: url,
|
||||
|
@ -794,7 +793,7 @@ openerp.web.jsonRpc = function(url, fct_name, params, settings) {
|
|||
});
|
||||
};
|
||||
|
||||
openerp.web.jsonpRpc = function(url, fct_name, params, settings) {
|
||||
openerp.jsonpRpc = function(url, fct_name, params, settings) {
|
||||
settings = settings || {};
|
||||
return genericJsonRpc(fct_name, params, function(data) {
|
||||
var payload_str = JSON.stringify(data);
|
||||
|
@ -863,7 +862,7 @@ openerp.web.jsonpRpc = function(url, fct_name, params, settings) {
|
|||
});
|
||||
};
|
||||
|
||||
openerp.web.Session = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
|
||||
openerp.Session = openerp.Class.extend(openerp.PropertiesMixin, {
|
||||
triggers: {
|
||||
'request': 'Request sent',
|
||||
'response': 'Response received',
|
||||
|
@ -871,7 +870,7 @@ openerp.web.Session = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
|
|||
'error': 'The received response is an JSON-RPC error'
|
||||
},
|
||||
/**
|
||||
@constructs openerp.web.Session
|
||||
@constructs openerp.Session
|
||||
|
||||
@param parent The parent of the newly created object.
|
||||
@param {String} origin Url of the OpenERP server to contact with this session object
|
||||
|
@ -885,7 +884,7 @@ openerp.web.Session = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
|
|||
"override_session" is set to true.
|
||||
*/
|
||||
init: function(parent, origin, options) {
|
||||
openerp.web.PropertiesMixin.init.call(this, parent);
|
||||
openerp.PropertiesMixin.init.call(this, parent);
|
||||
options = options || {};
|
||||
this.server = null;
|
||||
this.session_id = options.session_id || null;
|
||||
|
@ -950,7 +949,7 @@ openerp.web.Session = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
|
|||
});
|
||||
} else {
|
||||
// normal use case, just use the cookie
|
||||
self.session_id = openerp.web.get_cookie("session_id");
|
||||
self.session_id = openerp.get_cookie("session_id");
|
||||
return $.when();
|
||||
}
|
||||
},
|
||||
|
@ -985,14 +984,14 @@ openerp.web.Session = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
|
|||
self.trigger('request');
|
||||
var fct;
|
||||
if (self.origin_server) {
|
||||
fct = openerp.web.jsonRpc;
|
||||
fct = openerp.jsonRpc;
|
||||
if (self.override_session) {
|
||||
options.headers = _.extend({}, options.headers, {
|
||||
"X-Openerp-Session-Id": self.override_session ? self.session_id || '' : ''
|
||||
});
|
||||
}
|
||||
} else {
|
||||
fct = openerp.web.jsonpRpc;
|
||||
fct = openerp.jsonpRpc;
|
||||
url = self.url(url, null);
|
||||
options.session_id = self.session_id || '';
|
||||
}
|
||||
|
@ -1042,18 +1041,18 @@ openerp.web.Session = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
|
|||
return prefix + path + qs;
|
||||
},
|
||||
model: function(model_name) {
|
||||
return new openerp.web.Model(this, model_name);
|
||||
return new openerp.Model(this, model_name);
|
||||
}
|
||||
});
|
||||
|
||||
openerp.web.Model = openerp.web.Class.extend({
|
||||
openerp.Model = openerp.Class.extend({
|
||||
/**
|
||||
new openerp.web.Model([session,] model_name)
|
||||
new openerp.Model([session,] model_name)
|
||||
|
||||
@constructs instance.web.Model
|
||||
@extends instance.web.Class
|
||||
@constructs instance.Model
|
||||
@extends instance.Class
|
||||
|
||||
@param {openerp.web.Session} [session] The session object used to communicate with
|
||||
@param {openerp.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]
|
||||
|
@ -1064,7 +1063,7 @@ openerp.web.Model = openerp.web.Class.extend({
|
|||
var args = _.toArray(arguments);
|
||||
args.reverse();
|
||||
session = args.pop();
|
||||
if (session && ! (session instanceof openerp.web.Session)) {
|
||||
if (session && ! (session instanceof openerp.Session)) {
|
||||
model_name = session;
|
||||
session = null;
|
||||
} else {
|
||||
|
@ -1106,10 +1105,10 @@ openerp.web.Model = openerp.web.Class.extend({
|
|||
});
|
||||
|
||||
/** OpenERP Translations */
|
||||
openerp.web.TranslationDataBase = openerp.web.Class.extend(/** @lends instance.web.TranslationDataBase# */{
|
||||
openerp.TranslationDataBase = openerp.Class.extend(/** @lends instance.TranslationDataBase# */{
|
||||
/**
|
||||
* @constructs instance.web.TranslationDataBase
|
||||
* @extends instance.web.Class
|
||||
* @constructs instance.TranslationDataBase
|
||||
* @extends instance.Class
|
||||
*/
|
||||
init: function() {
|
||||
this.db = {};
|
||||
|
@ -1156,7 +1155,7 @@ openerp.web.TranslationDataBase = openerp.web.Class.extend(/** @lends instance.w
|
|||
/**
|
||||
Loads the translations from an OpenERP server.
|
||||
|
||||
@param {openerp.web.Session} session The session object to contact the server.
|
||||
@param {openerp.Session} session The session object to contact the server.
|
||||
@param {Array} [modules] The list of modules to load the translation. If not specified,
|
||||
it will default to all the modules installed in the current database.
|
||||
@param {Object} [lang] lang The language. If not specified it will default to the language
|
||||
|
@ -1174,9 +1173,9 @@ openerp.web.TranslationDataBase = openerp.web.Class.extend(/** @lends instance.w
|
|||
}
|
||||
});
|
||||
|
||||
openerp.web._t = new openerp.web.TranslationDataBase().build_translation_function();
|
||||
openerp._t = new openerp.TranslationDataBase().build_translation_function();
|
||||
|
||||
openerp.web.get_cookie = function(c_name) {
|
||||
openerp.get_cookie = function(c_name) {
|
||||
if (document.cookie.length > 0) {
|
||||
var c_start = document.cookie.indexOf(c_name + "=");
|
||||
if (c_start != -1) {
|
||||
|
@ -1191,12 +1190,12 @@ openerp.web.get_cookie = function(c_name) {
|
|||
return "";
|
||||
};
|
||||
|
||||
openerp.web.qweb = new QWeb2.Engine();
|
||||
openerp.qweb = new QWeb2.Engine();
|
||||
|
||||
openerp.web.qweb.default_dict = {
|
||||
openerp.qweb.default_dict = {
|
||||
'_' : _,
|
||||
'JSON': JSON,
|
||||
'_t' : openerp.web._t
|
||||
'_t' : openerp._t
|
||||
};
|
||||
|
||||
openerp.declare = declare;
|
||||
|
|
|
@ -8,7 +8,7 @@ ropenerp.testing.section('class', {
|
|||
dependencies: ['web.corelib']
|
||||
}, function (test) {
|
||||
test('Basic class creation', function () {
|
||||
var C = openerp.web.Class.extend({
|
||||
var C = openerp.Class.extend({
|
||||
foo: function () {
|
||||
return this.somevar;
|
||||
}
|
||||
|
@ -20,12 +20,12 @@ ropenerp.testing.section('class', {
|
|||
strictEqual(i.foo(), 3);
|
||||
});
|
||||
test('Class initialization', function () {
|
||||
var C1 = openerp.web.Class.extend({
|
||||
var C1 = openerp.Class.extend({
|
||||
init: function () {
|
||||
this.foo = 3;
|
||||
}
|
||||
});
|
||||
var C2 = openerp.web.Class.extend({
|
||||
var C2 = openerp.Class.extend({
|
||||
init: function (arg) {
|
||||
this.foo = arg;
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ ropenerp.testing.section('class', {
|
|||
strictEqual(i2.foo, 42);
|
||||
});
|
||||
test('Inheritance', function () {
|
||||
var C0 = openerp.web.Class.extend({
|
||||
var C0 = openerp.Class.extend({
|
||||
foo: function () {
|
||||
return 1;
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ ropenerp.testing.section('class', {
|
|||
strictEqual(new C2().foo(), 3);
|
||||
});
|
||||
test('In-place extension', function () {
|
||||
var C0 = openerp.web.Class.extend({
|
||||
var C0 = openerp.Class.extend({
|
||||
foo: function () {
|
||||
return 3;
|
||||
},
|
||||
|
@ -85,7 +85,7 @@ ropenerp.testing.section('class', {
|
|||
strictEqual(new C0().qux(), 5);
|
||||
});
|
||||
test('In-place extension and inheritance', function () {
|
||||
var C0 = openerp.web.Class.extend({
|
||||
var C0 = openerp.Class.extend({
|
||||
foo: function () { return 1; },
|
||||
bar: function () { return 1; }
|
||||
});
|
||||
|
@ -103,7 +103,7 @@ ropenerp.testing.section('class', {
|
|||
strictEqual(new C1().bar(), 2);
|
||||
});
|
||||
test('In-place extensions alter existing instances', function () {
|
||||
var C0 = openerp.web.Class.extend({
|
||||
var C0 = openerp.Class.extend({
|
||||
foo: function () { return 1; },
|
||||
bar: function () { return 1; }
|
||||
});
|
||||
|
@ -119,7 +119,7 @@ ropenerp.testing.section('class', {
|
|||
strictEqual(i.bar(), 3);
|
||||
});
|
||||
test('In-place extension of subclassed types', function () {
|
||||
var C0 = openerp.web.Class.extend({
|
||||
var C0 = openerp.Class.extend({
|
||||
foo: function () { return 1; },
|
||||
bar: function () { return 1; }
|
||||
});
|
||||
|
@ -142,7 +142,7 @@ ropenerp.testing.section('class', {
|
|||
ropenerp.testing.section('Widget.proxy', {
|
||||
}, function (test) {
|
||||
test('(String)', function () {
|
||||
var W = openerp.web.Widget.extend({
|
||||
var W = openerp.Widget.extend({
|
||||
exec: function () {
|
||||
this.executed = true;
|
||||
}
|
||||
|
@ -153,7 +153,7 @@ ropenerp.testing.section('Widget.proxy', {
|
|||
ok(w.executed, 'should execute the named method in the right context');
|
||||
});
|
||||
test('(String)(*args)', function () {
|
||||
var W = openerp.web.Widget.extend({
|
||||
var W = openerp.Widget.extend({
|
||||
exec: function (arg) {
|
||||
this.executed = arg;
|
||||
}
|
||||
|
@ -167,7 +167,7 @@ ropenerp.testing.section('Widget.proxy', {
|
|||
test('(String), include', function () {
|
||||
// the proxy function should handle methods being changed on the class
|
||||
// and should always proxy "by name", to the most recent one
|
||||
var W = openerp.web.Widget.extend({
|
||||
var W = openerp.Widget.extend({
|
||||
exec: function () {
|
||||
this.executed = 1;
|
||||
}
|
||||
|
@ -183,14 +183,14 @@ ropenerp.testing.section('Widget.proxy', {
|
|||
});
|
||||
|
||||
test('(Function)', function () {
|
||||
var w = new (openerp.web.Widget.extend({ }))();
|
||||
var w = new (openerp.Widget.extend({ }))();
|
||||
|
||||
var fn = w.proxy(function () { this.executed = true; });
|
||||
fn();
|
||||
ok(w.executed, "should set the function's context (like Function#bind)");
|
||||
});
|
||||
test('(Function)(*args)', function () {
|
||||
var w = new (openerp.web.Widget.extend({ }))();
|
||||
var w = new (openerp.Widget.extend({ }))();
|
||||
|
||||
var fn = w.proxy(function (arg) { this.executed = arg; });
|
||||
fn(42);
|
||||
|
@ -199,8 +199,8 @@ ropenerp.testing.section('Widget.proxy', {
|
|||
});
|
||||
ropenerp.testing.section('Widget.renderElement', {
|
||||
setup: function () {
|
||||
openerp.web.qweb = new QWeb2.Engine();
|
||||
openerp.web.qweb.add_template(
|
||||
openerp.qweb = new QWeb2.Engine();
|
||||
openerp.qweb.add_template(
|
||||
'<no>' +
|
||||
'<t t-name="test.widget.template">' +
|
||||
'<ol>' +
|
||||
|
@ -218,7 +218,7 @@ ropenerp.testing.section('Widget.renderElement', {
|
|||
}
|
||||
}, function (test) {
|
||||
test('no template, default', function () {
|
||||
var w = new (openerp.web.Widget.extend({ }))();
|
||||
var w = new (openerp.Widget.extend({ }))();
|
||||
|
||||
var $original = w.$el;
|
||||
ok($original, "should initially have a root element");
|
||||
|
@ -233,7 +233,7 @@ ropenerp.testing.section('Widget.renderElement', {
|
|||
ok(_.isEmpty(w.$el.html(), "should not have generated any content"));
|
||||
});
|
||||
test('no template, custom tag', function () {
|
||||
var w = new (openerp.web.Widget.extend({
|
||||
var w = new (openerp.Widget.extend({
|
||||
tagName: 'ul'
|
||||
}))();
|
||||
w.renderElement();
|
||||
|
@ -241,7 +241,7 @@ ropenerp.testing.section('Widget.renderElement', {
|
|||
equal(w.el.nodeName, 'UL', "should have generated the custom element tag");
|
||||
});
|
||||
test('no template, @id', function () {
|
||||
var w = new (openerp.web.Widget.extend({
|
||||
var w = new (openerp.Widget.extend({
|
||||
id: 'foo'
|
||||
}))();
|
||||
w.renderElement();
|
||||
|
@ -251,7 +251,7 @@ ropenerp.testing.section('Widget.renderElement', {
|
|||
equal(w.el.id, 'foo', "should also be available via property");
|
||||
});
|
||||
test('no template, @className', function () {
|
||||
var w = new (openerp.web.Widget.extend({
|
||||
var w = new (openerp.Widget.extend({
|
||||
className: 'oe_some_class'
|
||||
}))();
|
||||
w.renderElement();
|
||||
|
@ -260,7 +260,7 @@ ropenerp.testing.section('Widget.renderElement', {
|
|||
equal(w.$el.attr('class'), 'oe_some_class', "should have the right attribute");
|
||||
});
|
||||
test('no template, bunch of attributes', function () {
|
||||
var w = new (openerp.web.Widget.extend({
|
||||
var w = new (openerp.Widget.extend({
|
||||
attributes: {
|
||||
'id': 'some_id',
|
||||
'class': 'some_class',
|
||||
|
@ -287,7 +287,7 @@ ropenerp.testing.section('Widget.renderElement', {
|
|||
});
|
||||
|
||||
test('template', function () {
|
||||
var w = new (openerp.web.Widget.extend({
|
||||
var w = new (openerp.Widget.extend({
|
||||
template: 'test.widget.template'
|
||||
}))();
|
||||
w.renderElement();
|
||||
|
@ -297,7 +297,7 @@ ropenerp.testing.section('Widget.renderElement', {
|
|||
equal(w.el.textContent, '01234');
|
||||
});
|
||||
test('repeated', { asserts: 4 }, function (_unused, $fix) {
|
||||
var w = new (openerp.web.Widget.extend({
|
||||
var w = new (openerp.Widget.extend({
|
||||
template: 'test.widget.template-value'
|
||||
}))();
|
||||
w.value = 42;
|
||||
|
@ -314,8 +314,8 @@ ropenerp.testing.section('Widget.renderElement', {
|
|||
});
|
||||
ropenerp.testing.section('Widget.$', {
|
||||
setup: function () {
|
||||
openerp.web.qweb = new QWeb2.Engine();
|
||||
openerp.web.qweb.add_template(
|
||||
openerp.qweb = new QWeb2.Engine();
|
||||
openerp.qweb.add_template(
|
||||
'<no>' +
|
||||
'<t t-name="test.widget.template">' +
|
||||
'<ol>' +
|
||||
|
@ -330,7 +330,7 @@ ropenerp.testing.section('Widget.$', {
|
|||
}
|
||||
}, function (test) {
|
||||
test('basic-alias', function () {
|
||||
var w = new (openerp.web.Widget.extend({
|
||||
var w = new (openerp.Widget.extend({
|
||||
template: 'test.widget.template'
|
||||
}))();
|
||||
w.renderElement();
|
||||
|
@ -341,8 +341,8 @@ ropenerp.testing.section('Widget.$', {
|
|||
});
|
||||
ropenerp.testing.section('Widget.events', {
|
||||
setup: function () {
|
||||
openerp.web.qweb = new QWeb2.Engine();
|
||||
openerp.web.qweb.add_template(
|
||||
openerp.qweb = new QWeb2.Engine();
|
||||
openerp.qweb.add_template(
|
||||
'<no>' +
|
||||
'<t t-name="test.widget.template">' +
|
||||
'<ol>' +
|
||||
|
@ -358,7 +358,7 @@ ropenerp.testing.section('Widget.events', {
|
|||
}, function (test) {
|
||||
test('delegate', function () {
|
||||
var a = [];
|
||||
var w = new (openerp.web.Widget.extend({
|
||||
var w = new (openerp.Widget.extend({
|
||||
template: 'test.widget.template',
|
||||
events: {
|
||||
'click': function () {
|
||||
|
@ -382,7 +382,7 @@ ropenerp.testing.section('Widget.events', {
|
|||
});
|
||||
test('undelegate', function () {
|
||||
var clicked = false, newclicked = false;
|
||||
var w = new (openerp.web.Widget.extend({
|
||||
var w = new (openerp.Widget.extend({
|
||||
template: 'test.widget.template',
|
||||
events: { 'click li': function () { clicked = true; } }
|
||||
}))();
|
||||
|
|
|
@ -7,13 +7,13 @@ var openerp = ropenerp.declare($, _, QWeb2);
|
|||
ropenerp.testing.section('jsonrpc', {},
|
||||
function (test) {
|
||||
test('basic-jsonrpc', {asserts: 1}, function () {
|
||||
var session = new openerp.web.Session();
|
||||
var session = new openerp.Session();
|
||||
return session.rpc("/gen_session_id", {}).then(function(result) {
|
||||
ok(result.length > 0, "Result returned by /gen_session_id");
|
||||
});
|
||||
});
|
||||
test('basic-jsonprpc', {asserts: 1}, function () {
|
||||
var session = new openerp.web.Session();
|
||||
var session = new openerp.Session();
|
||||
session.origin_server = false;
|
||||
return session.rpc("/gen_session_id", {}).then(function(result) {
|
||||
ok(result.length > 0, "Result returned by /gen_session_id");
|
||||
|
@ -21,14 +21,14 @@ function (test) {
|
|||
});
|
||||
// desactivated because the phantomjs runner crash
|
||||
/*test('basic-jsonprpc2', {asserts: 1}, function () {
|
||||
var session = new openerp.web.Session();
|
||||
var session = new openerp.Session();
|
||||
session.origin_server = false;
|
||||
return session.rpc("/gen_session_id", {}, {force2step: true}).then(function(result) {
|
||||
ok(result.length > 0, "Result returned by /gen_session_id");
|
||||
});
|
||||
});*/
|
||||
test('session-jsonrpc', {asserts: 2}, function () {
|
||||
var session = new openerp.web.Session();
|
||||
var session = new openerp.Session();
|
||||
var tmp = _.uniqueId("something");
|
||||
return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() {
|
||||
ok(true, "set_session returned");
|
||||
|
@ -38,7 +38,7 @@ function (test) {
|
|||
});
|
||||
});
|
||||
test('session-jsonprpc', {asserts: 2}, function () {
|
||||
var session = new openerp.web.Session();
|
||||
var session = new openerp.Session();
|
||||
session.origin_server = false;
|
||||
var tmp = _.uniqueId("something");
|
||||
return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() {
|
||||
|
@ -50,7 +50,7 @@ function (test) {
|
|||
});
|
||||
// desactivated because the phantomjs runner crash
|
||||
/*test('session-jsonprpc2', {asserts: 2}, function () {
|
||||
var session = new openerp.web.Session();
|
||||
var session = new openerp.Session();
|
||||
session.origin_server = false;
|
||||
var tmp = _.uniqueId("something");
|
||||
return session.rpc("/web/tests/set_session_value", {value: tmp}, {force2step: true}).then(function() {
|
||||
|
@ -61,9 +61,9 @@ function (test) {
|
|||
});
|
||||
});*/
|
||||
test('overridesession-jsonrpc', {asserts: 4}, function () {
|
||||
var origin_session = new openerp.web.Session();
|
||||
var origin_session = new openerp.Session();
|
||||
var origin_tmp = _.uniqueId("something");
|
||||
var session = new openerp.web.Session(null, null, {override_session: true});
|
||||
var session = new openerp.Session(null, null, {override_session: true});
|
||||
var tmp = _.uniqueId("something_else");
|
||||
return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() {
|
||||
ok(true, "set_session returned");
|
||||
|
@ -77,9 +77,9 @@ function (test) {
|
|||
});
|
||||
});
|
||||
test('overridesession-jsonprpc', {asserts: 4}, function () {
|
||||
var origin_session = new openerp.web.Session();
|
||||
var origin_session = new openerp.Session();
|
||||
var origin_tmp = _.uniqueId("something");
|
||||
var session = new openerp.web.Session(null, null, {override_session: true});
|
||||
var session = new openerp.Session(null, null, {override_session: true});
|
||||
var tmp = _.uniqueId("something_else");
|
||||
session.origin_server = false;
|
||||
return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() {
|
||||
|
@ -95,9 +95,9 @@ function (test) {
|
|||
});
|
||||
// desactivated because the phantomjs runner crash
|
||||
/*test('overridesession-jsonprpc2', {asserts: 4}, function () {
|
||||
var origin_session = new openerp.web.Session();
|
||||
var origin_session = new openerp.Session();
|
||||
var origin_tmp = _.uniqueId("something");
|
||||
var session = new openerp.web.Session(null, null, {override_session: true});
|
||||
var session = new openerp.Session(null, null, {override_session: true});
|
||||
var tmp = _.uniqueId("something_else");
|
||||
session.origin_server = false;
|
||||
return session.rpc("/web/tests/set_session_value", {value: tmp}, {force2step: true}).then(function() {
|
||||
|
@ -122,7 +122,7 @@ var db = null;
|
|||
|
||||
ropenerp.testing.section('jsonrpc-auth', {
|
||||
setup: function() {
|
||||
var session = new openerp.web.Session();
|
||||
var session = new openerp.Session();
|
||||
return session.session_reload().then(function() {
|
||||
db = session.db;
|
||||
ok(db, "db must be valid");
|
||||
|
@ -131,7 +131,7 @@ ropenerp.testing.section('jsonrpc-auth', {
|
|||
},
|
||||
function (test) {
|
||||
test('basic-auth', {asserts: 4}, function () {
|
||||
var session = new openerp.web.Session();
|
||||
var session = new openerp.Session();
|
||||
equal(session.uid, undefined, "uid is expected to be undefined");
|
||||
return session.session_authenticate(db, login, password).then(function() {
|
||||
equal(session.uid, 1, "Admin's uid must be 1");
|
||||
|
@ -146,11 +146,11 @@ function (test) {
|
|||
});
|
||||
});
|
||||
test('share-sessions', {asserts: 7}, function () {
|
||||
var session = new openerp.web.Session();
|
||||
var session = new openerp.Session();
|
||||
var session2;
|
||||
return session.session_authenticate(db, login, password).then(function() {
|
||||
equal(session.uid, 1, "Admin's uid must be 1");
|
||||
session2 = new openerp.web.Session(null, null, {session_id: session.session_id});
|
||||
session2 = new openerp.Session(null, null, {session_id: session.session_id});
|
||||
equal(session2.uid, undefined, "uid should be undefined");
|
||||
equal(session2.override_session, true, "overwrite_session should be true");
|
||||
return session2.session_reload();
|
||||
|
@ -168,7 +168,7 @@ function (test) {
|
|||
});
|
||||
});
|
||||
test('models', {asserts: 3}, function () {
|
||||
var session = new openerp.web.Session();
|
||||
var session = new openerp.Session();
|
||||
return session.session_authenticate(db, login, password).then(function() {
|
||||
return session.model("res.users").call("search_read", {fields: ["login"], domain: [["id", "=", 1]]});
|
||||
}).then(function(result) {
|
||||
|
|
Loading…
Reference in New Issue