Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
5 Trả lời
9397 Lượt xem

Hi,

In my base module, i have few fields defined in a group and i want to add a custom field in that group with the other fields. Currently i'm replacing the entire group because if i just add my custom field in between other fields using xpath, it is ruining the view of other fields. I just want to know is there any better way to do it than having to replace the entire group for just one field?

Base module code:

<field name="function" placeholder="e.g. Sales Director"
attrs="{'invisible': [('is_company','=', True)]}"/>
<field name="phone" widget="phone"/>
<field name="mobile" widget="phone"/>
<field name="user_ids" invisible="1"/>
<field name="email" widget="email" context="{'gravatar_image': True}"
attrs="{'required': [('user_ids','!=', [])]}"/>
<field name="website" widget="url" placeholder="e.g. www.odoo.com"/>
<field name="title" options='{"no_open": True}'
attrs="{'invisible': [('is_company', '=', True)]}"/>
<field name="lang"/>
<field name="category_id" widget="many2many_tags"
options="{'color_field': 'color', 'no_create_edit': True}" placeholder="Tags..."/>

Inherited module code:

<xpath expr="//form/sheet/group[1]/group[2]" position="replace">
<group>
<field name="function" placeholder="e.g. Sales Director"
attrs="{'invisible': [('is_company','=', True)]}"/>
<field name="phone" widget="phone"/>
<field name="mobile" widget="phone"/>
<field name="fax" widget="phone"/>
<field name="user_ids" invisible="1"/>
<field name="email" widget="email" context="{'gravatar_image': True}"
attrs="{'required': [('user_ids','!=', [])]}"/>
<field name="website" widget="url" placeholder="e.g. www.odoo.com"/>
<field name="title" options='{"no_open": True}'
attrs="{'invisible': [('is_company', '=', True)]}"/>
<field name="lang"/>
<field name="category_id" widget="many2many_tags"
options="{'color_field': 'color', 'no_create_edit': True}" placeholder="Tags..."/>
</group>
</xpath>

Thanks

P.S: I want to add fax field after the field mobile and keep the rest of the fields as it is in base module.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Inherit and simply add

position='after'

<field name="mobile" position="after">
    <field name="fax"/>
</field>
Ảnh đại diện
Huỷ bỏ
Tác giả

That is ruining the view of other fields i.e., my field fax gets displayed after a tab space of the field mobile

Tác giả

It won't even display the added field sometimes.

Câu trả lời hay nhất

<xpath expr="//field[@name='user_ids']" position="replace">

<field name="fax"/>

</xpath>

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

<xpath expr="//field[@name='mobile']" position="after">

<field name="fax" />

</xpath>

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
4
thg 8 21
66984
3
thg 4 19
6666
1
thg 4 19
5551
1
thg 3 19
10503
0
thg 12 23
45