[FIX] res_user: def read(..., fields, ...): fields must be optional.
[odoo/odoo.git] / addons / web / static / src / js / boot.js
1 /*---------------------------------------------------------
2  * OpenERP Web Boostrap Code
3  *---------------------------------------------------------*/
4
5 /**
6  * @name openerp
7  * @namespace openerp
8  */
9 (function() {
10     if (this.openerp)
11         return;
12     var session_counter = 0;
13
14     var openerp = this.openerp =  {
15         // Per session namespace
16         // openerp.<module> will map to
17         // openerp.sessions.sessionname.<module> using a closure
18         sessions: {},
19         /**
20          * OpenERP instance constructor
21          *
22          * @param {Boolean} skip_init if true, skips the built-in initialization
23          */
24         init: function(skip_init) {
25             var new_instance = {
26                 // links to the global openerp
27                 _openerp: openerp,
28                 // Only web will be loaded, the rest will be by loaded by
29                 // openerp.web.Connection on the first connection
30                 _modules_loaded: false,
31                 // this unique id will be replaced by hostname_databasename by
32                 // openerp.web.Connection on the first connection
33                 _session_id: "session" + session_counter++,
34                 web: {},
35                 web_mobile: {}
36             };
37             openerp.sessions[new_instance._session_id] = new_instance;
38             if (!skip_init){
39                 openerp.web(new_instance);
40             }
41             return new_instance;
42         }
43     };
44 })();
45
46 /*---------------------------------------------------------
47  * OpenERP Web web module split
48  *---------------------------------------------------------*/
49
50 /**
51  * @namespace
52  */
53 openerp.web = function(instance) {
54     openerp.web.core(instance);
55     if (openerp.web.dates) {
56         openerp.web.dates(instance);
57     }
58     openerp.web.formats(instance);
59     openerp.web.chrome(instance);
60     openerp.web.data(instance);
61     var files = ["views","search","list","form","list_editable","web_mobile","view_tree","data_export","data_import"];
62     for(var i=0; i<files.length; i++) {
63         if(openerp.web[files[i]]) {
64             openerp.web[files[i]](instance);
65         }
66     }
67 };
68
69 // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: