Validate current record before new, edit, next and previous in one2many
This commit is contained in:
1 parent
c392db8677
commit
b84fa18767
1 file changed
+17
@@ -214,6 +214,10 @@ class One2Many(WidgetInterface):
|
||||
|
||||
def _sig_new(self, widget):
|
||||
self.view.set_value()
|
||||
if self.screen.current_record:
|
||||
if not self.screen.current_record.validate():
|
||||
self.screen.display()
|
||||
return
|
||||
ctx = {}
|
||||
ctx.update(self.record.expr_eval(self.attrs.get('context', {})))
|
||||
sequence = None
|
||||
@@ -244,14 +248,27 @@ class One2Many(WidgetInterface):
|
||||
def _sig_edit(self, widget=None):
|
||||
self.view.set_value()
|
||||
if self.screen.current_record:
|
||||
if not self.screen.current_record.validate():
|
||||
self.screen.display()
|
||||
return
|
||||
win = WinForm(self.screen, self.window)
|
||||
win.run()
|
||||
win.destroy()
|
||||
|
||||
def _sig_next(self, widget):
|
||||
self.view.set_value()
|
||||
if self.screen.current_record:
|
||||
if not self.screen.current_record.validate():
|
||||
self.screen.display()
|
||||
return
|
||||
self.screen.display_next()
|
||||
|
||||
def _sig_previous(self, widget):
|
||||
self.view.set_value()
|
||||
if self.screen.current_record:
|
||||
if not self.screen.current_record.validate():
|
||||
self.screen.display()
|
||||
return
|
||||
self.screen.display_prev()
|
||||
|
||||
def _sig_remove(self, widget, remove=False):
|
||||
|
||||
Reference in new issue
Block a user