mirror of
https://github.com/bringout/oca-ocb-hr.git
synced 2026-04-27 08:31:58 +02:00
19.0 vanilla
This commit is contained in:
parent
a1137a1456
commit
e1d89e11e3
2789 changed files with 1093187 additions and 605897 deletions
|
|
@ -0,0 +1,33 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class HrManagerDepartmentReport(models.AbstractModel):
|
||||
_name = 'hr.manager.department.report'
|
||||
_description = 'Hr Manager Department Report'
|
||||
_auto = False
|
||||
|
||||
employee_id = fields.Many2one('hr.employee', string="Employee", readonly=True)
|
||||
has_department_manager_access = fields.Boolean(search="_search_has_department_manager_access",
|
||||
compute="_compute_has_department_manager_access")
|
||||
|
||||
def _search_has_department_manager_access(self, operator, value):
|
||||
if operator != 'in':
|
||||
return NotImplemented
|
||||
department_ids = self.env['hr.department']._search([('manager_id', 'in', self.env.user.employee_ids.ids)])
|
||||
return [
|
||||
'|',
|
||||
('employee_id.user_id', '=', self.env.user.id),
|
||||
('employee_id.department_id', 'child_of', tuple(department_ids)),
|
||||
]
|
||||
|
||||
def _compute_has_department_manager_access(self):
|
||||
department_ids = self.env['hr.department']._search([('manager_id', 'in', self.env.user.employee_ids.ids)])
|
||||
employees = self.env['hr.employee'].search([
|
||||
'|',
|
||||
('user_id', '=', self.env.user.id),
|
||||
('department_id', 'child_of', tuple(department_ids)),
|
||||
])
|
||||
for report in self:
|
||||
report.has_department_manager_access = report.employee_id in employees
|
||||
Loading…
Add table
Add a link
Reference in a new issue