1 /*---------------------------------------------------------
2 * OpenERP Web Boostrap Code
3 *---------------------------------------------------------*/
8 * @namespace window.openerp
13 var session_counter = 0;
16 var openerp = this.openerp = {
19 // Per session namespace
20 // openerp.<module> will map to
21 // openerp.sessions.sessionname.<module> using a closure
24 * OpenERP instance constructor
26 * @param {Boolean} skip_init if true, skips the built-in initialization
28 init: function(skip_init) {
30 // links to the global openerp
32 // Only base will be loaded, the rest will be by loaded by
33 // openerp.base.Connection on the first connection
34 _modules_loaded: false,
35 // this unique id will be replaced by hostname_databasename by
36 // openerp.base.Connection on the first connection
37 _session_id: "session" + session_counter++,
41 openerp.sessions[new_instance._session_id] = new_instance;
43 openerp.base(new_instance);
47 // TODO add initrpc to init core only for RPC
51 /*---------------------------------------------------------
52 * OpenERP Web base module split
53 *---------------------------------------------------------*/
55 openerp.base = function(instance) {
56 openerp.base.core(instance);
57 openerp.base.formats(instance);
58 openerp.base.chrome(instance);
59 openerp.base.data(instance);
60 if (openerp.base.views) {
61 openerp.base.views(instance);
63 if (openerp.base.search) {
64 openerp.base.search(instance);
66 if (openerp.base.list) {
67 openerp.base.list(instance);
69 if (openerp.base. m2o) {
70 openerp.base.m2o(instance);
72 if (openerp.base.form) {
73 openerp.base.form(instance);
75 if (openerp.base.list && openerp.base.list.editable) {
76 openerp.base.list.editable(instance);
78 if (openerp.web_mobile) {
79 openerp.web_mobile(instance);
81 if (openerp.base.view_tree) {
82 openerp.base.view_tree(instance);
84 if (openerp.base.data_export) {
85 openerp.base.data_export(instance);
89 // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: