Tryton - Issues

 

Issue4948

Title Buttons list of wizard.State is not copied by deepcopy
Priority feature Status chatting
Superseder Nosy List resteve
Type Components trytond
Assigned To Keywords easy
Reviews

Created on 2015-09-02.15:19:10 by resteve, last changed by ced.

Messages
msg22266 (view) Author: [hidden] (resteve) Date: 2015-09-02.15:19:08
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 )
History
Date User Action Args
2015-11-05 20:22:21cedsetkeyword: + easy
2015-09-02 15:19:10restevecreate

Showing 10 items. Show all history (warning: this could be VERY long)