From 9aced746965a08ad1eb59a645282be24a94a9d72 Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Tue, 8 Aug 2023 05:52:58 +0000 Subject: [PATCH] [FIX] hr_skills: Allow deleting skill, skill levels and skill types PURPOSE ======= Starting from 16.0 we introduced some reports to log skills history, skills evolution. It means that the skill model is linked to another model, preventing us to delete it. Usually, we use the message "link to x, archive it instead", but archiving a skill will only be possible from v17 (new task) So, we need to be able to delete a skill on v16 closes odoo/odoo#131300 Taskid: 3456843 X-original-commit: d9672b55e7a596778fd542541f39e5216c06cb40 Signed-off-by: Yannick Tivisse (yti) --- addons/hr_skills/models/hr_employee_skill.py | 6 +++--- addons/hr_skills/models/hr_employee_skill_log.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/hr_skills/models/hr_employee_skill.py b/addons/hr_skills/models/hr_employee_skill.py index 5a63efd7832..0ed1635c854 100644 --- a/addons/hr_skills/models/hr_employee_skill.py +++ b/addons/hr_skills/models/hr_employee_skill.py @@ -13,9 +13,9 @@ class EmployeeSkill(models.Model): _order = "skill_type_id, skill_level_id" employee_id = fields.Many2one('hr.employee', required=True, ondelete='cascade') - skill_id = fields.Many2one('hr.skill', compute='_compute_skill_id', store=True, domain="[('skill_type_id', '=', skill_type_id)]", readonly=False, required=True) - skill_level_id = fields.Many2one('hr.skill.level', compute='_compute_skill_level_id', domain="[('skill_type_id', '=', skill_type_id)]", store=True, readonly=False, required=True) - skill_type_id = fields.Many2one('hr.skill.type', required=True) + skill_id = fields.Many2one('hr.skill', compute='_compute_skill_id', store=True, domain="[('skill_type_id', '=', skill_type_id)]", readonly=False, required=True, ondelete='cascade') + skill_level_id = fields.Many2one('hr.skill.level', compute='_compute_skill_level_id', domain="[('skill_type_id', '=', skill_type_id)]", store=True, readonly=False, required=True, ondelete='cascade') + skill_type_id = fields.Many2one('hr.skill.type', required=True, ondelete='cascade') level_progress = fields.Integer(related='skill_level_id.level_progress') _sql_constraints = [ diff --git a/addons/hr_skills/models/hr_employee_skill_log.py b/addons/hr_skills/models/hr_employee_skill_log.py index 73c1b469f6d..0ddaf076e06 100644 --- a/addons/hr_skills/models/hr_employee_skill_log.py +++ b/addons/hr_skills/models/hr_employee_skill_log.py @@ -12,9 +12,9 @@ class HrEmployeeSkillLog(models.Model): employee_id = fields.Many2one('hr.employee', required=True, ondelete='cascade') department_id = fields.Many2one('hr.department') - skill_id = fields.Many2one('hr.skill', compute='_compute_skill_id', store=True, domain="[('skill_type_id', '=', skill_type_id)]", readonly=False, required=True) - skill_level_id = fields.Many2one('hr.skill.level', compute='_compute_skill_level_id', domain="[('skill_type_id', '=', skill_type_id)]", store=True, readonly=False, required=True) - skill_type_id = fields.Many2one('hr.skill.type', required=True) + skill_id = fields.Many2one('hr.skill', compute='_compute_skill_id', store=True, domain="[('skill_type_id', '=', skill_type_id)]", readonly=False, required=True, ondelete='cascade') + skill_level_id = fields.Many2one('hr.skill.level', compute='_compute_skill_level_id', domain="[('skill_type_id', '=', skill_type_id)]", store=True, readonly=False, required=True, ondelete='cascade') + skill_type_id = fields.Many2one('hr.skill.type', required=True, ondelete='cascade') level_progress = fields.Integer(related='skill_level_id.level_progress', store=True, group_operator="avg") date = fields.Date(default=fields.Date.context_today)