TIP: You can type at any time to perform a new search.

Security findings

Repository
odoo/odoo · module folder
Module version
0.1.0
Category
Human Resources/Employees
Folder size
4.14 MB
License
LGPL-3
Application
Yes
Auto-installable
Yes
Website
None
Last tracking update
2026-09-28 18:31:15
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Raphael Collet, Odoo Translation Bot, Aaron Bohy, Géry Debongnie, Yannick Tivisse, Julien Castiaux, Xavier-Do, Victor Feyens, Sébastien Theys, Julien Mougenot, Tiffany Chang (tic), Pierre Paridans, Didier (did), Florian Charlier, luvi, Victor Piryns (pivi), amdi-odoo, Dylan Kiss (dyki), Chong Wang (cwg), reka-odoo, vval, Harsh Shah, Yassin Abdelkarim, Xavier Luyckx (xlu), Abdelrahman Mahmoud (amah), dija-odoo, Pierre Pulinckx, nikj-odoo, Michaël Mattiello, Krzysztof Magusiak (krma), nsirjacobs, Giorgio Tocco (gito), agbr-odoo, Julien Launois (jula), Einar Andersen (eian), Saurabh, kuay-odoo, Julien Carion, chpa-odoo, Oussema Heni, adak-ahmed, adak(ahmed), abshe, FedericoBraidi, Sara Briki, Julien Piron, Jean Schoenlaub, pusu-odoo, Antoine Chevalier
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
hr_recruitment_skills, hr_skills_event, hr_skills_slides, hr_skills_survey, project_hr_skills
Description
Skills and Resume for HR
========================

This module introduces skills and resume management for employees.
        

Code Analysis info_outline

Views touched (37)
XML IDNameModelTypeStatus
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 form 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 kanban 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 form Inherits hr.hr_employee_public_view_form
hr_employee_public_view_search hr.employee.public.skill.search hr.employee.public search 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 form Inherits hr.view_employee_form
hr_employee_view_search hr.employee.skill.search hr.employee search 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 form Inherits hr_skills.resume_line_view_form
view_hr_job_form hr.job.view.form.inherit.hr.skills hr.job form Inherits hr.view_hr_job_form
view_resume_lines_filter hr.resume.line.search hr.resume.line search New
HTTP endpoints (1)
Route(s)HandlerAuthTypeMethodsFlags
/print/cv HrEmployeeCV.print_employee_cv user http ALL sudo
Models touched (14)

New fields (6)
  • 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'
Public methods (4)
  • create(self, vals_list)
    @api.model_create_multi
  • get_internal_resume_lines(self, res_id, res_model)
    @api.model
  • load_demo_data(self)
    @api.model
  • write(self, vals)

New fields (8)
  • 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
    args: 'hr.employee'
  • show_contact Boolean
    default=True string='Contact Information'
  • show_others Boolean
    default=True string='Others'
  • show_skills Boolean
    default=True string='Skills'
Public methods (1)
  • action_validate(self)

New fields (5)
  • 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'
Public methods (0)

No public methods.

New fields (2)
  • company_id Many2one
    related='employee_id.company_id'
  • employee_id Many2one → hr.employee
    index=True ondelete='cascade' required=True args: 'hr.employee'
Public methods (4)
  • action_hr_employee_skill_certification(self)
  • action_save(self)
  • get_current_skills_by_employee(self)
  • open_hr_employee_skill_modal(self)

New fields (12)
  • certificate_file Binary
    string='Certificate'
  • 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)]" index=True ondelete='cascade' readonly=False required=True store=True args: 'hr.skill.level'
  • skill_type_id Many2one → hr.skill.type
    default=_default_skill_type_id index=True ondelete='cascade' required=True args: 'hr.skill.type'
  • valid_from Date
    default=fields.Date.context_today string='Validity Start'
  • valid_to Date
    string='Validity Stop'
Public methods (0)

No public methods.

New fields (3)
  • 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
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (1)
  • job_id Many2one → hr.job
    comodel_name='hr.job' index=True ondelete='cascade' required=True
Public methods (0)

No public methods.

New fields (16)
  • avatar_128 Image
    related='employee_id.avatar_128'
  • certificate_file Binary
    string='Certificate'
  • 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
    index=True 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'
Public methods (0)

No public methods.

New fields (4)
  • is_course Boolean
    default=False args: 'Course'
  • name Char
    required=True translate=True
  • resume_line_type_properties_definition PropertiesDefinition
    args: 'Sections Properties'
  • sequence Integer
    default=10 args: 'Sequence'
Public methods (0)

No public methods.

New fields (4)
  • 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'
Public methods (0)

No public methods.

New fields (5)
  • 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
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (8)
  • 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
    args: 'Sequence'
  • 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'
Public methods (1)
  • copy_data(self, default=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • employee_skill_ids One2many
    related='employee_id.employee_skill_ids'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…