diff options
| author | Géry Debongnie <ged@odoo.com> | 2017-05-29 14:09:18 +0200 |
|---|---|---|
| committer | Géry Debongnie <ged@odoo.com> | 2017-05-29 16:20:45 +0200 |
| commit | 5788ee8a1cc903431b100a3861686cfa606aa620 (patch) | |
| tree | 9b43cb850aecf13f410d7418de66c4fdde6f9730 /addons/web/static/src/js | |
| parent | 0bb3f21964219073a261b493a2d24560609987c3 (diff) | |
[FIX] web: prevent crash when exporting all data
In the list controller, some code to determine the active domain to
export was causing a crash. It was easy to see: just select all records
in a list view, then click on 'Export' in the sidebar.
Note that the data_export code is still quite old, and did evolve
organically. It does not conform to our new design principles, in
particular, the way component should communicate. But this is a task for
another day.
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/views/list/list_controller.js | 3 | ||||
| -rw-r--r-- | addons/web/static/src/js/widgets/data_export.js | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/addons/web/static/src/js/views/list/list_controller.js b/addons/web/static/src/js/views/list/list_controller.js index 815ac0497a2..3c86b7c222f 100644 --- a/addons/web/static/src/js/views/list/list_controller.js +++ b/addons/web/static/src/js/views/list/list_controller.js @@ -92,7 +92,8 @@ var ListController = BasicController.extend({ contexts: [userContext].concat(searchData.contexts), group_by_seq: searchData.groupbys || [] }); - return $.when(self.dataset.domain.concat(results.domain || [])); + var record = self.model.get(self.handle, {raw: true}); + return $.when(record.getDomain().concat(results.domain || [])); } else { return $.Deferred().resolve(); } diff --git a/addons/web/static/src/js/widgets/data_export.js b/addons/web/static/src/js/widgets/data_export.js index 13ab8fd0892..c11551ca2cc 100644 --- a/addons/web/static/src/js/widgets/data_export.js +++ b/addons/web/static/src/js/widgets/data_export.js @@ -295,7 +295,10 @@ var DataExport = Dialog.extend({ } var self = this; - return this.exports.read_slice(['name'], { + return this._rpc({ + model: 'ir.exports', + method: 'search_read', + fields: ['name'], domain: [['resource', '=', this.record.model]] }).then(function (export_list) { if (!export_list.length) { |
