Odoo Help

5
1
Emipro
On 5/22/15, 2:36 AM

Hi,

To achieve your goal that inherit one view and do not want to change in base view then you have to define new view of the same object without inherit any other view. If you have perform inheritance then base view will always be changed.

So, just make your own new view and set it inside your menu/action. thats it.


Thanks for your answer, but what I want is not to have the same code of the view repeated two times: in the base view and the inheriting view. I only want to delete one element from the base view in my inheriting view without repeating the same xml code. It is the 'don't repeat yourself' principle. But I'm not sure whether this is possible in Odoo.

Eduardo BP
on 5/22/15, 10:53 AM
0
Sehrish
On 3/27/18, 6:59 AM

In Odoo/OpenERP we can inherit or use existing modules object/class/model and views. We can also inherit single field of existing modules. The question is why we need such inheritance.

The purpose of inheritance or why we need inheritance is given below:

  1. To change attributes of some fields which exists on existing/custom model (e.g. making fields readonly,invisible)

  2. To add/modify/delete old or new fields in existing/custom model (e.g. Product, Sales, HR, Fleet Management, Attendance modules model etc)

  3. We can also add buttons in already existing/custom model (form and tree) view by using inheritance

Models.py

class groups(models.Model):
 _inherit = 'res.groups'
 # we inherited res.groups model which is Odoo/OpenERP built in model and created two fields in that model.
 field_1 = fields.Char(required=True,string="Field One")
 field_2 = fields.Boolean(default=False,string="Field Two") 

XML

<openerp>
    <data>
        <record model="ir.ui.view" id="res_group_form_view_inherited">
            <field name="name">res.group.form.view.inherited</field>
            <field name="model">res.groups</field>
            <field name="inherit_id" ref="base.view_groups_form" />
            <!-- <field name="groups_id" eval="[(6, 0, [ref('obe_core.obe_coordinator')])]"/> -->
            <field name="priority" eval="15"/>
            <field name="arch" type="xml">

                <xpath expr="//field[@name='name']" position="after">
                    <field  name="field_1"/>
                </xpath>                
                
                <xpath expr="//field[@name='user_name']" position="after">
                    <field  name="field_2"/>
                </xpath>        

            </field>                               
        </record>
    </data>
</openerp>  

You can get more detail about inheritance from below link:

\http://learnopenerp.blogspot.com/2018/01/inheritance-in-models-and-views.html

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

3 follower(s)

Stats

Asked: 5/21/15, 11:44 PM
Seen: 8809 times
Last updated: 11/6/18, 5:20 AM