|
|
@ -8,6 +8,8 @@ odoo.define('one2many_mass_select_delete.form_widgets', function (require) { |
|
|
|
var rpc = require('web.rpc'); |
|
|
|
var FieldOne2Many = require('web.relational_fields').FieldOne2Many; |
|
|
|
var _t = core._t; |
|
|
|
var FormController = require('web.FormController'); |
|
|
|
var core = require('web.core'); |
|
|
|
|
|
|
|
ListRenderer.include({ |
|
|
|
_updateSelection: function() { |
|
|
@ -31,11 +33,46 @@ odoo.define('one2many_mass_select_delete.form_widgets', function (require) { |
|
|
|
$('.button_select_order_lines').hide() |
|
|
|
} |
|
|
|
this.$('thead .o_list_record_selector input').prop('checked', allChecked); |
|
|
|
this.trigger_up('selection_changed', { selection: this.selection }); |
|
|
|
this.trigger_up('selection_changed', { |
|
|
|
selection: this.selection |
|
|
|
}); |
|
|
|
this._updateFooter(); |
|
|
|
}, |
|
|
|
}) |
|
|
|
|
|
|
|
FormController.include({ |
|
|
|
_onQuickEdit: function(ev) { |
|
|
|
ev.stopPropagation(); |
|
|
|
}, |
|
|
|
_setEditMode: function() { |
|
|
|
this._disableButtons(); |
|
|
|
this.selection = []; |
|
|
|
var self = this; |
|
|
|
var $inputs = this.$('tbody .o_list_record_selector input:visible:not(:disabled)'); |
|
|
|
var allChecked = $inputs.length > 0; |
|
|
|
$inputs.each(function(index, input) { |
|
|
|
console.log(input.checked) |
|
|
|
if (input.checked) { |
|
|
|
self.selection.push($(input).closest('tr').data('id')); |
|
|
|
} else { |
|
|
|
allChecked = false; |
|
|
|
} |
|
|
|
}); |
|
|
|
return this.mutex.getUnlockedDef() |
|
|
|
.then(this._setMode.bind(this, 'edit')) |
|
|
|
.then(this._enableButtons.bind(this)) |
|
|
|
.guardedCatch(this._enableButtons.bind(this)); |
|
|
|
}, |
|
|
|
saveRecord: async function() { |
|
|
|
var $inputs = this.$('tbody .o_list_record_selector input:visible:not(:disabled)'); |
|
|
|
var allChecked = $inputs.length > 0; |
|
|
|
$inputs.each(function(index, input) { |
|
|
|
console.log(input.checked) |
|
|
|
}); |
|
|
|
return this._super.apply(this, arguments); |
|
|
|
}, |
|
|
|
}); |
|
|
|
|
|
|
|
var One2manyDelete = FieldOne2Many.extend({ |
|
|
|
template: 'One2manyDelete', |
|
|
|
events: { |
|
|
@ -43,16 +80,18 @@ odoo.define('one2many_mass_select_delete.form_widgets', function (require) { |
|
|
|
"click .button_select_order_lines": "selected_lines", |
|
|
|
}, |
|
|
|
init: function() { |
|
|
|
var self = this; |
|
|
|
this._super.apply(this, arguments); |
|
|
|
}, |
|
|
|
delete_selected_lines: function() |
|
|
|
{ |
|
|
|
delete_selected_lines: function() { |
|
|
|
var self = this; |
|
|
|
var current_model = this.recordData[this.name].model; |
|
|
|
var selected_lines = self.find_deleted_lines(); |
|
|
|
if (selected_lines.length === 0) |
|
|
|
{ |
|
|
|
return this.displayNotification({ message: _t('Please Select at least One Record.'), type: 'danger' }); |
|
|
|
if (selected_lines.length === 0) { |
|
|
|
return this.displayNotification({ |
|
|
|
message: _t('Please Select at least One Record.'), |
|
|
|
type: 'danger' |
|
|
|
}); |
|
|
|
} |
|
|
|
var w_response = confirm("Dou You Want to Delete ?"); |
|
|
|
if (w_response) { |
|
|
@ -66,18 +105,18 @@ odoo.define('one2many_mass_select_delete.form_widgets', function (require) { |
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
selected_lines: function() |
|
|
|
{ |
|
|
|
selected_lines: function() { |
|
|
|
var self = this; |
|
|
|
var current_model = this.recordData[this.name].model; |
|
|
|
var selected_lines = self.find_selected_lines(); |
|
|
|
if (selected_lines.length === 0) |
|
|
|
{ |
|
|
|
return this.displayNotification({ message: _t('Please Select at least One Record.'), type: 'danger' }); |
|
|
|
if (selected_lines.length === 0) { |
|
|
|
return this.displayNotification({ |
|
|
|
message: _t('Please Select at least One Record.'), |
|
|
|
type: 'danger' |
|
|
|
}); |
|
|
|
} |
|
|
|
var w_response = confirm("Dou You Want to Select ?"); |
|
|
|
if (w_response) { |
|
|
|
|
|
|
|
rpc.query({ |
|
|
|
'model': current_model, |
|
|
|
'method': 'unlink', |
|
|
@ -111,8 +150,8 @@ odoo.define('one2many_mass_select_delete.form_widgets', function (require) { |
|
|
|
return selected_list; |
|
|
|
}, |
|
|
|
|
|
|
|
find_selected_lines: function () |
|
|
|
{ var self = this; |
|
|
|
find_selected_lines: function() { |
|
|
|
var self = this; |
|
|
|
var selected_list = []; |
|
|
|
var selected_list1 = []; |
|
|
|
var selected_list2 = []; |
|
|
|