执行"动作"在状态栏小部件中

时间:2016-04-28 15:42:38

标签: openerp action statusbar odoo-8

我有一个状态栏小部件的字段,我想如果我按状态栏中的按钮启动一个功能,(像onchange这样的东西),有些帮助吗?

3 个答案:

答案 0 :(得分:0)

您可以直接使用onchange,也可以扩展状态栏小部件。

答案 1 :(得分:0)

这是步骤:

  1. 在xml中创建clickable="True"

       <header>
        <field name="state"  widget="statusbar" clickable="True" />           
      </header>
    
  2. 在模型中创建一个具有装饰器@api.onchange('state')的方法,如:

    @api.onchange('state')
    def do_my_job(self):
     #place your code here
     pass
    
  3. 希望这对您的情况有所帮助。

答案 2 :(得分:0)

试试这个:

xml文件

<button name="action_draft" type="object"
                            string="Reset to draft"
                            states="confirm"/>
<button name="action_confirm" type="object"
                                    string="Confirm" states="draft"
                                    class="oe_highlight"/>
<field name="state" widget="statusbar"/>

.py文件

def action_draft(self):
    self.state = 'draft'

def action_confirm(self):
    self.state = 'confirm'