diff --git a/production.py b/production.py index d849dd950f..f6e7540935 100644 --- a/production.py +++ b/production.py @@ -98,6 +98,7 @@ class Production(metaclass=PoolMeta): for production in draft_productions: works.extend(production.get_works(work_center_picker)) Work.save(works) + Work.set_state([w for p in productions for w in p.works]) def get_works(self, work_center_picker): if not self.routing: diff --git a/work.py b/work.py index a265801521..c823790935 100644 --- a/work.py +++ b/work.py @@ -210,7 +210,7 @@ class Work(sequence_ordered(), ModelSQL, ModelView): @property def _state(self): - if self.production.state == 'waiting': + if self.production.state == 'waiting' and not self.cycles: return 'request' elif self.production.state == 'done': return 'done'