changeset b3ad9950eeff in trytond:5.0
details: https://hg.tryton.org/trytond?cmd=changeset;node=b3ad9950eeff
description:
Fill ModelView.__change_buttons in __post_setup__
Since the refactoring from a57cd35eec06, we loop only on fields in
__setup__
so button_change are not processed. And __change_buttons is not filled.
We fill it in the __post_setup__ when the _buttons dict is filled when
values.
issue8329
(grafted from b2ef0f79bfe27e9e3ddbe16a976af8d9eba880f3)
diffstat:
trytond/model/modelview.py | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diffs (17 lines):
diff -r 0feee4899116 -r b3ad9950eeff trytond/model/modelview.py
--- a/trytond/model/modelview.py Mon Apr 22 10:22:29 2019 +0200
+++ b/trytond/model/modelview.py Mon May 06 11:34:11 2019 +0200
@@ -208,6 +208,13 @@
cls.__rpc__.setdefault(button,
RPC(instantiate=0, result=on_change_result))
+ for parent_cls in cls.__mro__:
+ parent_meth = getattr(parent_cls, button, None)
+ if not parent_meth:
+ continue
+ cls.__change_buttons[button] |= getattr(
+ parent_meth, 'change', set())
+
@classmethod
def fields_view_get(cls, view_id=None, view_type='form'):
'''