From f7d4f339dde770a45a2492e4890fac9ce298b214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Fri, 22 Mar 2024 11:37:49 +0100 Subject: [PATCH 1/2] Only trigger modified notification explicitely in O2M fields [CUSTOM] Fix PCLAS-279 --- sao/src/model.js | 4 +++- tryton/tryton/gui/window/view_form/model/field.py | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sao/src/model.js b/sao/src/model.js index 8e5b8dca2b9..50c60e797b5 100644 --- a/sao/src/model.js +++ b/sao/src/model.js @@ -2390,7 +2390,9 @@ } } // Trigger modified only once - group.record_modified(); + if (modified) { + group.record_modified(); + } } }, set: function(record, value, data=null, _default=false) { diff --git a/tryton/tryton/gui/window/view_form/model/field.py b/tryton/tryton/gui/window/view_form/model/field.py index 70e5266d13a..4d1ff96828b 100644 --- a/tryton/tryton/gui/window/view_form/model/field.py +++ b/tryton/tryton/gui/window/view_form/model/field.py @@ -794,7 +794,8 @@ def _set_value( new_record.set(vals, modified=False) group.append(new_record) # Trigger modified only once - group.record_modified() + if modified: + group.record_modified() def set(self, record, value, data=None, _default=False): group = record.value.get(self.name) From f8bb8b82d62fe100d872ba39b56ce3dd8f63ff5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Fri, 22 Mar 2024 12:17:01 +0100 Subject: [PATCH 2/2] Also trigger modified when setting a default value --- sao/src/model.js | 2 +- tryton/tryton/gui/window/view_form/model/field.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sao/src/model.js b/sao/src/model.js index 50c60e797b5..8f5901c3c6e 100644 --- a/sao/src/model.js +++ b/sao/src/model.js @@ -2390,7 +2390,7 @@ } } // Trigger modified only once - if (modified) { + if (modified || default_) { group.record_modified(); } } diff --git a/tryton/tryton/gui/window/view_form/model/field.py b/tryton/tryton/gui/window/view_form/model/field.py index 4d1ff96828b..9e1b6adf624 100644 --- a/tryton/tryton/gui/window/view_form/model/field.py +++ b/tryton/tryton/gui/window/view_form/model/field.py @@ -794,7 +794,7 @@ def _set_value( new_record.set(vals, modified=False) group.append(new_record) # Trigger modified only once - if modified: + if modified or default: group.record_modified() def set(self, record, value, data=None, _default=False):