summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
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/js
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/js')
-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