diff --git a/hr_employee_age/__manifest__.py b/hr_employee_age/__manifest__.py index f97af4916c92..2ff1387747e8 100644 --- a/hr_employee_age/__manifest__.py +++ b/hr_employee_age/__manifest__.py @@ -20,7 +20,7 @@ { "name": "Employee Age", - 'version': '8.0.1.0.0', + 'version': '10.0.1.0.0', 'license': 'AGPL-3', 'author': "Salton Massally , " "Odoo Community Association (OCA)", @@ -33,5 +33,5 @@ "data": [ 'views/hr_employee.xml', ], - 'installable': False, + 'installable': True, } diff --git a/hr_employee_age/models/hr_employee.py b/hr_employee_age/models/hr_employee.py index 5716f250a62e..3fbe96e74c48 100644 --- a/hr_employee_age/models/hr_employee.py +++ b/hr_employee_age/models/hr_employee.py @@ -17,25 +17,27 @@ # along with this program. If not, see . # ############################################################################### -from datetime import datetime -from openerp import fields, models, api -from openerp.tools import DEFAULT_SERVER_DATE_FORMAT as OE_DFORMAT +from odoo import api, fields, models +from dateutil.relativedelta import relativedelta class HrEmployee(models.Model): _inherit = 'hr.employee' age = fields.Integer( - 'Age', + string='Age', readonly=True, compute='_compute_age' ) - @api.one + @api.multi + @api.depends('birthday') def _compute_age(self): - if self.birthday: - dBday = datetime.strptime(self.birthday, OE_DFORMAT).date() - dToday = datetime.now().date() - self.age = dToday.year - dBday.year - (( - dToday.month, dToday.day) < (dBday.month, dBday.day)) + for record in self: + if record.birthday: + record.age = relativedelta( + fields.Date.from_string(fields.Date.today()), + fields.Date.from_string(record.birthday)).years + else: + record.age = 0 diff --git a/hr_employee_age/views/hr_employee.xml b/hr_employee_age/views/hr_employee.xml index 7bcffec0be88..ca101e5bd8dc 100644 --- a/hr_employee_age/views/hr_employee.xml +++ b/hr_employee_age/views/hr_employee.xml @@ -1,19 +1,12 @@ - - - - - - hr.employee.view.form - hr.employee - - - - - - - - - - - - + + + hr.employee.view.form + hr.employee + + + + + + + +