mirror of
https://github.com/bringout/oca-ocb-hr.git
synced 2026-04-26 14:51:59 +02:00
Initial commit: Hr packages
This commit is contained in:
commit
62531cd146
2820 changed files with 1432848 additions and 0 deletions
|
|
@ -0,0 +1,36 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import models
|
||||
|
||||
class ResUsers(models.Model):
|
||||
_inherit = 'res.users'
|
||||
|
||||
def _create_recruitment_interviewers(self):
|
||||
if not self:
|
||||
return
|
||||
interviewer_group = self.env.ref('hr_recruitment.group_hr_recruitment_interviewer')
|
||||
recruitment_group = self.env.ref('hr_recruitment.group_hr_recruitment_user')
|
||||
|
||||
interviewers = self - recruitment_group.users
|
||||
interviewers.sudo().write({
|
||||
'groups_id': [(4, interviewer_group.id)]
|
||||
})
|
||||
|
||||
def _remove_recruitment_interviewers(self):
|
||||
if not self:
|
||||
return
|
||||
interviewer_group = self.env.ref('hr_recruitment.group_hr_recruitment_interviewer')
|
||||
recruitment_group = self.env.ref('hr_recruitment.group_hr_recruitment_user')
|
||||
|
||||
job_interviewers = self.env['hr.job']._read_group([('interviewer_ids', 'in', self.ids)], ['interviewer_ids'], ['interviewer_ids'])
|
||||
user_ids = {j['interviewer_ids'][0] for j in job_interviewers}
|
||||
|
||||
application_interviewers = self.env['hr.applicant']._read_group([('interviewer_ids', 'in', self.ids)], ['interviewer_ids'], ['interviewer_ids'])
|
||||
user_ids |= {a['interviewer_ids'][0] for a in application_interviewers}
|
||||
|
||||
# Remove users that are no longer interviewers on at least a job or an application
|
||||
users_to_remove = set(self.ids) - (user_ids | set(recruitment_group.users.ids))
|
||||
self.env['res.users'].browse(users_to_remove).sudo().write({
|
||||
'groups_id': [(3, interviewer_group.id)]
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue