在继承的模块上显示来自新res.partner联系人类型的字段 - Odoo v9社区

时间:2017-03-08 17:59:58

标签: python openerp qweb

我已经继承了res.partner这样的模型:

class Partner(models.Model):
    _inherit = 'res.partner'

    type = fields.Selection(selection_add=[(('mina', 'Mina'))])
    origen = fields.Char(string="Origen")
    destino = fields.Char(string="Destino")

我添加了一个名为" mina"

的新类型

此新型联系人应仅显示这两个字段,origendestino

表单上显示了新的单选按钮,没关系,但是我无法弄清楚如何仅显示这两个字段,它只显示其他type的联系人字段,这是我的观点:

        <record id="view_partner_form_1" model="ir.ui.view">
        <field name="name">res.partner.form</field>
        <field name="model">res.partner</field>
        <field name='inherit_id' ref='base.view_partner_form'/>
        <field name="arch" type="xml">
            <xpath expr="//form//sheet//group//notebook" position="after">
                <form string="Minas">
                                <sheet>
                                    <field name="type" required="1" widget="radio" options="{'horizontal': true}"/>
                                    <hr/>
                                    <group>
                                        <group attrs="{'invisible': [('type','=', 'mina')]}">
                                        </group>
                                        <group>
                                            <field name="origen" string="Origen" attrs="{'required' : [('type', '=', 'mina')]}"/>
                                            <field name="destino" string="Destino" attrs="{'required' : [('type', '=', 'mina')]}"/>
                                        </group>
                                    </group>
                                </sheet>
                            </form>
                      </xpath>
               </field>
        </record>

有关于此的任何想法吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

位置after表示您向视图添加更多元素,如果要修改现有字段,请改用位置attributes。您可以使用以下代码使其他字段不可见:

<xpath expr="//field[@name='field_name']" position="attributes">
    <attribute name="attrs">{'invisible': [...]}</attribute>
</xpath>