diff options
| author | Christophe Matthieu <chm@odoo.com> | 2015-07-08 10:29:42 +0200 |
|---|---|---|
| committer | Christophe Matthieu <chm@odoo.com> | 2015-07-10 16:32:35 +0200 |
| commit | 500c33b18406c2663366ce6eefc5d8e258d6f681 (patch) | |
| tree | 9e4093fffa02bd06ccfe4484f2d164098e071219 /addons/web/static/src/js | |
| parent | 2fcd35631780fae64d19e29dd89e4e93dee1d57f (diff) | |
[IMP] web: split model.js into model.js and data_model.js. Web js modules must call web.DataModel.
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/compatibility.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/framework/data_model.js | 80 | ||||
| -rw-r--r-- | addons/web/static/src/js/framework/model.js | 80 | ||||
| -rw-r--r-- | addons/web/static/src/js/view_manager.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/form_relational_widgets.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/form_view.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/form_widgets.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/graph_view.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/graph_widget.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/list_view.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/pivot_view.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/search_inputs.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/search_menus.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/search_view.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/web_client.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/widgets/user_menu.js | 2 |
16 files changed, 94 insertions, 94 deletions
diff --git a/addons/web/static/src/js/compatibility.js b/addons/web/static/src/js/compatibility.js index cc80915735a..09a01241f33 100644 --- a/addons/web/static/src/js/compatibility.js +++ b/addons/web/static/src/js/compatibility.js @@ -23,7 +23,7 @@ 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 Model = require('web.DataModel'); var pyeval = require('web.pyeval'); var Registry = require('web.Registry'); var SearchView = require('web.SearchView'); diff --git a/addons/web/static/src/js/framework/data_model.js b/addons/web/static/src/js/framework/data_model.js new file mode 100644 index 00000000000..f722339167f --- /dev/null +++ b/addons/web/static/src/js/framework/data_model.js @@ -0,0 +1,80 @@ +odoo.define('web.DataModel', function (require) { +"use strict"; + +var data = require('web.data'); +var Model = require('web.Model'); +var pyeval = require('web.pyeval'); +var session = require('web.session'); + +Model.include({ + /** + * Fetches a Query instance bound to this model, for searching + * + * @param {Array<String>} [fields] fields to ultimately fetch during the search + * @returns {instance.web.Query} + */ + query: function (fields) { + return new data.Query(this, fields); + }, + /** + * Fetches the model's domain, combined with the provided domain if any + * + * @param {Array} [domain] to combine with the model's internal domain + * @returns {instance.web.CompoundDomain} The model's internal domain, or the AND-ed union of the model's internal domain and the provided domain + */ + domain: function (domain) { + if (!domain) { return this._domain; } + return new data.CompoundDomain(this._domain, domain); + }, + /** + * Fetches the combination of the user's context and the domain context, + * combined with the provided context if any + * + * @param {Object} [context] to combine with the model's internal context + * @returns {instance.web.CompoundContext} The union of the user's context and the model's internal context, as well as the provided context if any. In that order. + */ + context: function (context) { + return new data.CompoundContext(session.user_context, this._context, context || {}); + }, + /** + * Call a method (over RPC) on the bound OpenERP model. + * + * @param {String} method name of the method to call + * @param {Array} [args] positional arguments + * @param {Object} [kwargs] keyword arguments + * @param {Object} [options] additional options for the rpc() method + * @returns {jQuery.Deferred<>} call result + */ + call: function (method, args, kwargs, options) { + args = args || []; + kwargs = kwargs || {}; + if (!_.isArray(args)) { + // call(method, kwargs) + kwargs = args; + args = []; + } + pyeval.ensure_evaluated(args, kwargs); + var call_kw = '/web/dataset/call_kw/' + this.name + '/' + method; + return session.rpc(call_kw, { + model: this.name, + method: method, + args: args, + kwargs: kwargs + }, options); + }, + call_button: function (method, args) { + pyeval.ensure_evaluated(args, {}); + return session.rpc('/web/dataset/call_button', { + model: this.name, + method: method, + // Should not be necessary anymore. Integrate remote in this? + domain_id: null, + context_id: args.length - 1, + args: args || [] + }); + }, + +}); + +return Model; +}); diff --git a/addons/web/static/src/js/framework/model.js b/addons/web/static/src/js/framework/model.js index ca4c29452a3..2621ca490d4 100644 --- a/addons/web/static/src/js/framework/model.js +++ b/addons/web/static/src/js/framework/model.js @@ -109,83 +109,3 @@ var Model = Class.extend({ return Model; }); - -odoo.define('web.DataModel', function (require) { -"use strict"; - -var data = require('web.data'); -var Model = require('web.Model'); -var pyeval = require('web.pyeval'); -var session = require('web.session'); - -Model.include({ - /** - * Fetches a Query instance bound to this model, for searching - * - * @param {Array<String>} [fields] fields to ultimately fetch during the search - * @returns {instance.web.Query} - */ - query: function (fields) { - return new data.Query(this, fields); - }, - /** - * Fetches the model's domain, combined with the provided domain if any - * - * @param {Array} [domain] to combine with the model's internal domain - * @returns {instance.web.CompoundDomain} The model's internal domain, or the AND-ed union of the model's internal domain and the provided domain - */ - domain: function (domain) { - if (!domain) { return this._domain; } - return new data.CompoundDomain(this._domain, domain); - }, - /** - * Fetches the combination of the user's context and the domain context, - * combined with the provided context if any - * - * @param {Object} [context] to combine with the model's internal context - * @returns {instance.web.CompoundContext} The union of the user's context and the model's internal context, as well as the provided context if any. In that order. - */ - context: function (context) { - return new data.CompoundContext(session.user_context, this._context, context || {}); - }, - /** - * Call a method (over RPC) on the bound OpenERP model. - * - * @param {String} method name of the method to call - * @param {Array} [args] positional arguments - * @param {Object} [kwargs] keyword arguments - * @param {Object} [options] additional options for the rpc() method - * @returns {jQuery.Deferred<>} call result - */ - call: function (method, args, kwargs, options) { - args = args || []; - kwargs = kwargs || {}; - if (!_.isArray(args)) { - // call(method, kwargs) - kwargs = args; - args = []; - } - pyeval.ensure_evaluated(args, kwargs); - var call_kw = '/web/dataset/call_kw/' + this.name + '/' + method; - return session.rpc(call_kw, { - model: this.name, - method: method, - args: args, - kwargs: kwargs - }, options); - }, - call_button: function (method, args) { - pyeval.ensure_evaluated(args, {}); - return session.rpc('/web/dataset/call_button', { - model: this.name, - method: method, - // Should not be necessary anymore. Integrate remote in this? - domain_id: null, - context_id: args.length - 1, - args: args || [] - }); - }, - -}); - -}); diff --git a/addons/web/static/src/js/view_manager.js b/addons/web/static/src/js/view_manager.js index d1722fcce32..9321b010dd1 100644 --- a/addons/web/static/src/js/view_manager.js +++ b/addons/web/static/src/js/view_manager.js @@ -4,7 +4,7 @@ odoo.define('web.ViewManager', function (require) { var ControlPanelMixin = require('web.ControlPanelMixin'); var core = require('web.core'); var data = require('web.data'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var pyeval = require('web.pyeval'); var SearchView = require('web.SearchView'); var Widget = require('web.Widget'); diff --git a/addons/web/static/src/js/views/form_relational_widgets.js b/addons/web/static/src/js/views/form_relational_widgets.js index 4513b206f33..3d53dd00675 100644 --- a/addons/web/static/src/js/views/form_relational_widgets.js +++ b/addons/web/static/src/js/views/form_relational_widgets.js @@ -8,7 +8,7 @@ var Dialog = require('web.Dialog'); var common = require('web.form_common'); var FormView = require('web.FormView'); var ListView = require('web.ListView'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var session = require('web.session'); var utils = require('web.utils'); var ViewManager = require('web.ViewManager'); diff --git a/addons/web/static/src/js/views/form_view.js b/addons/web/static/src/js/views/form_view.js index 488ddae9e61..fd024ae0f75 100644 --- a/addons/web/static/src/js/views/form_view.js +++ b/addons/web/static/src/js/views/form_view.js @@ -6,7 +6,7 @@ var crash_manager = require('web.crash_manager'); var data = require('web.data'); var Dialog = require('web.Dialog'); var common = require('web.form_common'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var Sidebar = require('web.Sidebar'); var utils = require('web.utils'); var View = require('web.View'); diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js index 558a47d4e98..cedc2a8b14a 100644 --- a/addons/web/static/src/js/views/form_widgets.js +++ b/addons/web/static/src/js/views/form_widgets.js @@ -10,7 +10,7 @@ var Dialog = require('web.Dialog'); var common = require('web.form_common'); var formats = require('web.formats'); var framework = require('web.framework'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var pyeval = require('web.pyeval'); var session = require('web.session'); var utils = require('web.utils'); diff --git a/addons/web/static/src/js/views/graph_view.js b/addons/web/static/src/js/views/graph_view.js index 3d3e2e649d6..7f6f38ab05b 100644 --- a/addons/web/static/src/js/views/graph_view.js +++ b/addons/web/static/src/js/views/graph_view.js @@ -6,7 +6,7 @@ odoo.define('web.GraphView', function (require) { var core = require('web.core'); var GraphWidget = require('web.GraphWidget'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var View = require('web.View'); var _lt = core._lt; diff --git a/addons/web/static/src/js/views/graph_widget.js b/addons/web/static/src/js/views/graph_widget.js index 3f8a7566d97..e0f425ca4e9 100644 --- a/addons/web/static/src/js/views/graph_widget.js +++ b/addons/web/static/src/js/views/graph_widget.js @@ -2,7 +2,7 @@ odoo.define('web.GraphWidget', function (require) { "use strict"; var core = require('web.core'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var Widget = require('web.Widget'); var _t = core._t; diff --git a/addons/web/static/src/js/views/list_view.js b/addons/web/static/src/js/views/list_view.js index c5af8488cec..8b25776c9dd 100644 --- a/addons/web/static/src/js/views/list_view.js +++ b/addons/web/static/src/js/views/list_view.js @@ -7,7 +7,7 @@ var data = require('web.data'); var DataExport = require('web.DataExport'); var formats = require('web.formats'); var common = require('web.list_common'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var pyeval = require('web.pyeval'); var session = require('web.session'); var Sidebar = require('web.Sidebar'); diff --git a/addons/web/static/src/js/views/pivot_view.js b/addons/web/static/src/js/views/pivot_view.js index 22b74ecbf15..40b3f59dcb8 100644 --- a/addons/web/static/src/js/views/pivot_view.js +++ b/addons/web/static/src/js/views/pivot_view.js @@ -8,7 +8,7 @@ var core = require('web.core'); var crash_manager = require('web.crash_manager'); var formats = require('web.formats'); var framework = require('web.framework'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var session = require('web.session'); var Sidebar = require('web.Sidebar'); var utils = require('web.utils'); diff --git a/addons/web/static/src/js/views/search_inputs.js b/addons/web/static/src/js/views/search_inputs.js index 4127b020970..ce05c99eca2 100644 --- a/addons/web/static/src/js/views/search_inputs.js +++ b/addons/web/static/src/js/views/search_inputs.js @@ -4,7 +4,7 @@ odoo.define('web.search_inputs', function (require) { var core = require('web.core'); var data = require('web.data'); var formats = require('web.formats'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var pyeval = require('web.pyeval'); var time = require('web.time'); var utils = require('web.utils'); diff --git a/addons/web/static/src/js/views/search_menus.js b/addons/web/static/src/js/views/search_menus.js index 48a8cf65fe7..a2f6c8970ef 100644 --- a/addons/web/static/src/js/views/search_menus.js +++ b/addons/web/static/src/js/views/search_menus.js @@ -2,7 +2,7 @@ odoo.define('web.FavoriteMenu', function (require) { "use strict"; var core = require('web.core'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var pyeval = require('web.pyeval'); var session = require('web.session'); var Widget = require('web.Widget'); diff --git a/addons/web/static/src/js/views/search_view.js b/addons/web/static/src/js/views/search_view.js index 3511bbca01c..1a44c6af953 100644 --- a/addons/web/static/src/js/views/search_view.js +++ b/addons/web/static/src/js/views/search_view.js @@ -6,7 +6,7 @@ var core = require('web.core'); var FavoriteMenu = require('web.FavoriteMenu'); var FilterMenu = require('web.FilterMenu'); var GroupByMenu = require('web.GroupByMenu'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var pyeval = require('web.pyeval'); var search_inputs = require('web.search_inputs'); var utils = require('web.utils'); diff --git a/addons/web/static/src/js/web_client.js b/addons/web/static/src/js/web_client.js index 496f83c7d3a..d3b27ae48dc 100644 --- a/addons/web/static/src/js/web_client.js +++ b/addons/web/static/src/js/web_client.js @@ -8,7 +8,7 @@ var data = require('web.data'); var framework = require('web.framework'); var Loading = require('web.Loading'); var Menu = require('web.Menu'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var Notification = require('web.Notification'); var session = require('web.session'); var SystrayMenu = require('web.SystrayMenu'); diff --git a/addons/web/static/src/js/widgets/user_menu.js b/addons/web/static/src/js/widgets/user_menu.js index ef2927d668f..94a47cfa4b0 100644 --- a/addons/web/static/src/js/widgets/user_menu.js +++ b/addons/web/static/src/js/widgets/user_menu.js @@ -4,7 +4,7 @@ odoo.define('web.UserMenu', function (require) { var core = require('web.core'); var Dialog = require('web.Dialog'); var framework = require('web.framework'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var session = require('web.session'); var Widget = require('web.Widget'); |
