2017-03-08 56 views
0

我继承了res.partner模式是这样的:展场 - Odoo V9社区

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

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

我添加了一个新的类型,称为“米娜”

这种新的联系方式,应该只显示这两个字段,origendestino

Tje新的单选按钮显示在窗体上,没关系,但我无法弄清楚如何仅显示这两个字段,它只是显示另一个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

位置after意味着你追加更多要素来看,如果要修改现有的领域,利用职务之attributes代替。你可以使用下面的代码隐藏其他字段:

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

太棒了!谢谢 – NeoVe

相关问题