1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# -*- 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)
|