fix depends

This commit is contained in:
?ngel ?lvarez 2018-07-01 18:10:47 +02:00
parent 246d12a54c
commit 47915d8df5
2 changed files with 5 additions and 4 deletions

2
bom.py
View File

@ -17,7 +17,7 @@ class BOM:
drawing_image = fields.Function(fields.Binary('Drawing Image'),
'on_change_with_drawing_image')
@fields.depends('drawing')
@fields.depends('drawing', 'drawing_lines')
def on_change_with_drawing_lines(self):
if not self.drawing:
to_remove = [x.id for x in self.drawing_lines]

View File

@ -24,6 +24,7 @@ class Production:
super(Production, cls).__setup__()
cls.bom.on_change.add('drawing_lines')
@fields.depends('bom')
def on_change_bom(self):
super(Production, self).on_change_bom()
self.drawing = (self.bom.drawing.id if self.bom and self.bom.drawing
@ -31,10 +32,10 @@ class Production:
self.on_change_with_drawing_image()
self.on_change_with_drawing_lines()
@fields.depends('drawing')
@fields.depends('bom', 'drawing', 'drawing_lines')
def on_change_with_drawing_lines(self):
if not self.bom or not self.bom.drawing:
to_remove = [x.id for x in getattr(self, 'drawing_lines')]
if not self.bom or not self.bom.drawing and hasattr(self, 'drawing_lines'):
to_remove = [x.id for x in getattr(self, 'drawing_lines', [])]
return {
'remove': to_remove,
}