Disable remove button of Many2Many if all selected records are already removed

This commit is contained in:
Cédric Krier committed 2024-09-24 14:55:14 +02:00
1 parent 158069f42b
commit f496ca79d6
2 files changed
+13 -1

No files matched your search

+8 -1
View File
@@ -4083,10 +4083,17 @@ function eval_pyson(value){
(m2m_size >= field_size) && (field_size >= 0));
}
var removable =
this.screen.selected_records.some((r) => !r.deleted && !r.removed);
this.entry.prop('disabled', this._readonly || !record);
this.but_add.prop('disabled', this._readonly || !record || size_limit);
this.but_remove.prop(
'disabled', this._readonly || !record || this._position === 0);
'disabled',
this._readonly ||
!record ||
!removable ||
this._position === 0);
},
record_message: function(position, size) {
this._position = position;
@@ -284,11 +284,16 @@ class Many2Many(Widget):
else:
size_limit = False
removable = any(
not r.deleted and not r.removed
for r in self.screen.selected_records)
self.but_add.set_sensitive(bool(
not self._readonly
and not size_limit))
self.but_remove.set_sensitive(bool(
not self._readonly
and removable
and self._position))
def record_message(self, position, size, *args):