summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/view_form.js27
-rw-r--r--addons/web/static/src/js/view_list_editable.js9
2 files changed, 16 insertions, 20 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 05e0acb6f33..dad622fb7f9 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -3837,26 +3837,13 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
this._super.apply(this, arguments);
},
do_delete: function (ids) {
- var self = this;
- var next = $.when();
- var _super = this._super;
- // handle deletion of an item which does not exist
- // TODO: better handle that in the editable list?
- var false_id_index = _(ids).indexOf(false);
- if (false_id_index !== -1) {
- ids.splice(false_id_index, 1);
- next = this.cancel_edition(true);
- }
- return next.then(function () {
- // wheeee
- var confirm = window.confirm;
- window.confirm = function () { return true; };
- try {
- return _super.call(self, ids);
- } finally {
- window.confirm = confirm;
- }
- });
+ var confirm = window.confirm;
+ window.confirm = function () { return true; };
+ try {
+ return this._super(ids);
+ } finally {
+ window.confirm = confirm;
+ }
}
});
instance.web.form.One2ManyGroups = instance.web.ListView.Groups.extend({
diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js
index 8bcf8b5d036..1abe3caab39 100644
--- a/addons/web/static/src/js/view_list_editable.js
+++ b/addons/web/static/src/js/view_list_editable.js
@@ -77,6 +77,15 @@ openerp.web.list_editable = function (instance) {
do_edit: function (index, id, dataset) {
_.extend(this.dataset, dataset);
},
+ do_delete: function (ids) {
+ var _super = this._super.bind(this);
+ var next = this.editor.is_editing()
+ ? this.cancel_edition(true)
+ : $.when();
+ return next.then(function () {
+ return _super(ids);
+ });
+ },
editable: function () {
return this.fields_view.arch.attrs.editable
|| this._context_editable