Officer: Access all appraisals
Administrator
All Appraisal
[(1, '=', 1)]
Employee Appraisal
['|', ('employee_id.user_id', '=', user.id), ('manager_ids', 'in', user.employee_id.ids)]
Employee Appraisal historically implicit
['|', ('employee_id.user_id', '=', user.id), ('manager_ids', 'in', user.employee_id.ids)]
Employee Appraisal: read todo
[
'|',
('employee_id.user_id', '=', user.id),
('manager_ids.user_id', 'in', user.ids),
]
Appraisal multi-company
[('company_id', 'in', company_ids + [False])]
Appraisal Plan multi-company
[('company_id', 'in', company_ids)]
Appraisal Goal multi-company
[('company_id', 'in', company_ids + [False])]
Appraisal: An appraisal manager can see all goals
[(1, '=', 1)]
Appraisal: An employee can see his own goals or his subordinates'
[
'|',
'|',
'|',
'|',
('is_manager', '=', True),
('employee_id.user_id', '=', user.id),
('manager_id.user_id', '=', user.id),
'&',
('employee_id.parent_id', '!=', False),
('employee_id.parent_id.user_id', '=', user.id),
'&',
('employee_id.last_appraisal_id.manager_ids.user_id', '=', user.id),
('employee_id.last_appraisal_id.state', 'in', ['new', 'pending'])
]
Appraisal: An employee can delete his own goals,if he created it, or his subordinates'
[
'|',
('employee_id.user_id', '!=', user.id),
'&',
('employee_id.user_id', '=', user.id),
('create_uid', '=', user.id)]