diff options
| author | Lucas Perais (lpe) <lpe@odoo.com> | 2021-02-12 15:16:39 +0000 |
|---|---|---|
| committer | Lucas Perais (lpe) <lpe@odoo.com> | 2021-02-15 09:43:33 +0000 |
| commit | 23fcaeda6830f2dc0de17337f9c3da8faf0338ce (patch) | |
| tree | 4a90869157b304017b82280c0daa91e773c04d11 /addons/web/static/src/js | |
| parent | e1fc6707ed4ddfe7c62e6beead8617e5fbe6ea9b (diff) | |
[FIX] web: list multi edit: prevent force save
Have a list with multi_edit enabled
Have a widget boolean_toggle displayed on some field
Select some records to be in multi edit mode
Before this commit, the record on which the boolean toggle button was clicked was written
and then the multi edit feature was triggered and wrote on all the records
The first write is unnecessary and counter intuitive
After this commit, only the write with all the multi edited records is done
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_controller.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/list/list_controller.js | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_controller.js b/addons/web/static/src/js/views/basic/basic_controller.js index b58a4154e1f..001154d29b4 100644 --- a/addons/web/static/src/js/views/basic/basic_controller.js +++ b/addons/web/static/src/js/views/basic/basic_controller.js @@ -706,7 +706,7 @@ var BasicController = AbstractController.extend(FieldManagerMixin, { * @param {OdooEvent} ev */ _onFieldChanged: function (ev) { - if (this.mode === 'readonly') { + if (this.mode === 'readonly' && !('force_save' in ev.data)) { ev.data.force_save = true; } FieldManagerMixin._onFieldChanged.apply(this, arguments); 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 5a8bb698942..0e1921883ff 100644 --- a/addons/web/static/src/js/views/list/list_controller.js +++ b/addons/web/static/src/js/views/list/list_controller.js @@ -835,6 +835,9 @@ var ListController = BasicController.extend({ ev.data.onFailure = saveMulti; // will show the appropriate dialog // disable onchanges as we'll save directly ev.data.notifyChange = false; + // In multi edit mode, we will be asked if we want to write on the selected + // records, so the force_save for readonly is not necessary. + ev.data.force_save = false; } this._super.apply(this, arguments); }, |
