From 3751379f1e9a4c215fb6eb898b4ccc67659b9ace Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 10 May 2022 21:51:50 +0700 Subject: initial commit 2 --- addons/hr_recruitment/models/hr_employee.py | 34 +++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 addons/hr_recruitment/models/hr_employee.py (limited to 'addons/hr_recruitment/models/hr_employee.py') diff --git a/addons/hr_recruitment/models/hr_employee.py b/addons/hr_recruitment/models/hr_employee.py new file mode 100644 index 00000000..8640872d --- /dev/null +++ b/addons/hr_recruitment/models/hr_employee.py @@ -0,0 +1,34 @@ +# 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 + def create(self, vals): + new_employee = super(HrEmployee, self).create(vals) + if new_employee.applicant_id: + new_employee.applicant_id.message_post_with_view( + 'hr_recruitment.applicant_hired_template', + values={'applicant': new_employee.applicant_id}, + subtype_id=self.env.ref("hr_recruitment.mt_applicant_hired").id) + return new_employee -- cgit v1.2.3