-
- Downloads
[FIX] web: prevent useless discard dialog from showing up
Here is a scenario that could cause an issue: - open a form view with a many2one - click on edit button - click on small external button for many2one. this opens a modal form view - click on save in the modal (without changing anything) - click on save in the main record - exit form view. this opens a discard dialog There were two issues here: - saving the modal dialog automatically marks the many2one field as changed. This was necessary to force reloading the data, because editing a sub value in the modal form view could have changed the display_name of the manyone field. However, this is not necessary when no change was done. - when saving a record, the _isDirty flag was reset to false only if an actual rpc was done. However, it may happen that the flag is set to dirty (for example, when modifying a value inside a many2one), but the main record has no changed fields. In this commit, we also remove the on_save handler in the formviewdialog. This is a small refactoring in a stable version, but no code currently use it, and I believe that it will make the code much easier to maintain (the previous code was really awkward), so I think that the tradeoff is acceptable.
Showing
- addons/web/static/src/js/fields/relational_fields.js 5 additions, 3 deletionsaddons/web/static/src/js/fields/relational_fields.js
- addons/web/static/src/js/views/basic/basic_model.js 3 additions, 1 deletionaddons/web/static/src/js/views/basic/basic_model.js
- addons/web/static/src/js/views/view_dialogs.js 7 additions, 15 deletionsaddons/web/static/src/js/views/view_dialogs.js
- addons/web/static/tests/fields/relational_fields_tests.js 92 additions, 0 deletionsaddons/web/static/tests/fields/relational_fields_tests.js
Loading
Please register or sign in to comment