# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, fields, models class Employee(models.Model): _inherit = 'hr.employee' resume_line_ids = fields.One2many('hr.resume.line', 'employee_id', string="Resumé lines") employee_skill_ids = fields.One2many('hr.employee.skill', 'employee_id', string="Skills") @api.model_create_multi def create(self, vals_list): res = super(Employee, self).create(vals_list) resume_lines_values = [] for employee in res: line_type = self.env.ref('hr_skills.resume_type_experience', raise_if_not_found=False) resume_lines_values.append({ 'employee_id': employee.id, 'name': employee.company_id.name or '', 'date_start': employee.create_date.date(), 'description': employee.job_title or '', 'line_type_id': line_type and line_type.id, }) self.env['hr.resume.line'].create(resume_lines_values) return res class EmployeePublic(models.Model): _inherit = 'hr.employee.public' resume_line_ids = fields.One2many('hr.resume.line', 'employee_id', string="Resumé lines") employee_skill_ids = fields.One2many('hr.employee.skill', 'employee_id', string="Skills") class ResumeLine(models.Model): _name = 'hr.resume.line' _description = "Resumé line of an employee" _order = "line_type_id, date_end desc, date_start desc" employee_id = fields.Many2one('hr.employee', required=True, ondelete='cascade') name = fields.Char(required=True) date_start = fields.Date(required=True) date_end = fields.Date() description = fields.Text(string="Description") line_type_id = fields.Many2one('hr.resume.line.type', string="Type") # Used to apply specific template on a line display_type = fields.Selection([('classic', 'Classic')], string="Display Type", default='classic') _sql_constraints = [ ('date_check', "CHECK ((date_start <= date_end OR date_end = NULL))", "The start date must be anterior to the end date."), ] class ResumeLineType(models.Model): _name = 'hr.resume.line.type' _description = "Type of a resumé line" _order = "sequence" name = fields.Char(required=True) sequence = fields.Integer('Sequence', default=10)