diff options
| author | David Monjoie <dmo@odoo.com> | 2017-03-31 16:32:09 +0200 |
|---|---|---|
| committer | David Monjoie <dmo@odoo.com> | 2017-06-02 15:12:55 +0200 |
| commit | 2d26ed05a7630be98a8e2a465f0578414ed5f936 (patch) | |
| tree | 76a5099e309bf55d3ae037f0fb61c45436c03aa5 /addons/web/static/src/js/fields/relational_fields.js | |
| parent | 31f581972451a99b93baa230ff8ba60b763ed280 (diff) | |
[FIX] web: fix handle widget functionality
Also added tests for handle in list view and inside an x2many.
Diffstat (limited to 'addons/web/static/src/js/fields/relational_fields.js')
| -rw-r--r-- | addons/web/static/src/js/fields/relational_fields.js | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js index d825f46b62b..e13c3d29004 100644 --- a/addons/web/static/src/js/fields/relational_fields.js +++ b/addons/web/static/src/js/fields/relational_fields.js @@ -565,6 +565,7 @@ var FieldX2Many = AbstractField.extend({ list_record_delete: '_onDeleteRecord', open_record: '_onOpenRecord', save_line: '_onSaveLine', + resequence: '_onResequence', toggle_column_order: '_onToggleColumnOrder', }), @@ -637,7 +638,7 @@ var FieldX2Many = AbstractField.extend({ * @returns {Deferred} */ reset: function (record, ev) { - if (ev && ev.target === this && ev.data.changes && this.view.arch.tag === 'tree' && this.editable) { + if (ev && ev.target === this && ev.data.changes && this.view.arch.tag === 'tree') { var command = ev.data.changes[this.name]; if (command.operation === 'UPDATE') { var state = record.data[this.name]; @@ -903,6 +904,24 @@ var FieldX2Many = AbstractField.extend({ }); }, /** + * Forces a resequencing of the records. + * + * @private + * @param {OdooEvent} event + */ + _onResequence: function (event) { + var self = this; + _.each(event.data.rowIDs, function (rowID, index) { + var data = {}; + data[event.data.handleField] = event.data.offset + index; + self._setValue({ + operation: 'UPDATE', + id: rowID, + data: data, + }); + }) + }, + /** * Adds field name information to the event, so that the view upstream is * aware of which widgets it has to redraw. * |
