Odoo - 向列表视图添加复选框

时间:2016-08-03 00:19:04

标签: openerp odoo-8

我正在尝试在列表视图的每一行中添加一个复选框。

我有自己的模型继承'product.template',这意味着listview已经存在 在那里供我使用。问题是,可以通过继承来添加“复选框” listview,并使用'position'来指定我希望插入布尔值的位置,但是这个布尔值是 显示为无法选中或取消选中的复选框,因为父树不可编辑。

这一点的关键是要有一种方法来快速选择产品以执行自定义操作 更快。

也许我的方法有误。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您可以使用XPATH。

实施例: 这是product.template的原始树视图

     <record id="product_template_tree_view" model="ir.ui.view">
        <field name="name">product.template.product.tree</field>
        <field name="model">product.template</field>
        <field name="arch" type="xml">
            <tree string="Product">
                <field name="name"/>
                <field name="categ_id"/>
                <field name="type"/>
                <field name="state"/>
                <field name="uom_id" invisible="1"/>
            </tree>
        </field>
     </record>

现在我要在name字段之前添加XPATH以添加复选框(布尔值)。您可以在任何字段之后/之前设置自己的位置

                 <record id="product_template_tree_view_inherited" model="ir.ui.view">
                    <field name="name">product.template.product.tree.inherited</field>
                    <field name="model">product.template</field>
                    <field name="inherit_id" ref="product.product_template_tree_view" />
                    <field name="arch" type="xml">
                        <xpath expr="//tree/field[@name='name']" position="before>
                            <field name="boolean_field_name"/>
                        </xpath>
                    </field>
                 </record>

不要忘记在python文件中继承该类,添加布尔字段。

答案 1 :(得分:0)

您有两种编辑视图的选项。取决于您对系统的偏好。

保留原始功能:

  • 为您的模型创建一个序列高于原始序列的新视图。
  • 创建一个新动作,将view_type设置为form(使其可编辑)并将树视图指向新视图。
  • 为新操作创建新菜单

编辑原始功能

  • 使用xpath将您的字段添加到视图中
  • 编辑原始操作

备注:

运行中的view_type参数

  • tree =不可编辑
  • form = editable