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'):
         '''

Reply via email to