// ------------------------------------------------------------------------------ // Compatibility with Odoo v8. // // With the new module system, no global variable can (and should) be accessed // in openerp. This file exports everything, to mimic the previous global // namespace structure. This is only supposed to be used by 3rd parties to // facilitate migration. Odoo addons should not use the 'openerp' variable at // all. // ------------------------------------------------------------------------------ odoo.define('web.compatibility', function (require) { "use strict"; var ActionManager = require('web.ActionManager'); var core = require('web.core'); var data = require('web.data'); var Dialog = require('web.Dialog'); var FavoriteMenu = require('web.FavoriteMenu'); var form_common = require('web.form_common'); var formats = require('web.formats'); var FormView = require('web.FormView'); var form_relational = require('web.form_relational'); // necessary var form_widgets = require('web.form_widgets'); // necessary var framework = require('web.framework'); var ListView = require('web.ListView'); var Menu = require('web.Menu'); var Model = require('web.Model'); var pyeval = require('web.pyeval'); var Registry = require('web.Registry'); var SearchView = require('web.SearchView'); var session = require('web.session'); var Sidebar = require('web.Sidebar'); var SystrayMenu = require('web.SystrayMenu'); var time = require('web.time'); var UserMenu = require('web.UserMenu'); var utils = require('web.utils'); var View = require('web.View'); var ViewManager = require('web.ViewManager'); var WebClient = require('web.WebClient'); var Widget = require('web.Widget'); var client_started = $.Deferred(); var OldRegistry = Registry.extend({ add: function (key, path) { }, get_object: function (key) { return get_object(this.map[key]); }, }); window.openerp = window.openerp || {}; $.Mutex = utils.Mutex; openerp._session_id = "instance0"; openerp._t = core._t; openerp.get_cookie = utils.get_cookie; openerp.qweb = core.qweb; openerp.session = session; openerp.web = openerp.web || {}; openerp.web._t = core._t; openerp.web._lt = core._lt; openerp.web.ActionManager = ActionManager; openerp.web.auto_str_to_date = time.auto_str_to_date; openerp.web.blockUI = framework.blockUI; openerp.web.BufferedDataSet = data.BufferedDataSet; openerp.web.bus = core.bus; openerp.web.Class = core.Class; openerp.web.client_actions = make_old_registry(core.action_registry); openerp.web.CompoundContext = data.CompoundContext; openerp.web.CompoundDomain = data.CompoundDomain; openerp.web.DataSetSearch = data.DataSetSearch; openerp.web.DataSet = data.DataSet; openerp.web.date_to_str = time.date_to_str; openerp.web.Dialog = Dialog; openerp.web.DropMisordered = utils.DropMisordered; openerp.web.form = openerp.web.form || {}; openerp.web.form.AbstractField = form_common.AbstractField; openerp.web.form.compute_domain = data.compute_domain; openerp.web.form.DefaultFieldManager = form_common.DefaultFieldManager; openerp.web.form.FieldChar = core.form_widget_registry.get('char'); openerp.web.form.FieldFloat = core.form_widget_registry.get('float'); openerp.web.form.FieldStatus = core.form_widget_registry.get('statusbar'); openerp.web.form.FieldMany2ManyTags = core.form_widget_registry.get('many2many_tags'); openerp.web.form.FieldMany2One = core.form_widget_registry.get('many2one'); openerp.web.form.FormWidget = form_common.FormWidget; openerp.web.form.tags = make_old_registry(core.form_tag_registry); openerp.web.form.widgets = make_old_registry(core.form_widget_registry); openerp.web.format_value = formats.format_value; openerp.web.FormView = FormView; openerp.web.json_node_to_xml = utils.json_node_to_xml; openerp.web.ListView = ListView; openerp.web.Menu = Menu; openerp.web.Model = Model; openerp.web.normalize_format = time.strftime_to_moment_format; openerp.web.py_eval = pyeval.py_eval; openerp.web.pyeval = pyeval; openerp.web.qweb = core.qweb; openerp.web.Registry = OldRegistry; openerp.web.search = {}; openerp.web.search.FavoriteMenu = FavoriteMenu; openerp.web.SearchView = SearchView; openerp.web.Sidebar = Sidebar; openerp.web.str_to_date = time.str_to_date; openerp.web.str_to_datetime = time.str_to_datetime; openerp.web.SystrayItems = SystrayMenu.Items; openerp.web.unblockUI = framework.unblockUI; openerp.web.UserMenu = UserMenu; openerp.web.View = View; openerp.web.ViewManager = ViewManager; openerp.web.views = make_old_registry(core.view_registry); openerp.web.WebClient = WebClient; openerp.web.Widget = Widget; openerp.Widget = openerp.web.Widget; openerp.Widget.prototype.session = session; WebClient.include({ init: function () { openerp.client = this; openerp.webclient = this; start_modules(); client_started.resolve(); this._super.apply(this, arguments); }, }); function make_old_registry(registry) { return { add: function (key, path) { client_started.done(function () { registry.add(key, get_object(path)); }); }, }; } function get_object(path) { var object_match = openerp; path = path.split('.'); // ignore first section for(var i=1; i