diff --git a/addons/hr_recruitment_skills/__manifest__.py b/addons/hr_recruitment_skills/__manifest__.py
index 70cbfd755ca..873ee1d88a5 100644
--- a/addons/hr_recruitment_skills/__manifest__.py
+++ b/addons/hr_recruitment_skills/__manifest__.py
@@ -10,6 +10,7 @@
'description': """""",
'depends': ['hr_skills', 'hr_recruitment'],
'data': [
+ 'security/hr_recruitment_skills_security.xml',
'views/hr_applicant_views.xml',
'views/hr_applicant_skill_views.xml',
'security/ir.model.access.csv',
diff --git a/addons/hr_recruitment_skills/models/hr_applicant.py b/addons/hr_recruitment_skills/models/hr_applicant.py
index 3951a738a24..3ab8e6ba08c 100644
--- a/addons/hr_recruitment_skills/models/hr_applicant.py
+++ b/addons/hr_recruitment_skills/models/hr_applicant.py
@@ -9,6 +9,14 @@ class HrApplicant(models.Model):
applicant_skill_ids = fields.One2many('hr.applicant.skill', 'applicant_id', string="Skills")
skill_ids = fields.Many2many('hr.skill', compute='_compute_skill_ids', store=True)
+ is_interviewer = fields.Boolean(compute='_compute_is_interviewer')
+
+ @api.depends_context('uid')
+ @api.depends('interviewer_ids', 'job_id.interviewer_ids')
+ def _compute_is_interviewer(self):
+ is_recruiter = self.user_has_groups('hr_recruitment.group_hr_recruitment_user')
+ for applicant in self:
+ applicant.is_interviewer = not is_recruiter and self.env.user in (applicant.interviewer_ids | applicant.job_id.interviewer_ids)
@api.depends('applicant_skill_ids.skill_id')
def _compute_skill_ids(self):
diff --git a/addons/hr_recruitment_skills/security/hr_recruitment_skills_security.xml b/addons/hr_recruitment_skills/security/hr_recruitment_skills_security.xml
new file mode 100644
index 00000000000..3d2eba831db
--- /dev/null
+++ b/addons/hr_recruitment_skills/security/hr_recruitment_skills_security.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ Applicant Skill: Interviewer
+
+ [
+ '|',
+ ('applicant_id.job_id.interviewer_ids', 'in', user.id),
+ ('applicant_id.interviewer_ids', 'in', user.id),
+ ]
+
+
+
diff --git a/addons/hr_recruitment_skills/security/ir.model.access.csv b/addons/hr_recruitment_skills/security/ir.model.access.csv
index 54df613f4a8..ec8287d0e9a 100644
--- a/addons/hr_recruitment_skills/security/ir.model.access.csv
+++ b/addons/hr_recruitment_skills/security/ir.model.access.csv
@@ -1,2 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-hr_recruitment_skills.access_hr_applicant_skill,access_hr_applicant_skill,hr_recruitment_skills.model_hr_applicant_skill,hr_recruitment.group_hr_recruitment_user,1,1,1,1
\ No newline at end of file
+hr_recruitment_skills.access_hr_applicant_skill,access_hr_applicant_skill,hr_recruitment_skills.model_hr_applicant_skill,hr_recruitment.group_hr_recruitment_user,1,1,1,1
+hr_recruitment_skills.access_hr_applicant_skill_interviewer,access_hr_applicant_skill_interviewer,hr_recruitment_skills.model_hr_applicant_skill,hr_recruitment.group_hr_recruitment_interviewer,1,0,0,0
diff --git a/addons/hr_recruitment_skills/views/hr_applicant_views.xml b/addons/hr_recruitment_skills/views/hr_applicant_views.xml
index 6a1f9fac57d..118f07de3f9 100644
--- a/addons/hr_recruitment_skills/views/hr_applicant_views.xml
+++ b/addons/hr_recruitment_skills/views/hr_applicant_views.xml
@@ -10,7 +10,9 @@