From cb55e11c700efa298a74da781a108185682325da Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 6 Aug 2013 10:58:12 +0200 Subject: [PATCH] Put everything in the framework directly in the openerp namespace instead of the openerp.web namespace. bzr revid: nicolas.vanhoren@openerp.com-20130806085812-ek8v8k0x4m7ocu4f --- addons/web/static/src/js/boot.js | 3 + addons/web/static/src/js/openerpframework.js | 83 ++++++++++---------- addons/web/static/test/framework.js | 58 +++++++------- addons/web/static/test/jsonrpc.js | 34 ++++---- 4 files changed, 90 insertions(+), 88 deletions(-) diff --git a/addons/web/static/src/js/boot.js b/addons/web/static/src/js/boot.js index 87115fd30ea..f99d2025594 100644 --- a/addons/web/static/src/js/boot.js +++ b/addons/web/static/src/js/boot.js @@ -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, { diff --git a/addons/web/static/src/js/openerpframework.js b/addons/web/static/src/js/openerpframework.js index 86431f639ed..13fb1845536 100644 --- a/addons/web/static/src/js/openerpframework.js +++ b/addons/web/static/src/js/openerpframework.js @@ -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; diff --git a/addons/web/static/test/framework.js b/addons/web/static/test/framework.js index 8fb066bbce9..6363b87d06d 100644 --- a/addons/web/static/test/framework.js +++ b/addons/web/static/test/framework.js @@ -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( '' + '' + '
    ' + @@ -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( '' + '' + '
      ' + @@ -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( '' + '' + '
        ' + @@ -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; } } }))(); diff --git a/addons/web/static/test/jsonrpc.js b/addons/web/static/test/jsonrpc.js index 0e67eedf00b..a8b901d3b1c 100644 --- a/addons/web/static/test/jsonrpc.js +++ b/addons/web/static/test/jsonrpc.js @@ -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) {