odoo button type("object","action","workflow")

根据按钮的不同类型,type有不同的值

type = “object”

需要在py文件中定义一个方法,并且在button的name属性值与方法名相同

# python文件中
def some_code(self):
    pass
<xml>
    <record>
            <button name="some_code" type="object"/>
    </record>
</xml>

点击按钮则会调用py文件的some_code方法

type=”action”

用于页面中视图的跳转,name属性为”%(moduleName.id)d”

  • moduleName:模块名
  • id:想要显示的视图的id
<record id="action_asset_modify" model="ir.actions.act_window">
     <field name="name">Modify Asset</field>
     <field name="res_model">asset.modify</field>
     <field name="type">ir.actions.act_window</field>
     <field name="view_type">form</field>
     <field name="view_mode">tree,form</field>
     <field name="view_id" ref="asset_modify_form"/>
     <field name="target">new</field>
</record>
<button name="stock.action_asset_modify" type="action"/>

点击按钮,则会跳转到id为“action_asset_modify”的视图页面

type=”workflow”

向工作流实例传递信号已达到活动的转换条件

<button name="confirm" type="workflow"
                       string="Confirm" states="draft"
                       class="oe_highlight"/>

<record model="workflow.activity" id="draft">
    <field name="name">Draft</field>
    <field name="wkf_id" ref="wkf_session"/>
    <field name="flow_start" eval="True"/>
    <field name="kind">function</field>
    <field name="action">action_draft()</field>
</record>
<record model="workflow.activity" id="confirmed">
    <field name="name">Confirmed</field>
    <field name="wkf_id" ref="wkf_session"/>
    <field name="kind">function</field>
    <field name="action">action_confirm()</field>
</record>

<record model="workflow.transition" id="session_draft_to_confirmed">
    <field name="act_from" ref="draft"/>
    <field name="act_to" ref="confirmed"/>
    <field name="signal">confirm</field>
</record>

点击确认按钮,将confirm信号发送给当前工作流实例,触发转换条件(活动从“draft”到“confirmed”),然后开始处理活动“confirmed”,执行action_confirm()函数将状态从draft改变为confirm.

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值