diff --git a/one2many_mass_select_delete/__init__.py b/one2many_mass_select_delete/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/one2many_mass_select_delete/__manifest__.py b/one2many_mass_select_delete/__manifest__.py index 2b8dc1437..8efeb9159 100644 --- a/one2many_mass_select_delete/__manifest__.py +++ b/one2many_mass_select_delete/__manifest__.py @@ -21,7 +21,7 @@ ############################################################################# { 'name': 'One2many Mass Select Delete Widget', - 'version': "16.0.1.0.1", + 'version': "16.0.1.0.2", 'summary': """One2many Mass Select/Deselect Widget""", 'description': """One2many Mass Select/ Deselect Widget""", 'category': 'Tools', diff --git a/one2many_mass_select_delete/static/src/js/widget.js b/one2many_mass_select_delete/static/src/js/widget.js index 4e9fa8f0c..d1bfc7431 100644 --- a/one2many_mass_select_delete/static/src/js/widget.js +++ b/one2many_mass_select_delete/static/src/js/widget.js @@ -35,19 +35,28 @@ export class TestX2ManyField extends X2ManyField { this.list.records var selected_list =[] - if (this.activeActions.onDelete) { selected.forEach((rec) => { - selected_list.push(parseInt(rec.data.id)) + if (rec.data.id){ + selected_list.push(parseInt(rec.data.id))} + else{ + if (this.activeActions.onDelete) { + selected.forEach((rec) => { + this.activeActions.onDelete(rec); + }) + } + + } }) - } var self = this; - var response = rpc.query({ - model: current_model, - method: 'unlink', - args: [selected_list], - }).then(function(response){ - self.rendererProps.list.model.load() - }); + if (selected_list.length != 0){ + var response = await rpc.query({ + model: current_model, + method: 'unlink', + args: [selected_list], + }).then(function(response){ + self.rendererProps.list.model.load() + }); + } } } @@ -57,19 +66,29 @@ export class TestX2ManyField extends X2ManyField { if (w_response){ let unselected = this.list.records.filter((rec) => !rec.selected) var unselected_list =[] - if (this.activeActions.onDelete) { unselected.forEach((rec) => { - unselected_list.push(parseInt(rec.data.id)) + if (rec.data.id){ + unselected_list.push(parseInt(rec.data.id)) + } + else{ + if (this.activeActions.onDelete) { + unselected.forEach((rec) => { + this.activeActions.onDelete(rec); + }) + } + + } }) - } var self = this; - var response = rpc.query({ - model: current_model, - method: 'unlink', - args: [unselected_list], - }).then(function(response){ - self.rendererProps.list.model.load() - }); + if (unselected_list.length != 0){ + var response = rpc.query({ + model: current_model, + method: 'unlink', + args: [unselected_list], + }).then(function(response){ + self.rendererProps.list.model.load() + }); + } } } }