Hello,
(I use ODOO v10)
I am getting an error while trying to add custom fields into hr.employee model. Below is the code -
My XML file -
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="employee_extn" model="ir.ui.view">
<field name="name">employee.extn</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_form"/>
<field name="arch" type="xml">
<xpath expr="//form/sheet/notebook/page[2]/group[1]/group[1]/field[@name='identification_id']" position="replace">
<label for="identification_id" string="Aadhaar Number"/>
</xpath>
<xpath expr="//form/sheet/notebook/page[2]/group[1]/group[2]/field[@name='address_home_id']" position="after">
<field name="address_perm_id"/>
</xpath>
<xpath expr="//form/sheet/notebook/page[2]/group[1]/group[4]/field[@name='birthday']" position="after">
<field name="wedding_date"/>
</xpath>
</field>
</record>
</data>
</odoo>
My .py file -
from odoo import models, fields, api, _
class EmpExtension{models.Model):
_name = "hr.employee"
_inherit = "hr.employee"
address_perm_id = fields.Many2one("res.partner", string="Permanent Address", store=True, help="Select or Enter the Permanent Address of employee")
contract_type = fields.Selection([("Regular", "Daily Wager")], string="Contract Type", store=True, help="Is this employee a Regular employee or contracted Daily Wager?")
wedding_date = fields.Date(string="Wedding Date", store=True, help="Enter wedding date of employee")
joining_date = fields.Date(string="Date of Joining", store=True, help="Enter date on which employee joined this organization.")
joining_desig = fields.Char(string="Joining Designation", store=True, help="Enter Joining Designation of this employee.")
joining_salary = fields.Float(string="Joining Salary", required=True, store=True, help="Enter the consolidated salary paid / offered to employee at the time of joining the organization.")
current_salary = fields.Float(string="Current Salary", required=True, store=True, help="Enter the current consolidated salary paid to employee.")
attendance_type = fields.Char(string="Attendance Type", required=True, store=True, help="Choose how the attendance of this employee will be recorded. It could be Biometric, Card Swipe or Manual.")
I get error as below -
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\http.py", line 640, in _handle_exception
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\http.py", line 677, in dispatch
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\http.py", line 333, in _call_function
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\service\model.py", line 101, in wrapper
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\http.py", line 326, in checked_call
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\http.py", line 935, in __call__
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\http.py", line 506, in response_wrap
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\addons\web\controllers\main.py", line 889, in call_button
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\addons\web\controllers\main.py", line 877, in _call_kw
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\api.py", line 689, in call_kw
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\api.py", line 680, in call_kw_multi
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\addons\base\module\module.py", line 411, in button_immediate_install
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\addons\base\module\module.py", line 485, in _button_immediate_function
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\modules\registry.py", line 82, in new
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\modules\loading.py", line 339, in load_modules
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\modules\loading.py", line 237, in load_marked_modules
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\modules\loading.py", line 156, in load_module_graph
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\modules\loading.py", line 95, in _load_data
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\tools\convert.py", line 845, in convert_file
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\tools\convert.py", line 915, in convert_xml_import
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\tools\convert.py", line 796, in parse
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\tools\convert.py", line 799, in parse
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\tools\convert.py", line 707, in _tag_record
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\addons\base\ir\ir_model.py", line 1229, in _update
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\addons\base\ir\ir_ui_view.py", line 362, in create
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\models.py", line 3834, in create
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\fields.py", line 1041, in determine_inverse
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\addons\base\ir\ir_ui_view.py", line 220, in _inverse_arch
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\addons\base\ir\ir_ui_view.py", line 380, in write
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\models.py", line 3560, in write
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\models.py", line 3711, in _write
File "C:\Program Files (x86)\Odoo 10.0\server\odoo\models.py", line 1083, in _validate_fields
ParseError: "Error while validating constraint
Field `wedding_date` does not exist
Error context:
View `employee.extn`
[view_id: 1490, xml_id: n/a, model: hr.employee, parent_id: 874]
None" while parsing file:///c:/program files (x86)/odoo 10.0/server/odoo/addons/employee_extn/employee_extn.xml:4, near
<record id="employee_extn" model="ir.ui.view">
<field name="name">employee.extn</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_form"/>
<field name="arch" type="xml">
<data><xpath expr="//form/sheet/notebook/page[2]/group[1]/group[1]/field[@name='identification_id']" position="replace">
<label for="identification_id" string="Aadhaar Number"/>
</xpath>
<xpath expr="//form/sheet/notebook/page[2]/group[1]/group[2]/field[@name='address_home_id']" position="after">
<field name="address_perm_id"/>
</xpath>
<xpath expr="//form/sheet/notebook/page[2]/group[1]/group[4]/field[@name='birthday']" position="after">
<field name="wedding_date"/>
</xpath>
</data></field>
</record>