This question has been flagged
1 Reply
5324 Views

hi 

i have form person as parent , parent has child employee and customer forms .

i want to inherit form parent  as following :

py file is :

class co_person(osv.osv):

_name ='co.person'

 _columns = {

         'first_Name':fields.char('First Name', size=15, required=True),
         'last_Name':fields.char('Last Name', size=15, required=True),
         'father_Name':fields.char('Father Name', size=15, required=True),

'customer_ids': fields.one2many('co.customer', 'person_id', 'Customer'),

 'employee_ids': fields.one2many('co.employee', 'person_id', 'Employee'),

}

'co.person()

code xml is for child

<!-- child employee -->

<record id="view_employee_form" model="ir.ui.view">
            <field name="name">co.employee.form.inherit</field>
            <field name="model">co.person</field>
            <field name="priority">2</field>
           <field name="inherit_id" ref="Co.view_co_person_form"/>
            <field name="arch" type="xml">
                 <notebook position="inside">
                 
                    <page string="Employee" >
                        <field name="employee_ids" nolabel="1"/>
                    </page>
                </notebook>

<!-- child  Customer -->

<record id="view_co_customer_form" model="ir.ui.view">
            <field name="name">co.customer.form.inherit</field>
            <field name="model">co.person</field>
            <field name="priority">3</field>
           <field name="inherit_id" ref="Co.view_co_person_form"/>
            <field name="arch" type="xml">
                 <notebook position="inside">
                 
                    <page string="Customer" >
                        <field name="customer_ids" nolabel="1"/>
                    </page>
                </notebook>

            </field>
    </record>

            </field>
    </record>

the problem is that  when click in menuitem employee or  menuitem cutomer show both pages  customer and employee 

please can help how solve this thank you in advance 

Avatar
Discard

Can you explain the context of this, what are you trying to achieve, because you might a problem in your modeling.

Author Best Answer

fily py is :

from osv import fields,osv
from datetime import datetime, timedelta

class co_person(osv.osv):
    _name ='co.person'
    _rec_name='first_Name'
   
    _columns = {

         'first_Name':fields.char('First Name', size=15, required=True),
         'last_Name':fields.char('Last Name', size=15, required=True),
         'father_Name':fields.char('Father Name', size=15, required=True),
         'mother_Name':fields.char('Mother Name', size=15),
         'national_ID_Number':fields.char('National ID Number', size=20),
         'birth_date':fields.date('Birth Date',required=True),
         'birth_date_Hijri':fields.date('Birth date (Hijri)',readonly=True),
         'place_Of_Date':fields.char('Place Of Date', size=15),
         'home_Phone':fields.char('Home Phone', size=15),
         'work_phone':fields.char('Work phone', size=15),
         'education_Level':fields.selection([('1','Elementary'),('2','preparatory'),('3','secondary'),('4','Graduate'),('5','High Education')],'Education   Level'),
         'gender': fields.selection([('male', 'Male'),('female', 'Female')], 'Gender'),
             'marital': fields.selection([('single', 'Single'), ('married', 'Married'), ('widower', 'Widower'), ('divorced', 'Divorced')], 'Marital Status'),
         'major':fields.char('Major', size=15),
         'year_OF_Study':fields.selection([('F','First'),('S','Second'),('T','Third'),('Fo','Forth'),('Fi','Fifth'),('O','other')],'Year OF Study'),
         'customer_ids': fields.one2many('co.customer', 'person_id', 'Customer'),
         'employee_ids': fields.one2many('co.employee', 'person_id', 'Employee'),

    

    }
co_person()

class co_employee(osv.osv):
    _name ='co.employee'
    _rec_name='person_id'
    
   
    _columns = {
         'entry_Date':fields.date('Entry Date'),
         'job':fields.char('Job',size=50, required=True),
         'person_id': fields.many2one('co.person', 'Employee'),
    }

co_employee()
   
class co_customer(osv.osv):
    _name ='co.customer'
    _rec_name='person_id'
    _columns = {
         'priority':fields.selection([('first','First'),('second','Second'),('third','Third')],'Priority'),
         'person_id': fields.many2one('co.person', 'Customer'),
    }
 
co_customer()

