| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/19.0/hr_skills |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | Odoo S.A. |
| MAINTAINERS | |
| MAINTAINERS | Odoo S.A. |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Fabien Pinckaers, Thibault Delavallée, Xavier Morel, Yannick Tivisse, Lucas Perais, Julien Castiaux, Tiffany Chang (tic), Rémy Voet (ryv), Gorash, Mathieu Duckerts-Antoine, abd-msyukyu-odoo, Ahmad Khanalizadeh, luvi, Louis Wicket (wil), Victor Piryns (pivi), Dylan Kiss (dyki), Mélanie, reka-odoo, Chrysanthe (chgo), mano-odoo, Yassin Abdelkarim, yagp-odoo, Natalie (naja), Abdelrahman Mahmoud (amah), Pierre Pulinckx (PIPU), Michaël Mattiello, nikj-odoo, Pierre Pulinckx, Bastien PIERRE, Krzysztof Magusiak (krma), romc-odoo, agbr-odoo, Laetitia (ldau), adip-odoo, dhka-odoo, Einar Andersen (eian), saurabh, raja prasad, chpa-odoo, Claire Nguyen (clan), adak-ahmed |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:51:41 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - digest - bus - web_tour - html_editor - portal - http_routing - auth_signup - resource - phone_validation - resource_mail |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Skills and Resume for HR
========================
This module introduces skills and resume management for employees.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
employee_skill_level_view_form |
hr.skill.level.form | hr.skill.level | form | New |
employee_skill_level_view_tree |
hr.skill.level.list | hr.skill.level | list | New |
employee_skill_view_form |
hr.employees.skill.form | hr.employee.skill | form | New |
employee_skill_view_inherit_certificate_form |
hr.employees.skill.inherit.certificate.form | hr.employee.skill | field | Inherits employee_skill_view_form |
employee_skill_view_tree |
hr.skill.list | hr.skill | list | New |
hr_department_view_kanban |
hr.department.kanban.inherit.hr.skills | hr.department | xpath | Inherits hr.hr_department_view_kanban |
hr_employee_certification_report_view_list |
hr.employee.certification.report | list | New | |
hr_employee_certification_report_view_pivot |
hr.employee.certification.report | pivot | New | |
hr_employee_certification_report_view_search |
hr.employee.certification.report | search | New | |
hr_employee_cv_wizard_view_form |
hr.employee.cv.wizard.view.form | hr.employee.cv.wizard | form | New |
hr_employee_public_view_form_inherit |
hr.employee.public.view.form.inherit.resume | hr.employee.public | page | Inherits hr.hr_employee_public_view_form |
hr_employee_public_view_search |
hr.employee.public.skill.search | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_search |
hr_employee_skill_history_report_view_graph |
hr.employee.skill.history.report | graph | New | |
hr_employee_skill_history_report_view_search |
hr.employee.skill.history.report | search | New | |
hr_employee_skill_report_view_graph |
hr.employee.skill.report | graph | New | |
hr_employee_skill_report_view_list |
hr.employee.skill.report | list | New | |
hr_employee_skill_report_view_pivot |
hr.employee.skill.report | pivot | New | |
hr_employee_skill_report_view_search |
hr.employee.skill.report | search | New | |
hr_employee_skill_type_view_form |
hr.skill.type.form | hr.skill.type | form | New |
hr_employee_skill_view_list |
hr.employees.skill.list | hr.employee.skill | list | New |
hr_employee_skill_view_search |
hr.employee.skill.view.search | hr.employee.skill | search | New |
hr_employee_view_form |
hr.employee.view.form.inherit.resume | hr.employee | div | Inherits hr.view_employee_form |
hr_employee_view_search |
hr.employee.skill.search | hr.employee | xpath | Inherits hr.view_employee_filter |
hr_job_skill_view_form |
hr.job.skill.view.form | hr.job.skill | form | New |
hr_resume_line_calendar_view |
hr.resume.line.calendar.view | hr.resume.line | calendar | New |
hr_resume_line_kanban_view |
hr.resume.line.kanban.view | hr.resume.line | kanban | New |
hr_resume_line_list_view |
hr.resume.line.list.view | hr.resume.line | list | New |
hr_resume_line_type_tree_view |
hr.resume.line.type.list.view | hr.resume.line.type | list | New |
hr_skill_type_view_search |
hr.skill.type.search | hr.skill.type | search | New |
hr_skill_type_view_tree |
hr.skill.type.list | hr.skill.type | list | New |
hr_skill_view_form |
hr.skill.form | hr.skill | form | New |
hr_skill_view_search |
hr.skill.view.search | hr.skill | search | New |
report_employee_cv |
report_employee_cv | ir.ui.view | qweb | New |
report_employee_cv_company |
report_employee_cv_company | ir.ui.view | qweb | New |
report_employee_cv_main_panel |
report_employee_cv_main_panel | ir.ui.view | qweb | New |
report_employee_cv_sidepanel |
report_employee_cv_sidepanel | ir.ui.view | qweb | New |
resume_line_view_form |
hr.resume.line.form | hr.resume.line | form | New |
resume_line_view_form_inherit |
hr.resume.line.inherit.form | hr.resume.line | xpath | Inherits hr_skills.resume_line_view_form |
view_hr_job_form |
hr.job.view.form.inherit.hr.skills | hr.job | page | Inherits hr.view_hr_job_form |
view_resume_lines_filter |
hr.resume.line.search | hr.resume.line | search | New |
certification_ids
One2many → hr.employee.skill
compute='_compute_certification_ids'
readonly=False
args: 'hr.employee.skill'
current_employee_skill_ids
One2many → hr.employee.skill
compute='_compute_current_employee_skill_ids'
readonly=False
args: 'hr.employee.skill'
display_certification_page
Boolean
compute='_compute_display_certification_page'
employee_skill_ids
One2many → hr.employee.skill
domain=[('skill_type_id.active', '=', True)]
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resume lines'
args: 'hr.resume.line', 'employee_id'
skill_ids
Many2many → hr.skill
compute='_compute_skill_ids'
groups='hr.group_hr_user'
store=True
args: 'hr.skill'
create(self, vals_list)
get_internal_resume_lines(self, res_id, res_model)
write(self, vals)
can_show_others
Boolean
compute='_compute_can_show_others'
can_show_skills
Boolean
compute='_compute_can_show_others'
color_primary
Char
default=<expr>
required=True
args: 'Primary Color'
color_secondary
Char
default=<expr>
required=True
args: 'Secondary Color'
employee_ids
Many2many → hr.employee
show_contact
Boolean
default=True
string='Contact Information'
show_others
Boolean
default=True
string='Others'
show_skills
Boolean
default=True
string='Skills'
action_validate(self)
certification_ids
One2many → hr.employee.skill
related='employee_id.certification_ids'
args: 'hr.employee.skill'
current_employee_skill_ids
One2many → hr.employee.skill
related='employee_id.current_employee_skill_ids'
args: 'hr.employee.skill'
display_certification_page
Boolean
related='employee_id.display_certification_page'
employee_skill_ids
One2many → hr.employee.skill
domain=[('skill_type_id.active', '=', True)]
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resume lines'
args: 'hr.resume.line', 'employee_id'
No public methods.
employee_id
Many2one → hr.employee
index=True
ondelete='cascade'
required=True
args: 'hr.employee'
action_save(self)
get_current_skills_by_employee(self)
open_hr_employee_skill_modal(self)
certification_skill_type_count
Integer
compute='_compute_certification_skill_type_count'
export_string_translation=False
color
Integer
related='skill_type_id.color'
display_warning_message
Boolean
is_certification
Boolean
export_string_translation=False
related='skill_type_id.is_certification'
level_progress
Integer
related='skill_level_id.level_progress'
levels_count
Integer
related='skill_type_id.levels_count'
skill_id
Many2one → hr.skill
compute='_compute_skill_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill'
skill_level_id
Many2one → hr.skill.level
compute='_compute_skill_level_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill.level'
skill_type_id
Many2one → hr.skill.type
default=_default_skill_type_id
ondelete='cascade'
required=True
args: 'hr.skill.type'
valid_from
Date
default=fields.Date.today()
string='Validity Start'
valid_to
Date
string='Validity Stop'
No public methods.
current_job_skill_ids
One2many → hr.job.skill
comodel_name='hr.job.skill'
compute='_compute_current_job_skill_ids'
readonly=False
search='_search_current_job_skill_ids'
job_skill_ids
One2many → hr.job.skill
comodel_name='hr.job.skill'
domain=[('skill_type_id.active', '=', True)]
inverse_name='job_id'
string='Skills'
skill_ids
Many2many → hr.skill
comodel_name='hr.skill'
compute='_compute_skill_ids'
store=True
create(self, vals_list)
write(self, vals)
job_id
Many2one → hr.job
comodel_name='hr.job'
index=True
ondelete='cascade'
required=True
No public methods.
avatar_128
Image
related='employee_id.avatar_128'
certificate_file
Binary
string='Certificate'
certificate_filename
Char
color
Char
compute='_compute_color'
default='#000000'
company_id
Many2one
related='employee_id.company_id'
course_type
Selection
default='external'
required=True
selection=[('external', 'External')]
string='Course Type'
date_end
Date
date_start
Date
default=fields.Date.context_today
required=True
department_id
Many2one
related='employee_id.department_id'
description
Html
string='Description'
translate=True
duration
Integer
string='Duration'
employee_id
Many2one → hr.employee
index=True
ondelete='cascade'
required=True
string='Employee'
args: 'hr.employee'
external_url
Char
compute='_compute_external_url'
readonly=False
store=True
string='External URL'
is_course
Boolean
related='line_type_id.is_course'
line_type_id
Many2one → hr.resume.line.type
string='Type'
args: 'hr.resume.line.type'
name
Char
required=True
translate=True
resume_line_properties
Properties
definition='line_type_id.resume_line_type_properties_definition'
args: 'Properties'
No public methods.
is_course
Boolean
default=False
args: 'Course'
name
Char
required=True
translate=True
resume_line_type_properties_definition
PropertiesDefinition
sequence
Integer
default=10
args: 'Sequence'
No public methods.
color
Integer
related='skill_type_id.color'
name
Char
required=True
translate=True
sequence
Integer
default=10
skill_type_id
Many2one → hr.skill.type
index=True
ondelete='cascade'
required=True
args: 'hr.skill.type'
No public methods.
default_level
Boolean
help='If checked, this level will be the default one selected when choosing this skill.'
level_progress
Integer
help='Progress from zero knowledge (0%) to fully mastered (100%).'
string='Progress'
name
Char
required=True
skill_type_id
Many2one → hr.skill.type
index='btree_not_null'
ondelete='cascade'
args: 'hr.skill.type'
technical_is_new_default
Boolean
compute='_compute_technical_is_new_default'
readonly=False
create(self, vals_list)
write(self, vals)
active
Boolean
default=True
args: 'Active'
color
Integer
default=_get_default_color
args: 'Color'
is_certification
Boolean
help='if checked the skill type become a certification type'
args: 'Certification'
levels_count
Integer
compute='_compute_levels_count'
help='Number of levels linked to this skill type'
readonly=False
store=True
name
Char
required=True
translate=True
sequence
Integer
skill_ids
One2many → hr.skill
string='Skills'
args: 'hr.skill', 'skill_type_id'
skill_level_ids
One2many → hr.skill.level
copy=True
string='Levels'
args: 'hr.skill.level', 'skill_type_id'
copy_data(self, default=None)
No new fields.
Public methods (0)No public methods.
employee_skill_ids
One2many
related='employee_id.employee_skill_ids'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/18.0/hr_skills |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Christophe Simonis, Aaron Bohy, Yannick Tivisse, qsm-odoo, Odoo Online, Alexandre Kühn, Paul Morelle, Sébastien Theys, Prakash Prajapati, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, abd-msyukyu-odoo, sofiagvaladze, Hubert Van De Walle, Gaetan Vanden Bergh (gavb), Louis Wicket (wil), Victor Piryns (pivi), Mahamadasif Ansari, Pierre-Yves Dufays, Dylan Kiss (dyki), Hugo Carlier (Huca), Xavier Bol (xbo), omra-odoo, Paul Stroobant, ravb-odoo, Mélanie, Flotchet, jugj-odoo, Martin Trigaux (mat), Chrysanthe (chgo), Louis (wil), Natalie (naja), Pierre Pulinckx (PIPU), Michaël Mattiello, Pierre Pulinckx (pipu), Bastien PIERRE, kusi-odoo, Krzysztof Magusiak (krma), Omar (OSAH), pajo, agbr-odoo, adip-odoo, dhka-odoo, Einar Andersen (eian), saurabh, raja prasad |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:25:54 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - digest - bus - web_tour - html_editor - portal - web_editor - http_routing - auth_signup - resource - phone_validation - resource_mail |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Skills and Resume for HR
========================
This module introduces skills and resume management for employees.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
employee_skill_level_view_form |
hr.skill.level.form | hr.skill.level | form | New |
employee_skill_level_view_tree |
hr.skill.level.list | hr.skill.level | list | New |
employee_skill_view_form |
hr.employees.skill.form | hr.employee.skill | form | New |
employee_skill_view_tree |
hr.skill.list | hr.skill | list | New |
hr_department_view_kanban |
hr.department.kanban.inherit.hr.skills | hr.department | xpath | Inherits hr.hr_department_view_kanban |
hr_employee_cv_wizard_view_form |
hr.employee.cv.wizard.view.form | hr.employee.cv.wizard | form | New |
hr_employee_public_view_form_inherit |
hr.employee.public.view.form.inherit.resume | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_form |
hr_employee_public_view_search |
hr.employee.public.skill.search | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_search |
hr_employee_skill_log_view_graph_department |
hr.employee.skill.log.view.graph | hr.employee.skill.log | graph | New |
hr_employee_skill_log_view_graph_employee |
hr.employee.skill.log.view.graph | hr.employee.skill.log | graph | New |
hr_employee_skill_log_view_search |
hr.employee.skill.log.view.search | hr.employee.skill.log | search | New |
hr_employee_skill_log_view_tree |
hr.employee.skill.log.view.list | hr.employee.skill.log | list | New |
hr_employee_skill_report_view_graph |
hr.employee.skill.report | graph | New | |
hr_employee_skill_report_view_list |
hr.employee.skill.report | list | New | |
hr_employee_skill_report_view_pivot |
hr.employee.skill.report | pivot | New | |
hr_employee_skill_report_view_search |
hr.employee.skill.report | search | New | |
hr_employee_skill_type_view_form |
hr.skill.type.form | hr.skill.type | form | New |
hr_employee_view_form |
hr.employee.view.form.inherit.resume | hr.employee | xpath | Inherits hr.view_employee_form |
hr_employee_view_search |
hr.employee.skill.search | hr.employee | xpath | Inherits hr.view_employee_filter |
hr_resume_line_type_tree_view |
hr.resume.line.type.list.view | hr.resume.line.type | list | New |
hr_skill_type_view_search |
hr.skill.type.search | hr.skill.type | search | New |
hr_skill_type_view_tree |
hr.skill.type.list | hr.skill.type | list | New |
hr_skill_view_form |
hr.skill.form | hr.skill | form | New |
hr_skill_view_search |
hr.skill.view.search | hr.skill | search | New |
report_employee_cv |
report_employee_cv | ir.ui.view | qweb | New |
report_employee_cv_company |
report_employee_cv_company | ir.ui.view | qweb | New |
report_employee_cv_main_panel |
report_employee_cv_main_panel | ir.ui.view | qweb | New |
report_employee_cv_sidepanel |
report_employee_cv_sidepanel | ir.ui.view | qweb | New |
res_users_view_form |
hr.user.preferences.form.inherit.hr.skills | res.users | xpath | Inherits hr.res_users_view_form_profile |
resume_line_view_form |
hr.resume.line.form | hr.resume.line | form | New |
employee_skill_ids
One2many → hr.employee.skill
domain=[('skill_type_id.active', '=', True)]
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resume lines'
args: 'hr.resume.line', 'employee_id'
skill_ids
Many2many → hr.skill
compute='_compute_skill_ids'
groups='hr.group_hr_user'
store=True
args: 'hr.skill'
create(self, vals_list)
write(self, vals)
can_show_others
Boolean
compute='_compute_can_show_others'
can_show_skills
Boolean
compute='_compute_can_show_others'
color_primary
Char
default=<expr>
required=True
args: 'Primary Color'
color_secondary
Char
default=<expr>
required=True
args: 'Secondary Color'
employee_ids
Many2many → hr.employee
show_contact
Boolean
default=True
string='Contact Information'
show_others
Boolean
default=True
string='Others'
show_skills
Boolean
default=True
string='Skills'
action_validate(self)
employee_skill_ids
One2many → hr.employee.skill
domain=[('skill_type_id.active', '=', True)]
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resume lines'
args: 'hr.resume.line', 'employee_id'
No public methods.
color
Integer
related='skill_type_id.color'
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
level_progress
Integer
related='skill_level_id.level_progress'
skill_id
Many2one → hr.skill
compute='_compute_skill_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill'
skill_level_id
Many2one → hr.skill.level
compute='_compute_skill_level_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill.level'
skill_type_id
Many2one → hr.skill.type
default=<expr>
ondelete='cascade'
required=True
args: 'hr.skill.type'
create(self, vals_list)
write(self, vals)
date
Date
default=fields.Date.context_today
department_id
Many2one → hr.department
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
level_progress
Integer
aggregator='avg'
related='skill_level_id.level_progress'
store=True
skill_id
Many2one → hr.skill
compute='_compute_skill_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill'
skill_level_id
Many2one → hr.skill.level
compute='_compute_skill_level_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill.level'
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
required=True
args: 'hr.skill.type'
No public methods.
date_end
Date
date_start
Date
required=True
description
Html
string='Description'
translate=True
display_type
Selection
default='classic'
string='Display Type'
args: [('classic', 'Classic')]
employee_id
Many2one → hr.employee
index=True
ondelete='cascade'
required=True
args: 'hr.employee'
line_type_id
Many2one → hr.resume.line.type
string='Type'
args: 'hr.resume.line.type'
name
Char
required=True
translate=True
No public methods.
name
Char
required=True
translate=True
sequence
Integer
default=10
args: 'Sequence'
No public methods.
color
Integer
related='skill_type_id.color'
name
Char
required=True
translate=True
sequence
Integer
default=10
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
required=True
args: 'hr.skill.type'
No public methods.
default_level
Boolean
help='If checked, this level will be the default one selected when choosing this skill.'
level_progress
Integer
help='Progress from zero knowledge (0%) to fully mastered (100%).'
string='Progress'
name
Char
required=True
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
args: 'hr.skill.type'
create(self, vals_list)
write(self, vals)
active
Boolean
default=True
args: 'Active'
color
Integer
default=_get_default_color
args: 'Color'
name
Char
required=True
translate=True
skill_ids
One2many → hr.skill
string='Skills'
args: 'hr.skill', 'skill_type_id'
skill_level_ids
One2many → hr.skill.level
copy=True
string='Levels'
args: 'hr.skill.level', 'skill_type_id'
copy_data(self, default=None)
No new fields.
Public methods (0)No public methods.
employee_skill_ids
One2many
readonly=False
related='employee_id.employee_skill_ids'
resume_line_ids
One2many
readonly=False
related='employee_id.resume_line_ids'
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
employee_skill_ids
One2many
related='employee_id.employee_skill_ids'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/17.0/hr_skills |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Christophe Simonis, Géry Debongnie, Yannick Tivisse, qsm-odoo, Odoo Online, Victor Feyens, Joseph Caburnay, Samuel Degueldre, Prakash Prajapati, Tiffany Chang (tic), Rémy Voet (ryv), Gorash, Pierre Paridans, Kevin Baptiste, Philippe Wauthy, sofiagvaladze, Hubert Van De Walle, Dossogne Bertrand, luvi, niyasraphy, Thomas Lefebvre (thle), Gaetan Vanden Bergh (gavb), Louis Wicket (wil), Victor Piryns (pivi), Mahamadasif Ansari, Pierre-Yves Dufays, pash-odoo, Dylan Kiss (dyki), Michael (mcm), Brieuc-brd, shag-odoo, dasz, Flotchet, jugj-odoo, Julien Carion (juca), Chrysanthe (chgo), Louis (wil), Natalie (naja), Pierre Pulinckx (pipu), Omar (OSAH), Robin Engels (roen), pajo, agbr-odoo, dhka-odoo, Einar Andersen (eian) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:02:06 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - phone_validation - bus - web_tour - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Skills and Resume for HR
========================
This module introduces skills and resume management for employees.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
employee_skill_level_view_form |
hr.skill.level.form | hr.skill.level | form | New |
employee_skill_level_view_tree |
hr.skill.level.tree | hr.skill.level | tree | New |
employee_skill_view_form |
hr.employees.skill.form | hr.employee.skill | form | New |
employee_skill_view_tree |
hr.skill.tree | hr.skill | tree | New |
hr_department_view_kanban |
hr.department.kanban.inherit.hr.skills | hr.department | xpath | Inherits hr.hr_department_view_kanban |
hr_employee_cv_wizard_view_form |
hr.employee.cv.wizard.view.form | hr.employee.cv.wizard | form | New |
hr_employee_public_view_form_inherit |
hr.employee.public.view.form.inherit.resume | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_form |
hr_employee_public_view_search |
hr.employee.public.skill.search | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_search |
hr_employee_skill_log_view_graph_department |
hr.employee.skill.log.view.graph | hr.employee.skill.log | graph | New |
hr_employee_skill_log_view_graph_employee |
hr.employee.skill.log.view.graph | hr.employee.skill.log | graph | New |
hr_employee_skill_log_view_search |
hr.employee.skill.log.view.search | hr.employee.skill.log | search | New |
hr_employee_skill_log_view_tree |
hr.employee.skill.log.view.tree | hr.employee.skill.log | tree | New |
hr_employee_skill_report_view_list |
hr.employee.skill.report | tree | New | |
hr_employee_skill_report_view_pivot |
hr.employee.skill.report | pivot | New | |
hr_employee_skill_report_view_search |
hr.employee.skill.report | search | New | |
hr_employee_skill_type_view_form |
hr.skill.type.form | hr.skill.type | form | New |
hr_employee_view_form |
hr.employee.view.form.inherit.resume | hr.employee | xpath | Inherits hr.view_employee_form |
hr_employee_view_search |
hr.employee.skill.search | hr.employee | xpath | Inherits hr.view_employee_filter |
hr_resume_line_type_tree_view |
hr.resume.line.type.tree.view | hr.resume.line.type | tree | New |
hr_skill_type_view_tree |
hr.skill.type.tree | hr.skill.type | tree | New |
hr_skill_view_form |
hr.skill.form | hr.skill | form | New |
hr_skill_view_search |
hr.skill.view.search | hr.skill | search | New |
report_employee_cv |
report_employee_cv | ir.ui.view | qweb | New |
report_employee_cv_company |
report_employee_cv_company | ir.ui.view | qweb | New |
report_employee_cv_main_panel |
report_employee_cv_main_panel | ir.ui.view | qweb | New |
report_employee_cv_sidepanel |
report_employee_cv_sidepanel | ir.ui.view | qweb | New |
res_users_view_form |
hr.user.preferences.form.inherit.hr.skills | res.users | xpath | Inherits hr.res_users_view_form_profile |
resume_line_view_form |
hr.resume.line.form | hr.resume.line | form | New |
employee_skill_ids
One2many → hr.employee.skill
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resume lines'
args: 'hr.resume.line', 'employee_id'
skill_ids
Many2many → hr.skill
compute='_compute_skill_ids'
store=True
args: 'hr.skill'
create(self, vals_list)
write(self, vals)
can_show_others
Boolean
compute='_compute_can_show_others'
can_show_skills
Boolean
compute='_compute_can_show_others'
color_primary
Char
default=<expr>
required=True
args: 'Primary Color'
color_secondary
Char
default=<expr>
required=True
args: 'Secondary Color'
employee_ids
Many2many → hr.employee
show_contact
Boolean
default=True
string='Contact Information'
show_others
Boolean
default=True
string='Others'
show_skills
Boolean
default=True
string='Skills'
action_validate(self)
employee_skill_ids
One2many → hr.employee.skill
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resume lines'
args: 'hr.resume.line', 'employee_id'
No public methods.
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
level_progress
Integer
related='skill_level_id.level_progress'
skill_id
Many2one → hr.skill
compute='_compute_skill_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill'
skill_level_id
Many2one → hr.skill.level
compute='_compute_skill_level_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill.level'
skill_type_id
Many2one → hr.skill.type
default=<expr>
ondelete='cascade'
required=True
args: 'hr.skill.type'
create(self, vals_list)
write(self, vals)
date
Date
default=fields.Date.context_today
department_id
Many2one → hr.department
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
level_progress
Integer
group_operator='avg'
related='skill_level_id.level_progress'
store=True
skill_id
Many2one → hr.skill
compute='_compute_skill_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill'
skill_level_id
Many2one → hr.skill.level
compute='_compute_skill_level_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill.level'
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
required=True
args: 'hr.skill.type'
No public methods.
date_end
Date
date_start
Date
required=True
description
Text
string='Description'
translate=True
display_type
Selection
default='classic'
string='Display Type'
args: [('classic', 'Classic')]
employee_id
Many2one → hr.employee
index=True
ondelete='cascade'
required=True
args: 'hr.employee'
line_type_id
Many2one → hr.resume.line.type
string='Type'
args: 'hr.resume.line.type'
name
Char
required=True
translate=True
No public methods.
name
Char
required=True
sequence
Integer
default=10
args: 'Sequence'
No public methods.
name
Char
required=True
sequence
Integer
default=10
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
required=True
args: 'hr.skill.type'
No public methods.
default_level
Boolean
help='If checked, this level will be the default one selected when choosing this skill.'
level_progress
Integer
help='Progress from zero knowledge (0%) to fully mastered (100%).'
string='Progress'
name
Char
required=True
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
args: 'hr.skill.type'
create(self, vals_list)
write(self, vals)
name
Char
required=True
skill_ids
One2many → hr.skill
string='Skills'
args: 'hr.skill', 'skill_type_id'
skill_level_ids
One2many → hr.skill.level
string='Levels'
args: 'hr.skill.level', 'skill_type_id'
No public methods.
No new fields.
Public methods (0)No public methods.
employee_skill_ids
One2many
readonly=False
related='employee_id.employee_skill_ids'
resume_line_ids
One2many
readonly=False
related='employee_id.resume_line_ids'
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/16.0/hr_skills |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Christophe Simonis, Aaron Bohy, Yannick Tivisse, Romeo Fragomeli, Gorash, Mathieu Duckerts-Antoine, Pierre Paridans, William Braeckman, Kevin Baptiste, Philippe Wauthy, Ahmad Khanalizadeh, sofiagvaladze, Dossogne Bertrand, luvi, niyasraphy, Thomas Lefebvre (thle), Gaetan Vanden Bergh (gavb), pash-odoo, Michael (mcm), stefanorigano (SRI), Martin Trigaux (mat), Natalie (naja) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - bus - web_tour - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Skills and Resume for HR
========================
This module introduces skills and resume management for employees.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
employee_skill_level_view_form |
hr.skill.level.form | hr.skill.level | form | New |
employee_skill_level_view_tree |
hr.skill.level.tree | hr.skill.level | tree | New |
employee_skill_view_form |
hr.employees.skill.form | hr.employee.skill | form | New |
employee_skill_view_tree |
hr.skill.tree | hr.skill | tree | New |
hr_department_view_kanban |
hr.department.kanban.inherit.hr.skills | hr.department | xpath | Inherits hr.hr_department_view_kanban |
hr_employee_public_view_form_inherit |
hr.employee.public.view.form.inherit.resume | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_form |
hr_employee_public_view_search |
hr.employee.public.skill.search | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_search |
hr_employee_skill_log_view_graph_department |
hr.employee.skill.log.view.graph | hr.employee.skill.log | graph | New |
hr_employee_skill_log_view_graph_employee |
hr.employee.skill.log.view.graph | hr.employee.skill.log | graph | New |
hr_employee_skill_log_view_search |
hr.employee.skill.log.view.search | hr.employee.skill.log | search | New |
hr_employee_skill_log_view_tree |
hr.employee.skill.log.view.tree | hr.employee.skill.log | tree | New |
hr_employee_skill_report_view_list |
hr.employee.skill.report | tree | New | |
hr_employee_skill_report_view_pivot |
hr.employee.skill.report | pivot | New | |
hr_employee_skill_report_view_search |
hr.employee.skill.report | search | New | |
hr_employee_skill_type_view_form |
hr.skill.type.form | hr.skill.type | form | New |
hr_employee_view_form |
hr.employee.view.form.inherit.resume | hr.employee | xpath | Inherits hr.view_employee_form |
hr_employee_view_search |
hr.employee.skill.search | hr.employee | xpath | Inherits hr.view_employee_filter |
hr_resume_line_type_tree_view |
hr.resume.line.type.tree.view | hr.resume.line.type | tree | New |
hr_skill_type_view_tree |
hr.skill.type.tree | hr.skill.type | tree | New |
hr_skill_view_form |
hr.skill.form | hr.skill | form | New |
hr_skill_view_search |
hr.skill.view.search | hr.skill | search | New |
res_users_view_form |
hr.user.preferences.form.inherit.hr.skills | res.users | xpath | Inherits hr.res_users_view_form_profile |
resume_line_view_form |
hr.resume.line.form | hr.resume.line | form | New |
employee_skill_ids
One2many → hr.employee.skill
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resume lines'
args: 'hr.resume.line', 'employee_id'
skill_ids
Many2many → hr.skill
compute='_compute_skill_ids'
store=True
args: 'hr.skill'
create(self, vals_list)
write(self, vals)
employee_skill_ids
One2many → hr.employee.skill
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resume lines'
args: 'hr.resume.line', 'employee_id'
No public methods.
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
level_progress
Integer
related='skill_level_id.level_progress'
skill_id
Many2one → hr.skill
compute='_compute_skill_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill'
skill_level_id
Many2one → hr.skill.level
compute='_compute_skill_level_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill.level'
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
required=True
args: 'hr.skill.type'
create(self, vals_list)
write(self, vals)
date
Date
default=fields.Date.context_today
department_id
Many2one → hr.department
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
level_progress
Integer
group_operator='avg'
related='skill_level_id.level_progress'
store=True
skill_id
Many2one → hr.skill
compute='_compute_skill_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill'
skill_level_id
Many2one → hr.skill.level
compute='_compute_skill_level_id'
domain="[('skill_type_id', '=', skill_type_id)]"
ondelete='cascade'
readonly=False
required=True
store=True
args: 'hr.skill.level'
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
required=True
args: 'hr.skill.type'
No public methods.
date_end
Date
date_start
Date
required=True
description
Text
string='Description'
display_type
Selection
default='classic'
string='Display Type'
args: [('classic', 'Classic')]
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
line_type_id
Many2one → hr.resume.line.type
string='Type'
args: 'hr.resume.line.type'
name
Char
required=True
No public methods.
name
Char
required=True
sequence
Integer
default=10
args: 'Sequence'
No public methods.
name
Char
required=True
sequence
Integer
default=10
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
required=True
args: 'hr.skill.type'
name_get(self)
default_level
Boolean
help='If checked, this level will be the default one selected when choosing this skill.'
level_progress
Integer
help='Progress from zero knowledge (0%) to fully mastered (100%).'
string='Progress'
name
Char
required=True
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
args: 'hr.skill.type'
action_set_default(self)
create(self, vals_list)
name_get(self)
unlink(self)
write(self, values)
name
Char
required=True
skill_ids
One2many → hr.skill
string='Skills'
args: 'hr.skill', 'skill_type_id'
skill_level_ids
One2many → hr.skill.level
string='Levels'
args: 'hr.skill.level', 'skill_type_id'
No public methods.
employee_skill_ids
One2many
readonly=False
related='employee_id.employee_skill_ids'
resume_line_ids
One2many
readonly=False
related='employee_id.resume_line_ids'
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/15.0/hr_skills |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Aaron Bohy, Adrien Dieudonne, Xavier-Do, Julien Mougenot, William Braeckman, Philippe Wauthy, Michael Mattiello (mcm), Gaetan Vanden Bergh (gavb), pash-odoo, Krina Oza |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:25:27 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - bus - web_tour - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Skills and Resumé for HR
========================
This module introduces skills and resumé management for employees.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
employee_skill_level_view_form |
hr.skill.level.form | hr.skill.level | form | New |
employee_skill_level_view_tree |
hr.skill.level.tree | hr.skill.level | tree | New |
employee_skill_view_form |
hr.employees.skill.form | hr.employee.skill | form | New |
employee_skill_view_tree |
hr.skill.tree | hr.skill | tree | New |
hr_employee_public_view_form_inherit |
hr.employee.public.view.form.inherit.resume | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_form |
hr_employee_public_view_search |
hr.employee.public.skill.search | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_search |
hr_employee_skill_type_view_form |
hr.skill.type.form | hr.skill.type | form | New |
hr_employee_view_form |
hr.employee.view.form.inherit.resume | hr.employee | xpath | Inherits hr.view_employee_form |
hr_employee_view_search |
hr.employee.skill.search | hr.employee | xpath | Inherits hr.view_employee_filter |
hr_resume_line_type_tree_view |
hr.resume.line.type.tree.view | hr.resume.line.type | tree | New |
hr_skill_type_view_tree |
hr.skill.type.tree | hr.skill.type | tree | New |
hr_skill_view_form |
hr.skill.form | hr.skill | form | New |
res_users_view_form |
hr.user.preferences.form.inherit.hr.skills | res.users | xpath | Inherits hr.res_users_view_form_profile |
resume_line_view_form |
hr.resume.line.form | hr.resume.line | form | New |
employee_skill_ids
One2many → hr.employee.skill
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resumé lines'
args: 'hr.resume.line', 'employee_id'
create(self, vals_list)
employee_skill_ids
One2many → hr.employee.skill
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resumé lines'
args: 'hr.resume.line', 'employee_id'
No public methods.
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
level_progress
Integer
related='skill_level_id.level_progress'
skill_id
Many2one → hr.skill
required=True
args: 'hr.skill'
skill_level_id
Many2one → hr.skill.level
required=True
args: 'hr.skill.level'
skill_type_id
Many2one → hr.skill.type
required=True
args: 'hr.skill.type'
No public methods.
date_end
Date
date_start
Date
required=True
description
Text
string='Description'
display_type
Selection
default='classic'
string='Display Type'
args: [('classic', 'Classic')]
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
line_type_id
Many2one → hr.resume.line.type
string='Type'
args: 'hr.resume.line.type'
name
Char
required=True
No public methods.
name
Char
required=True
sequence
Integer
default=10
args: 'Sequence'
No public methods.
name
Char
required=True
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
args: 'hr.skill.type'
No public methods.
level_progress
Integer
help='Progress from zero knowledge (0%) to fully mastered (100%).'
string='Progress'
name
Char
required=True
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
args: 'hr.skill.type'
No public methods.
name
Char
required=True
skill_ids
One2many → hr.skill
string='Skills'
args: 'hr.skill', 'skill_type_id'
skill_level_ids
One2many → hr.skill.level
string='Levels'
args: 'hr.skill.level', 'skill_type_id'
No public methods.
employee_skill_ids
One2many
readonly=False
related='employee_id.employee_skill_ids'
resume_line_ids
One2many
readonly=False
related='employee_id.resume_line_ids'
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/14.0/hr_skills |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Olivier Dony, Christophe Simonis, Xavier Morel, Barad Mahendra, Yannick Tivisse, Adrien Dieudonne, Xavier-Do, Julien Mougenot, Jason Van Malder, Kevin Baptiste, bve-odoo, pash-odoo |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:14:28 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - bus - web_tour - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Skills and Resumé for HR
========================
This module introduces skills and resumé management for employees.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
hr_skills_assets_backend | ir.ui.view | qweb | Inherits web.assets_backend |
employee_skill_level_view_form |
hr.skill.level.form | hr.skill.level | form | New |
employee_skill_level_view_tree |
hr.skill.level.tree | hr.skill.level | tree | New |
employee_skill_view_form |
hr.employees.skill.form | hr.employee.skill | form | New |
employee_skill_view_tree |
hr.skill.tree | hr.skill | tree | New |
hr_employee_public_view_form_inherit |
hr.employee.public.view.form.inherit.resume | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_form |
hr_employee_public_view_search |
hr.employee.public.skill.search | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_search |
hr_employee_skill_type_view_form |
hr.skill.type.form | hr.skill.type | form | New |
hr_employee_view_form |
hr.employee.view.form.inherit.resume | hr.employee | xpath | Inherits hr.view_employee_form |
hr_employee_view_search |
hr.employee.skill.search | hr.employee | xpath | Inherits hr.view_employee_filter |
hr_resume_line_type_tree_view |
hr.resume.line.type.tree.view | hr.resume.line.type | tree | New |
hr_skill_type_view_tree |
hr.skill.type.tree | hr.skill.type | tree | New |
hr_skill_view_form |
hr.skill.form | hr.skill | form | New |
qunit_suite |
hr_skills_qunit_suite | ir.ui.view | qweb | Inherits web.qunit_suite_tests |
res_users_view_form |
hr.user.preferences.form.inherit.hr.skills | res.users | xpath | Inherits hr.res_users_view_form_profile |
resume_line_view_form |
hr.resume.line.form | hr.resume.line | form | New |
employee_skill_ids
One2many → hr.employee.skill
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resumé lines'
args: 'hr.resume.line', 'employee_id'
create(self, vals_list)
employee_skill_ids
One2many → hr.employee.skill
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resumé lines'
args: 'hr.resume.line', 'employee_id'
No public methods.
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
level_progress
Integer
related='skill_level_id.level_progress'
skill_id
Many2one → hr.skill
required=True
args: 'hr.skill'
skill_level_id
Many2one → hr.skill.level
required=True
args: 'hr.skill.level'
skill_type_id
Many2one → hr.skill.type
required=True
args: 'hr.skill.type'
No public methods.
date_end
Date
date_start
Date
required=True
description
Text
string='Description'
display_type
Selection
default='classic'
string='Display Type'
args: [('classic', 'Classic')]
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
line_type_id
Many2one → hr.resume.line.type
string='Type'
args: 'hr.resume.line.type'
name
Char
required=True
No public methods.
name
Char
required=True
sequence
Integer
default=10
args: 'Sequence'
No public methods.
name
Char
required=True
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
args: 'hr.skill.type'
No public methods.
level_progress
Integer
help='Progress from zero knowledge (0%) to fully mastered (100%).'
string='Progress'
name
Char
required=True
skill_type_id
Many2one → hr.skill.type
ondelete='cascade'
args: 'hr.skill.type'
No public methods.
name
Char
required=True
skill_ids
One2many → hr.skill
string='Skills'
args: 'hr.skill', 'skill_type_id'
skill_level_ids
One2many → hr.skill.level
string='Levels'
args: 'hr.skill.level', 'skill_type_id'
No public methods.
employee_skill_ids
One2many
readonly=False
related='employee_id.employee_skill_ids'
resume_line_ids
One2many
readonly=False
related='employee_id.resume_line_ids'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/13.0/hr_skills |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Christophe Simonis, David Monjoie, Xavier Morel, Aaron Bohy, Yannick Tivisse, RomainLibert, Xavier-Do, Jason Van Malder, Lucas Lefèvre, Romain Estievenart |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:06:42 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - bus - web_tour - resource - mail_bot |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Skills and Resumé for HR
========================
This module introduces skills and resumé management for employees.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
hr_skills_assets_backend | ir.ui.view | qweb | Inherits web.assets_backend |
employee_skill_level_view_form |
hr.skill.level.form | hr.skill.level | form | New |
employee_skill_level_view_tree |
hr.skill.level.tree | hr.skill.level | tree | New |
employee_skill_view_form |
hr.employees.skill.form | hr.employee.skill | form | New |
employee_skill_view_tree |
hr.skill.tree | hr.skill | tree | New |
hr_employee_public_view_form_inherit |
hr.employee.public.view.form.inherit.resume | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_form |
hr_employee_public_view_search |
hr.employee.public.skill.search | hr.employee.public | xpath | Inherits hr.hr_employee_public_view_search |
hr_employee_skill_type_view_form |
hr.skill.type.form | hr.skill.type | form | New |
hr_employee_view_form |
hr.employee.view.form.inherit.resume | hr.employee | xpath | Inherits hr.view_employee_form |
hr_employee_view_search |
hr.employee.skill.search | hr.employee | xpath | Inherits hr.view_employee_filter |
hr_resume_line_type_tree_view |
hr.resume.line.type.tree.view | hr.resume.line.type | tree | New |
hr_skill_type_view_tree |
hr.skill.type.tree | hr.skill.type | tree | New |
hr_skill_view_form |
hr.skill.form | hr.skill | form | New |
qunit_suite |
hr_skills_qunit_suite | ir.ui.view | qweb | Inherits web.qunit_suite |
res_users_view_form |
hr.user.preferences.form.inherit.hr.skills | res.users | xpath | Inherits hr.res_users_view_form_profile |
resume_line_view_form |
hr.resume.line.form | hr.resume.line | form | New |
resume_line_view_search |
hr.resume.search | hr.resume.line | search | New |
employee_skill_ids
One2many → hr.employee.skill
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resumé lines'
args: 'hr.resume.line', 'employee_id'
create(self, vals_list)
employee_skill_ids
One2many → hr.employee.skill
string='Skills'
args: 'hr.employee.skill', 'employee_id'
resume_line_ids
One2many → hr.resume.line
string='Resumé lines'
args: 'hr.resume.line', 'employee_id'
No public methods.
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
level_progress
Integer
related='skill_level_id.level_progress'
skill_id
Many2one → hr.skill
required=True
args: 'hr.skill'
skill_level_id
Many2one → hr.skill.level
required=True
args: 'hr.skill.level'
skill_type_id
Many2one → hr.skill.type
required=True
args: 'hr.skill.type'
No public methods.
date_end
Date
date_start
Date
required=True
description
Text
string='Description'
display_type
Selection
default='classic'
string='Display Type'
args: [('classic', 'Classic')]
employee_id
Many2one → hr.employee
ondelete='cascade'
required=True
args: 'hr.employee'
line_type_id
Many2one → hr.resume.line.type
string='Type'
args: 'hr.resume.line.type'
name
Char
required=True
No public methods.
name
Char
required=True
sequence
Integer
default=10
args: 'Sequence'
No public methods.
name
Char
required=True
skill_type_id
Many2one → hr.skill.type
No public methods.
level_progress
Integer
help='Progress from zero knowledge (0%) to fully mastered (100%).'
string='Progress'
name
Char
required=True
skill_type_id
Many2one → hr.skill.type
No public methods.
name
Char
required=True
skill_ids
One2many → hr.skill
ondelete='cascade'
string='Skills'
args: 'hr.skill', 'skill_type_id'
skill_level_ids
One2many → hr.skill.level
ondelete='cascade'
string='Levels'
args: 'hr.skill.level', 'skill_type_id'
No public methods.
employee_skill_ids
One2many
readonly=False
related='employee_id.employee_skill_ids'
resume_line_ids
One2many
readonly=False
related='employee_id.resume_line_ids'
No public methods.