diff options
| author | len-odoo <len@odoo.com> | 2018-07-04 10:17:39 +0200 |
|---|---|---|
| committer | len-odoo <35492570+len-odoo@users.noreply.github.com> | 2018-07-06 07:52:52 +0200 |
| commit | c8474c8ab443164901ef5ff2aa26ed27c42d69da (patch) | |
| tree | a544e94170d3c5b9ead05711b4493fbe5c8f7a40 /addons/web/static/src | |
| parent | 896e3f4c1eace0c1ad3e3b472fa373e62d7cddb5 (diff) | |
[FIX] web: trigger a warning modal when deleting a line while editing in a one2many
In a one2many, if the user clicked the trash button while editing another line,
the row was not unselected.
Thus the modal was not triggered, which entailed that the currently edited line
was always saved.
In particular, it allowed to give empty values to required fields.
opw 1834346
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/views/list/list_editable_renderer.js | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/addons/web/static/src/js/views/list/list_editable_renderer.js b/addons/web/static/src/js/views/list/list_editable_renderer.js index 09908212237..f5cb3a2c732 100644 --- a/addons/web/static/src/js/views/list/list_editable_renderer.js +++ b/addons/web/static/src/js/views/list/list_editable_renderer.js @@ -841,8 +841,16 @@ ListRenderer.include({ */ _onTrashIconClick: function (event) { event.stopPropagation(); - var id = $(event.target).closest('tr').data('id'); - this.trigger_up('list_record_delete', {id: id}); + var $row = $(event.target).closest('tr') + var id = $row.data('id'); + if ($row.hasClass('o_selected_row')) { + this.trigger_up('list_record_delete', {id: id}); + } else { + var self = this; + this.unselectRow().then(function () { + self.trigger_up('list_record_delete', {id: id}); + }); + } }, /** * When a click happens outside the list view, or outside a currently |
