This question has been flagged
3 Replies
6399 Views

I want to add fields to the product creation form in the Inventory app in order to fit my needs better however I can't find the view in order to do this i tried to look inside the app code and found that a few of the forms inherit product.product_template_form_view however i cannot find the actual view itself. I managed to add a field to the tab right at the end however ideally id like to create a separate tab where i can put whatever extra fields i need.

Using Odoo 11 any help would be appreciated

<record id="view_template_property_form" model="ir.ui.view">
<field
name="name">product.template.stock.property.form.inherit</field>
<field
name="model">product.template</field>
<field
name="inherit_id" ref="product.product_template_form_view"/>
<field
name="arch" type="xml">
<group
name="packaging" position="before">
<group
name="inventory">
<group
string="Operations" name="operations">
<field
name="route_ids" widget="many2many_checkboxes" attrs="{'invisible':[('type', 'in', ['service', 'digital'])]}"/>
<field
name="route_from_categ_ids" widget="many2many_tags" readonly="1" attrs="{'invisible':[('route_from_categ_ids', '=', [])]}"/>
<label
for="sale_delay"/>
<div>
<field
name="sale_delay" attrs="{'readonly':[('sale_ok','=',False)]}" class="oe_inline" style="vertical-align:baseline"/> days
</div>
</group>
<group
string="Logistics" name="group_lots_and_weight" attrs="{'invisible':[('type', 'not in', ['product', 'consu'])]}">
<label
for="weight"/>
<div
class="o_row" name="weight">
<field
name="weight"/>
<span>
kg</span>
</div>
<label
for="volume"/>
<div
class="o_row" name="volume">
<field
name="volume" string="Volume"/>
<span>
</span>
</div>
</group>
<group
string="Traceability" name="traceability" groups="stock.group_production_lot">
<field
name="tracking" widget="radio" attrs="{'invisible':[('type', 'in', ['service', 'digital'])]}"/>
</group>
<group
string="Counterpart Locations" name="stock_property" groups="base.group_no_one">
<field
name="property_stock_production" domain="[('usage','=','production')]"/>
<field
name="property_stock_inventory" domain="[('usage','=','inventory')]"/>
</group>
</group>
</group>
<group
name="description" position="after">
<group>
<group
string="Description for Delivery Orders">
<field
name="description_pickingout" nolabel="1" placeholder="This note will show up on delivery orders."/>
</group>
<group
string="Description for Receptions">
<field
name="description_pickingin" nolabel="1" placeholder="This note will show up on the receipt orders (e.g. where to store the product in the warehouse)."/>
</group>
<group
string="Description for Internal Transfers">
<field
name="description_picking" placeholder="This note will show up on internal transfer orders (e.g. where to pick the product in the warehouse)." nolabel="1"/>
</group>
</group>
<group
name="drscustomfields" position="after">
<group
string="CustomField">
<field
name="customfield1"/>
</group>
</group>
</group>
</field>
</record>


Avatar
Discard

Look into odoo customization: http://learnopenerp.blogspot.com

Best Answer

When you are in developer mode open view and choose "edit form view" - you will see that the basic view is:

product.product_template_only_form_view
Open the Inherited Views tab and you will see the views that are adding additional functions/tabs (try on Odoo runbot and you will see that there are 6 of them).

Remember that if you are using product variants the original view would be product.product_normal_form_view
model would be product.product in that case. Variants are inheriting basic stuff from product.template and also contain the specific attributes available for variants.

To add additional tab you can use code:

1) Specify where would be the new tab
<xpath expr="//page[@name='notes']" position="after">

2) Name it

<page string="Last Price">
3) Add text and fields

Sample use in this module: https://apps.odoo.com/apps/modules/10.0/product_last_price_tab/

Enjoy

Avatar
Discard
Best Answer

Hello Leke,

Activate Developer mode 

under that you can see edit for view, here you can get the actual xml id , by using xml id you can inherit it


Avatar
Discard