# Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, fields, models from odoo.tools.translate import _ from datetime import timedelta class HrEmployee(models.Model): _inherit = "hr.employee" newly_hired_employee = fields.Boolean('Newly hired employee', compute='_compute_newly_hired_employee', search='_search_newly_hired_employee') applicant_id = fields.One2many('hr.applicant', 'emp_id', 'Applicant') def _compute_newly_hired_employee(self): now = fields.Datetime.now() for employee in self: employee.newly_hired_employee = bool(employee.create_date > (now - timedelta(days=90))) def _search_newly_hired_employee(self, operator, value): employees = self.env['hr.employee'].search([ ('create_date', '>', fields.Datetime.now() - timedelta(days=90)) ]) return [('id', 'in', employees.ids)] @api.model_create_multi def create(self, vals_list): employees = super().create(vals_list) for employee in employees: if employee.applicant_id: employee.applicant_id._message_log_with_view( 'hr_recruitment.applicant_hired_template', values={'applicant': employee.applicant_id}, subtype_id=self.env.ref("hr_recruitment.mt_applicant_hired").id) return employees