xml  file is :

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
    
        <menuitem name="Person/Person" id="menu_person"/>-->
        <record model="ir.ui.view" id="view_co_person_form">
        <field name="name">co.person.form</field>
        <field name="model">co.person</field>
        <field name="type">form</field>

        <field name="arch" type="xml">
            <form string="person" version="7.0">
                <sheet>
                       <h1>
                        <label string="File : "/>
                       </h1>
                        <group>
                            <group >
                                <field name="first_Name" />
                                <field name="last_Name" />

                            </group>
                            <group >
                                <field name="father_Name" />
                                <field name="mother_Name" />
                            </group>
                            
                        </group>
                        <notebook>
                            
                            <page string="Contacts">
                            
                            <group >
                             <group >
                                <field name="home_Phone"  style="width: 50%%"/>
                                
                                </group >
                                <group >
                                
                                <field name="work_phone"  style="width: 50%%"/>
                                </group >
                                </group >
                                
                            </page>
                            <page string="ID Information">
                                
                                    <group >
                                        
                                        <field name="birth_date" style="width: 50%%"  />
                                        <field name="place_Of_Date" style="width: 50%%"   />
                                        <field name="gender" style="width: 50%%"   />
                                        <field name="marital" style="width: 50%%"   />
                                    </group>
                                        
                                
                            </page>
                            <page string="Studing &amp; Career">
                                <group>
                                    <group >
                                        <field name="career" style="width: 50%%"  />
                                        <field name="education_Level"  style="width: 50%%"   />

                                    </group>
                                    <group  >
                                        
                                        <field name="major"  style="width: 50%%"  />
                                        <field name="year_OF_Study"  style="width: 50%%"  />
                                    </group>
                                </group>
                            </page>
                        </notebook>
                </sheet>    
            </form>
        </field>
    </record>
    <record model="ir.ui.view" id="view_co_person_tree">
        <field name="name">co.person.tree</field>
        <field name="model">co.person</field>
        <field name="type">tree</field>
        <field name="arch" type="xml">
            <tree string="Personal Data">
                <field name="first_Name" />
                <field name="last_Name" />
                <field name="father_Name" />
                <field name="mother_Name"/>
                <field name="birth_date" />
            </tree>
        </field>
    </record>    
    <record id="action_co_person" model="ir.actions.act_window">
            <field name="name">Person Structure</field>
            <field name="res_model">co.person</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="view_id" ref="view_co_person_form"/>
            
    </record>                    
    <menuitem name="person" id="menu_co_person_item" parent="menu_person" action="action_co_person"/>

<!-- child employee -->

<record id="view_employee_form" model="ir.ui.view">
            <field name="name">co.employee.form.inherit</field>
            <field name="model">co.person</field>
            <field name="priority">2</field>
           <field name="inherit_id" ref="Co.view_co_person_form"/>
            <field name="arch" type="xml">
                 <notebook position="inside">
                 
                    <page string="Employee" >
                        <field name="employee_ids" nolabel="1"/>
                    </page>
                </notebook>

            </field>
 </record>                
    <record id="action_co_employee" model="ir.actions.act_window">
            <field name="name">employee</field>
            <field name="res_model">co.person</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="view_id" ref="view_co_person_form"/>
            
    </record>                    
    <menuitem name="Employee" id="menu_co_employee_item" parent="menu_person" action="action_co_employee"/>
<!-- child  Customer -->

<record id="view_co_customer_form" model="ir.ui.view">
            <field name="name">co.customer.form.inherit</field>
            <field name="model">co.person</field>
            <field name="priority">3</field>
           <field name="inherit_id" ref="Co.view_co_person_form"/>
            <field name="arch" type="xml">
                 <notebook position="inside">
                 
                    <page string="Customer" >
                        <field name="customer_ids" nolabel="1"/>
                    </page>
                </notebook>

            </field>
    </record>

<record id="action_co_customer" model="ir.actions.act_window">
            <field name="name">Customer</field>
            <field name="res_model">co.person</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="view_id" ref="view_co_person_form"/>
            
    </record>                    
    <menuitem name="Customer" id="menu_co_customer_item" parent="menu_person" action="action_co_customer"/>

</data>
</openerp>

Avatar
Discard