From 12fa4e565a734bd4e0be7cb83ff320f32cb4f33e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9ry=20Debongnie?= Date: Fri, 5 Jan 2018 11:06:55 +0100 Subject: [REF] web: move _loadSubviews() from FormView ... as this function is only used by the FormView. --- addons/web/static/src/js/views/abstract_view.js | 59 ------------------------- 1 file changed, 59 deletions(-) (limited to 'addons/web/static/src/js/views/abstract_view.js') diff --git a/addons/web/static/src/js/views/abstract_view.js b/addons/web/static/src/js/views/abstract_view.js index 216c834889b..6dc7be88baa 100644 --- a/addons/web/static/src/js/views/abstract_view.js +++ b/addons/web/static/src/js/views/abstract_view.js @@ -25,7 +25,6 @@ odoo.define('web.AbstractView', function (require) { var ajax = require('web.ajax'); var Class = require('web.Class'); -var Context = require('web.Context'); var AbstractModel = require('web.AbstractModel'); var AbstractRenderer = require('web.AbstractRenderer'); var AbstractController = require('web.AbstractController'); @@ -236,64 +235,6 @@ var AbstractView = Class.extend({ var model = this.getModel(parent); return model.load(this.loadParams); }, - /** - * Loads the subviews for x2many fields when they are not inline - * - * @private - * @param {Widget} parent the parent of the model, if it has to be created - * @returns {Deferred} - */ - _loadSubviews: function (parent) { - var self = this; - var defs = []; - if (this.loadParams && this.loadParams.fieldsInfo) { - var fields = this.loadParams.fields; - - _.each(this.loadParams.fieldsInfo.form, function (attrs, fieldName) { - var field = fields[fieldName]; - if (field.type !== 'one2many' && field.type !== 'many2many') { - return; - } - - if (attrs.Widget.prototype.useSubview && !attrs.__no_fetch && !attrs.views[attrs.mode]) { - var context = {}; - var regex = /'([a-z]*_view_ref)' *: *'(.*?)'/g; - var matches; - while (matches = regex.exec(attrs.context)) { - context[matches[1]] = matches[2]; - } - defs.push(parent.loadViews( - field.relation, - new Context(context, self.userContext, self.loadParams.context).eval(), - [[null, attrs.mode === 'tree' ? 'list' : attrs.mode]]) - .then(function (views) { - for (var viewName in views) { - attrs.views[viewName] = views[viewName]; - } - self._setSubViewLimit(attrs); - })); - } else { - self._setSubViewLimit(attrs); - } - }); - } - return $.when.apply($, defs); - }, - /** - * We set here the limit for the number of records fetched (in one page). - * This method is only called for subviews, not for main views. - * - * @private - * @param {Object} attrs - */ - _setSubViewLimit: function (attrs) { - var view = attrs.views && attrs.views[attrs.mode]; - var limit = view && view.arch.attrs.limit && parseInt(view.arch.attrs.limit); - if (!limit && attrs.widget === 'many2many_tags') { - limit = 1000; - } - attrs.limit = limit || 40; - }, }); return AbstractView; -- cgit v1.2.3