summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorlen-odoo <len@odoo.com>2018-07-04 10:17:39 +0200
committerlen-odoo <35492570+len-odoo@users.noreply.github.com>2018-07-06 07:52:52 +0200
commitc8474c8ab443164901ef5ff2aa26ed27c42d69da (patch)
treea544e94170d3c5b9ead05711b4493fbe5c8f7a40 /addons/web/static/src
parent896e3f4c1eace0c1ad3e3b472fa373e62d7cddb5 (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.js12
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