From 500c33b18406c2663366ce6eefc5d8e258d6f681 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Wed, 8 Jul 2015 10:29:42 +0200 Subject: [PATCH 01/26] [IMP] web: split model.js into model.js and data_model.js. Web js modules must call web.DataModel. --- .../static/src/js/move_line_quickadd.js | 2 +- .../barcodes/static/src/js/barcode_parser.js | 2 +- addons/base_import/static/src/js/import.js | 2 +- addons/board/static/src/js/dashboard.js | 2 +- .../calendar/static/src/js/base_calendar.js | 2 +- .../static/src/js/gamification.js | 2 +- addons/google_drive/static/src/js/gdrive.js | 2 +- .../hr_attendance/static/src/js/attendance.js | 2 +- .../static/src/js/timesheet.js | 2 +- .../im_chat/static/src/js/im_chat_backend.js | 2 +- addons/mail/static/src/js/announcement.js | 2 +- .../static/src/js/many2many_tags_email.js | 2 +- addons/point_of_sale/static/src/js/gui.js | 2 +- addons/point_of_sale/static/src/js/models.js | 2 +- addons/point_of_sale/static/src/js/screens.js | 2 +- addons/pos_restaurant/static/src/js/floors.js | 2 +- .../static/src/js/web_addons.js | 2 +- addons/web/static/src/js/compatibility.js | 2 +- .../web/static/src/js/framework/data_model.js | 80 +++++++++++++++++++ addons/web/static/src/js/framework/model.js | 80 ------------------- addons/web/static/src/js/view_manager.js | 2 +- .../src/js/views/form_relational_widgets.js | 2 +- addons/web/static/src/js/views/form_view.js | 2 +- .../web/static/src/js/views/form_widgets.js | 2 +- addons/web/static/src/js/views/graph_view.js | 2 +- .../web/static/src/js/views/graph_widget.js | 2 +- addons/web/static/src/js/views/list_view.js | 2 +- addons/web/static/src/js/views/pivot_view.js | 2 +- .../web/static/src/js/views/search_inputs.js | 2 +- .../web/static/src/js/views/search_menus.js | 2 +- addons/web/static/src/js/views/search_view.js | 2 +- addons/web/static/src/js/web_client.js | 2 +- addons/web/static/src/js/widgets/user_menu.js | 2 +- addons/web/static/test/data.js | 2 +- addons/web/static/test/evals.js | 2 +- addons/web/views/webclient_templates.xml | 1 + .../static/src/js/web_calendar.js | 2 +- addons/web_gantt/static/src/js/gantt.js | 2 +- .../web_kanban/static/src/js/kanban_view.js | 2 +- addons/web_tests_demo/static/test/demo.js | 2 +- addons/web_tip/static/src/js/tip.js | 2 +- openerp/addons/base/static/src/js/apps.js | 2 +- 42 files changed, 120 insertions(+), 119 deletions(-) create mode 100644 addons/web/static/src/js/framework/data_model.js diff --git a/addons/account/static/src/js/move_line_quickadd.js b/addons/account/static/src/js/move_line_quickadd.js index 6d437826a6a..e77477a1c79 100644 --- a/addons/account/static/src/js/move_line_quickadd.js +++ b/addons/account/static/src/js/move_line_quickadd.js @@ -4,7 +4,7 @@ odoo.define('account.move_line_quickadd', function (require) { var core = require('web.core'); var data = require('web.data'); var ListView = require('web.ListView'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var QWeb = core.qweb; diff --git a/addons/barcodes/static/src/js/barcode_parser.js b/addons/barcodes/static/src/js/barcode_parser.js index 4ad34c6543b..00462f36a51 100644 --- a/addons/barcodes/static/src/js/barcode_parser.js +++ b/addons/barcodes/static/src/js/barcode_parser.js @@ -2,7 +2,7 @@ odoo.define('barcodes.BarcodeParser', function (require) { "use strict"; var Class = require('web.Class'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); // The BarcodeParser is used to detect what is the category // of a barcode (product, partner, ...) and extract an encoded value diff --git a/addons/base_import/static/src/js/import.js b/addons/base_import/static/src/js/import.js index 991dbee7462..779655bbef9 100644 --- a/addons/base_import/static/src/js/import.js +++ b/addons/base_import/static/src/js/import.js @@ -3,7 +3,7 @@ odoo.define('base_import.import', function (require) { var core = require('web.core'); var ListView = require('web.ListView'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var session = require('web.session'); var Widget = require('web.Widget'); diff --git a/addons/board/static/src/js/dashboard.js b/addons/board/static/src/js/dashboard.js index 568a6e2babd..5320893b15e 100644 --- a/addons/board/static/src/js/dashboard.js +++ b/addons/board/static/src/js/dashboard.js @@ -7,7 +7,7 @@ var data = require('web.data'); var Dialog = require('web.Dialog'); var FavoriteMenu = require('web.FavoriteMenu'); var form_common = require('web.form_common'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var pyeval = require('web.pyeval'); var ViewManager = require('web.ViewManager'); diff --git a/addons/calendar/static/src/js/base_calendar.js b/addons/calendar/static/src/js/base_calendar.js index 0bfcc0311db..0b10febc743 100644 --- a/addons/calendar/static/src/js/base_calendar.js +++ b/addons/calendar/static/src/js/base_calendar.js @@ -4,7 +4,7 @@ odoo.define('base_calendar.base_calendar', function (require) { var core = require('web.core'); var data = require('web.data'); var form_common = require('web.form_common'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var WebClient = require('web.WebClient'); var CalendarView = require('web_calendar.CalendarView'); var widgets = require('web_calendar.widgets'); diff --git a/addons/gamification/static/src/js/gamification.js b/addons/gamification/static/src/js/gamification.js index 37ba574ff19..649df68ecdc 100644 --- a/addons/gamification/static/src/js/gamification.js +++ b/addons/gamification/static/src/js/gamification.js @@ -4,7 +4,7 @@ odoo.define('gamification.gamification', function(require) { var mail = require('mail.mail'); var core = require('web.core'); var form_common = require('web.form_common'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var session = require('web.session'); var Widget = require('web.Widget'); diff --git a/addons/google_drive/static/src/js/gdrive.js b/addons/google_drive/static/src/js/gdrive.js index f7d33a53979..bc7449c5507 100644 --- a/addons/google_drive/static/src/js/gdrive.js +++ b/addons/google_drive/static/src/js/gdrive.js @@ -2,7 +2,7 @@ odoo.define('google_drive.google_drive', function (require) { "use strict"; var data = require('web.data'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var Sidebar = require('web.Sidebar'); Sidebar.include({ diff --git a/addons/hr_attendance/static/src/js/attendance.js b/addons/hr_attendance/static/src/js/attendance.js index 80859b76bd5..c1545d10470 100644 --- a/addons/hr_attendance/static/src/js/attendance.js +++ b/addons/hr_attendance/static/src/js/attendance.js @@ -4,7 +4,7 @@ odoo.define('hr_attendance.hr_attendance', 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 SystrayMenu = require('web.SystrayMenu'); var time = require('web.time'); var Widget = require('web.Widget'); diff --git a/addons/hr_timesheet_sheet/static/src/js/timesheet.js b/addons/hr_timesheet_sheet/static/src/js/timesheet.js index 819556b0a59..59e99cf130e 100644 --- a/addons/hr_timesheet_sheet/static/src/js/timesheet.js +++ b/addons/hr_timesheet_sheet/static/src/js/timesheet.js @@ -5,7 +5,7 @@ var core = require('web.core'); var data = require('web.data'); var form_common = require('web.form_common'); var formats = require('web.formats'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var time = require('web.time'); var utils = require('web.utils'); diff --git a/addons/im_chat/static/src/js/im_chat_backend.js b/addons/im_chat/static/src/js/im_chat_backend.js index fe2d5ae97b9..08eb06ab2e1 100644 --- a/addons/im_chat/static/src/js/im_chat_backend.js +++ b/addons/im_chat/static/src/js/im_chat_backend.js @@ -6,7 +6,7 @@ odoo.define('im_chat.im_chat', function (require) { var bus = require('bus.bus'); var core = require('web.core'); var data = require('web.data'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var session = require('web.session'); var SystrayMenu = require('web.SystrayMenu'); var utils = require('web.utils'); diff --git a/addons/mail/static/src/js/announcement.js b/addons/mail/static/src/js/announcement.js index 71e74bedab7..61e6ac1159d 100644 --- a/addons/mail/static/src/js/announcement.js +++ b/addons/mail/static/src/js/announcement.js @@ -2,7 +2,7 @@ odoo.define('mail.announcement', function (require) { "use strict"; var core = require('web.core'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var session = require('web.session'); var WebClient = require('web.WebClient'); diff --git a/addons/mail/static/src/js/many2many_tags_email.js b/addons/mail/static/src/js/many2many_tags_email.js index 2250935e1da..a9fd41a3cd7 100644 --- a/addons/mail/static/src/js/many2many_tags_email.js +++ b/addons/mail/static/src/js/many2many_tags_email.js @@ -4,7 +4,7 @@ odoo.define('mail.many2manytags', function (require) { var core = require('web.core'); var form_common = require('web.form_common'); var form_relational = require('web.form_relational'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var _t = core._t; diff --git a/addons/point_of_sale/static/src/js/gui.js b/addons/point_of_sale/static/src/js/gui.js index 91da131e88a..ec64b5991a8 100644 --- a/addons/point_of_sale/static/src/js/gui.js +++ b/addons/point_of_sale/static/src/js/gui.js @@ -7,7 +7,7 @@ odoo.define('point_of_sale.gui', function (require) { // it is available to all pos objects trough the '.gui' field. var core = require('web.core'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var _t = core._t; diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js index 6823197df5c..45b7db18481 100644 --- a/addons/point_of_sale/static/src/js/models.js +++ b/addons/point_of_sale/static/src/js/models.js @@ -5,7 +5,7 @@ var BarcodeParser = require('barcodes.BarcodeParser'); var PosDB = require('point_of_sale.DB'); var devices = require('point_of_sale.devices'); var core = require('web.core'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var session = require('web.session'); var time = require('web.time'); var utils = require('web.utils'); diff --git a/addons/point_of_sale/static/src/js/screens.js b/addons/point_of_sale/static/src/js/screens.js index 10e9ef66c1e..192d70cbeba 100644 --- a/addons/point_of_sale/static/src/js/screens.js +++ b/addons/point_of_sale/static/src/js/screens.js @@ -31,7 +31,7 @@ var PosBaseWidget = require('point_of_sale.BaseWidget'); var gui = require('point_of_sale.gui'); var models = require('point_of_sale.models'); var core = require('web.core'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var utils = require('web.utils'); var formats = require('web.formats'); diff --git a/addons/pos_restaurant/static/src/js/floors.js b/addons/pos_restaurant/static/src/js/floors.js index 9009c89f69e..732db3cc9d8 100644 --- a/addons/pos_restaurant/static/src/js/floors.js +++ b/addons/pos_restaurant/static/src/js/floors.js @@ -7,7 +7,7 @@ var gui = require('point_of_sale.gui'); var models = require('point_of_sale.models'); var screens = require('point_of_sale.screens'); var core = require('web.core'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var QWeb = core.qweb; var _t = core._t; diff --git a/addons/purchase_requisition/static/src/js/web_addons.js b/addons/purchase_requisition/static/src/js/web_addons.js index 9e913df53ad..d67c8ec146d 100644 --- a/addons/purchase_requisition/static/src/js/web_addons.js +++ b/addons/purchase_requisition/static/src/js/web_addons.js @@ -2,7 +2,7 @@ odoo.define('purchase_requisition.purchase_requisition', function (require) { "use strict"; var core = require('web.core'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var ListView = require('web.ListView'); var QWeb = core.qweb; 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} [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} [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'); diff --git a/addons/web/static/test/data.js b/addons/web/static/test/data.js index 413ccdaf353..968a787a65c 100644 --- a/addons/web/static/test/data.js +++ b/addons/web/static/test/data.js @@ -27,7 +27,7 @@ odoo.define_section('web.dataset', ['web.data'], function (test, mock) { }); }); -odoo.define_section('data.model.group_by', ['web.Model'], function (test, mock) { +odoo.define_section('data.model.group_by', ['web.DataModel'], function (test, mock) { var group_result = [ { bar: 3, bar_count: 5, __context: {}, __domain: [['bar', '=', 3]], }, diff --git a/addons/web/static/test/evals.js b/addons/web/static/test/evals.js index 27763ebd9a8..15cdf221a6a 100644 --- a/addons/web/static/test/evals.js +++ b/addons/web/static/test/evals.js @@ -385,7 +385,7 @@ odoo.define_section('eval.edc', ['web.pyeval', 'web.session'], function (test, m }); }); - test('empty, context altered', ['web.Model'], function (assert, pyeval, session, Model) { + test('empty, context altered', ['web.DataModel'], function (assert, pyeval, session, Model) { assert.expect(3); var lang = new Model('res.lang'); var users = new Model('res.users'); diff --git a/addons/web/views/webclient_templates.xml b/addons/web/views/webclient_templates.xml index df140e8ad1d..0d28c646c58 100644 --- a/addons/web/views/webclient_templates.xml +++ b/addons/web/views/webclient_templates.xml @@ -123,6 +123,7 @@ + diff --git a/addons/web_calendar/static/src/js/web_calendar.js b/addons/web_calendar/static/src/js/web_calendar.js index d2a57bab06a..b2909f23dc6 100644 --- a/addons/web_calendar/static/src/js/web_calendar.js +++ b/addons/web_calendar/static/src/js/web_calendar.js @@ -7,7 +7,7 @@ odoo.define('web_calendar.CalendarView', function (require) { var core = require('web.core'); var data = require('web.data'); var form_common = require('web.form_common'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var time = require('web.time'); var View = require('web.View'); var widgets = require('web_calendar.widgets'); diff --git a/addons/web_gantt/static/src/js/gantt.js b/addons/web_gantt/static/src/js/gantt.js index 556167f7229..1f4eb415ebb 100644 --- a/addons/web_gantt/static/src/js/gantt.js +++ b/addons/web_gantt/static/src/js/gantt.js @@ -7,7 +7,7 @@ odoo.define('web_gantt.GanttView', function (require) { var core = require('web.core'); var form_common = require('web.form_common'); var formats = require('web.formats'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var time = require('web.time'); var View = require('web.View'); diff --git a/addons/web_kanban/static/src/js/kanban_view.js b/addons/web_kanban/static/src/js/kanban_view.js index 44e50935348..0f93413a699 100644 --- a/addons/web_kanban/static/src/js/kanban_view.js +++ b/addons/web_kanban/static/src/js/kanban_view.js @@ -3,7 +3,7 @@ odoo.define('web_kanban.KanbanView', function (require) { var core = require('web.core'); var data = require('web.data'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var Dialog = require('web.Dialog'); var form_common = require('web.form_common'); var Pager = require('web.Pager'); diff --git a/addons/web_tests_demo/static/test/demo.js b/addons/web_tests_demo/static/test/demo.js index 5c5c90f08e4..ae0dcbfaafb 100644 --- a/addons/web_tests_demo/static/test/demo.js +++ b/addons/web_tests_demo/static/test/demo.js @@ -44,7 +44,7 @@ odoo.define_section('basic section', [], function (test, mock) { }); - test('XML-RPC', ['web.Model'], function (assert, Model) { + test('XML-RPC', ['web.DataModel'], function (assert, Model) { assert.expect(3); mock.add('people.famous:name_search', function (args, kwargs) { diff --git a/addons/web_tip/static/src/js/tip.js b/addons/web_tip/static/src/js/tip.js index 8f8e7f15ff1..b5ed982aabe 100644 --- a/addons/web_tip/static/src/js/tip.js +++ b/addons/web_tip/static/src/js/tip.js @@ -3,7 +3,7 @@ odoo.define('web_tip.web_tip', function (require) { var core = require('web.core'); var form_widgets = require('web.form_widgets'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var utils = require('web.utils'); var WebClient = require('web.WebClient'); diff --git a/openerp/addons/base/static/src/js/apps.js b/openerp/addons/base/static/src/js/apps.js index b73c06aa576..156fe9e10b7 100644 --- a/openerp/addons/base/static/src/js/apps.js +++ b/openerp/addons/base/static/src/js/apps.js @@ -3,7 +3,7 @@ odoo.define('base.apps', function (require) { var core = require('web.core'); var framework = require('web.framework'); -var Model = require('web.Model'); +var Model = require('web.DataModel'); var session = require('web.session'); var web_client = require('web.web_client'); var Widget = require('web.Widget'); From a616c57c609da0e5e56835dcb45e1c05590d25b8 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Thu, 25 Jun 2015 14:56:03 +0200 Subject: [PATCH 02/26] [IMP] web: create a template with bootstrap scripts --- addons/web/views/webclient_templates.xml | 28 +++++++++++-------- addons/website/views/website_templates.xml | 28 +++---------------- .../view/website_slides_embed.xml | 2 +- 3 files changed, 21 insertions(+), 37 deletions(-) diff --git a/addons/web/views/webclient_templates.xml b/addons/web/views/webclient_templates.xml index 0d28c646c58..6082bca1363 100644 --- a/addons/web/views/webclient_templates.xml +++ b/addons/web/views/webclient_templates.xml @@ -49,6 +49,21 @@ + + - -