diff options
| author | Olivier Dony <odo@openerp.com> | 2016-04-21 18:05:02 +0200 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2016-04-21 18:05:14 +0200 |
| commit | ee804e1d329e3d7b11fc19707be568c09b9ff5dd (patch) | |
| tree | f3e709ac4105295479d0da05f1fa927b66bfc22a /addons/web/static/src | |
| parent | 73fbadf8ae3377e2d16f5538a9feaab0d9f7d315 (diff) | |
| parent | 74d8cbc190d1a93ef699ee254b1efbc88d2a1e26 (diff) | |
[MERGE] Forward-port 9.0 up to 74d8cbc190d1a93ef699ee254b1efbc88d2a1e26
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/framework/ajax.js | 4 | ||||
| -rw-r--r-- | addons/web/static/src/js/framework/data.js | 6 | ||||
| -rw-r--r-- | addons/web/static/src/js/framework/session.js | 1 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/list_view.js | 1 |
4 files changed, 9 insertions, 3 deletions
diff --git a/addons/web/static/src/js/framework/ajax.js b/addons/web/static/src/js/framework/ajax.js index 869e0214ad9..87fd08c7786 100644 --- a/addons/web/static/src/js/framework/ajax.js +++ b/addons/web/static/src/js/framework/ajax.js @@ -203,7 +203,9 @@ function get_file(options) { // opening a new window seems the best way to workaround if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { var params = _.extend({}, options.data || {}, {token: token}); - var url = this.url(options.url, params); + var url = options.session.url(options.url, params); + if (options.complete) { options.complete(); } + return window.open(url); } diff --git a/addons/web/static/src/js/framework/data.js b/addons/web/static/src/js/framework/data.js index a1b8e1602e9..3e9396a4e96 100644 --- a/addons/web/static/src/js/framework/data.js +++ b/addons/web/static/src/js/framework/data.js @@ -320,6 +320,7 @@ var DataSet = Class.extend(mixins.PropertiesMixin, { this.index = null; this._sort = []; this._model = new Model(model, context); + this.orderer = new utils.DropMisordered(); }, previous: function () { this.index -= 1; @@ -408,10 +409,11 @@ var DataSet = Class.extend(mixins.PropertiesMixin, { read_slice: function (fields, options) { var self = this; options = options || {}; - return this._model.query(fields) + var query = this._model.query(fields) .limit(options.limit || false) .offset(options.offset || 0) - .all().done(function (records) { + .all(); + return this.orderer.add(query).done(function (records) { self.ids = _(records).pluck('id'); }); }, diff --git a/addons/web/static/src/js/framework/session.js b/addons/web/static/src/js/framework/session.js index 7eae8b20a65..e16b3767e64 100644 --- a/addons/web/static/src/js/framework/session.js +++ b/addons/web/static/src/js/framework/session.js @@ -271,6 +271,7 @@ var Session = core.Class.extend(mixins.EventDispatcherMixin, { if (this.override_session){ options.data.session_id = this.session_id; } + options.session = this; ajax.get_file(options); }, synchronized_mode: function(to_execute) { diff --git a/addons/web/static/src/js/views/list_view.js b/addons/web/static/src/js/views/list_view.js index cb6daf093ce..229ecb86d83 100644 --- a/addons/web/static/src/js/views/list_view.js +++ b/addons/web/static/src/js/views/list_view.js @@ -1901,6 +1901,7 @@ var Column = Class.extend({ row_data[this.id].value, this, options.value_if_empty)); } }); +ListView.Column = Column; var MetaColumn = Column.extend({ meta: true, |
