From cc8e5c2bc611c48df41b451a09af285ba1290fcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 28 Oct 2022 00:35:20 +0200 Subject: [PATCH] Update production work state on write Writing on the One2Many cycles may modify the state of the work. issue11823 review426021003 --- work.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/work.py b/work.py index a8cea0af86..a265801521 100644 --- a/work.py +++ b/work.py @@ -227,7 +227,9 @@ class Work(sequence_ordered(), ModelSQL, ModelView): @classmethod def set_state(cls, works): for work in works: - work.state = work._state + state = work._state + if work.state != state: + work.state = state cls.save(works) def get_rec_name(self, name): @@ -250,6 +252,12 @@ class Work(sequence_ordered(), ModelSQL, ModelView): cls.set_state(works) return works + @classmethod + def write(cls, *args): + super().write(*args) + works = sum(args[0:None:2], []) + cls.set_state(works) + @classmethod def delete(cls, works): for work in works: