zoukankan      html  css  js  c++  java
  • odoo 通过button跳转到tree视图,并传递domain

    跳转到视图的按钮类型,目前我知道的有两种,一种是object,即通过定义相应的方法来返回相关的视图,另一种是action,可以直接跳转到对应的视图

    举例如下:

                        <button name="button_get_product_quantity" type="object" string="查询可用量"/>
                        <!--button_get_product_quantity 是一个定义的方法-->
                        <field name="id" invisible="1"/>
                        <button name="%(sale_order_line_part_action_tree)d" type="action" string="配件信息" context="{'default_order_line_id':id}"/>
                        <!--sale_order_line_part_action_tree 是一个窗口动作-->
    

    第一种传递domain比较简单,可以直接在函数返回的动作视图中添加domain,domain 的数据可以直接在函数中获取,此处不再赘述
    第二种传递domain需要借助context实现:

    1. 在原视图中的button设置context,本例中设置的上下文:context="{'default_order_line_id':id}"
    2. 在动作视图中将context 的值取出,context.get('default_order_line_id', True),并定义到domain字段中:
    <record id="sale_order_line_part_action_tree" model="ir.actions.act_window">
        <field name="name">sale.order.line.part.action</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">sale.order.line.part</field>
        <field name="view_mode">tree,form</field>
        <field name="view_type">form</field>
        <field name="domain">[('order_line_id','=',context.get('default_order_line_id', True))]</field>
        <field name="help" type="html">
        <field name="target">new</field>
            <p class="oe_view_nocontent_create">
                <!-- Add Text Here -->
            </p><p>
                <!-- More details about what a user can do with this object will be OK -->
            </p>
        </field>
    </record>
    
  • 相关阅读:
    学习记录(1):intellij idea 导入gradle
    javac不是内部或外部命令
    robot framework测试https接口实例
    py文件变成可执行exe ,遇到的问题及解决方法
    python 实现爬虫下载网页的方法
    [Usaco2009 Open]干草堆
    【题解】[USACO17JAN]Balanced Photo G
    【题解】[BalticOI 2014]friends
    从恒定状态出发,求解未知状态
    Scoi 组队
  • 原文地址:https://www.cnblogs.com/qianxunman/p/12389946.html
Copyright © 2011-2022 走看看