2017-10-17 73 views
1

点击状态栏中的状态后,我需要改变状态,下面是我的例子我还需要添加什么?odoo中的可点击状态栏9

state = fields.Selection([ 
     ('draft', 'New'), 
     ('pending', 'To Renew'), 
     ('close', 'Expired'), 
    ], string='Status', default='draft') 


    @api.multi 
    def set_as_pending(self): 
     return self.write({'state': 'pending'}) 

    @api.multi 
    def set_as_close(self): 
     return self.write({'state': 'close'}) 

.XML

<field name="state" widget="statusbar" clickable="1" /> 
+1

状态栏中的点击将已经改变'state',因为在视图中它代表了字段(你的xml显示)。 – CZoellner

+0

@CZoellner Tnx的答案,在我的解决方案后点击我没有看到任何改变。我不知道问题在哪里。 – Pointer

回答

0

的clicable状态栏和功能之间的链路必须是平变化方法。我想你可以添加如下内容:

@api.onchange('state') 
def onchange_state(self): 
    if self.state == 'pending':  
     self.write({'state': 'pending'}) 
    #... your other states 

我希望这对你有所帮助!

+0

不适用于我.. – Pointer

+0

至少它到达交换? – Dayana