Buttons list of wizard.State is not copied by deepcopy
I have a module add new class wizard:
class TestClass(Wizard):
__name__ = 'test.class'
start = StateTransition()
picking = StateView('test.class.view',
......
tasktodo = StateTransition()
result = StateView('test.class.result',
'module.test_class_result', [
Button('Done', 'end', 'tryton-ok'),
])
I have three modules inherit TestClass to do more features.
One module, add new btn in result view.
@classmethod
def __setup__(cls):
super(TestClass, cls).__setup__()
# add new button: Save Photo
cls.result.buttons.insert(0,
Button('Save Photo', 'photo', 'tryton-go-next', True))
When I installed three modules inherit TestClass , I detect this new button (Save Photo), are duplicated (three modules = three buttons = three registration class).
It looks like the buttons list of wizard.State is not copied by deepcopy:
http://hg.tryton.org/trytond/file/4ff4668e7f2c/trytond/wizard/wizard.py#l186
( Start feedback in https://groups.google.com/forum/#!topic/tryton/6iSP5hm0oAM )