From c1b61bfd054657bd0ec670ed5e4a885d14b60027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Tue, 21 May 2013 12:29:44 +0200 Subject: [PATCH] Honor keyword_open in board when defined review859002 --- tryton/gui/window/view_board/action.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/tryton/gui/window/view_board/action.py b/tryton/gui/window/view_board/action.py index d53900ff2a..a14b74fb66 100644 --- a/tryton/gui/window/view_board/action.py +++ b/tryton/gui/window/view_board/action.py @@ -10,6 +10,7 @@ import gettext from tryton.signal_event import SignalEvent from tryton.gui.window.win_form import WinForm from tryton.common import RPCExecute, RPCException +from tryton.action import Action as GenericAction _ = gettext.gettext @@ -92,12 +93,20 @@ class Action(SignalEvent): if not self.screen.current_record: return - def callback(result): - if result: - self.screen.current_record.save() - else: - self.screen.current_record.cancel() - WinForm(self.screen, callback) + if (self.screen.current_view.view_type == 'tree' and + self.screen.current_view.widget_tree.keyword_open): + GenericAction.exec_keyword('tree_open', { + 'model': self.screen.model_name, + 'id': self.screen.id_get(), + 'ids': [self.screen.id_get()], + }, context=self.screen.context.copy(), warning=False) + else: + def callback(result): + if result: + self.screen.current_record.save() + else: + self.screen.current_record.cancel() + WinForm(self.screen, callback) def set_value(self, mode, model_field): self.screen.current_view.set_value()