Appraisals Officer: Access all appraisals 10 Administrator 20 Appraisal Campaign wizard Responsible [ '|', ('employee_ids', '=', False), ('employee_ids', 'child_of', user.employee_ids.ids) ] Admin: access appraisals campaign [ (1, '=', 1) ] All Appraisal [(1, '=', 1)] Employee Appraisal [ '|', '|', ('employee_id.user_id', '=', user.id), ('manager_ids', 'in', user.employee_ids.ids), ('employee_id', 'child_of', user.employee_ids.ids) ] Employee Appraisal: delete new [ ('state', '=', '1_new'), '|', '|', ('employee_id.user_id', '=', user.id), ('manager_ids', 'in', user.employee_ids.ids), ('employee_id', 'child_of', user.employee_ids.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 + [False])] Appraisal Template multi-company [('company_id', 'in', company_ids + [False])] Appraisal Goal multi-company [('company_id', 'in', company_ids + [False])] Appraisal: An appraisal manager can see all goals [(1, '=', 1)] Appraisal: An employee can create his own goals or his subordinates' [ ('employee_ids', '!=', False), '|', '|', '|', '|', ('is_manager', '=', True), ('employee_ids.user_id', '=', user.id), ('manager_ids.user_id', '=', user.id), '&', ('employee_ids.parent_id', '!=', False), ('employee_ids.parent_id.user_id', '=', user.id), '&', ('employee_ids.last_appraisal_id.manager_ids.user_id', '=', user.id), ('employee_ids.last_appraisal_id.state', 'in', ['1_new', '2_pending']) ] Appraisal: An employee can edit his own goals or his subordinates' (only goals without child) [ ('child_ids', '=', False), ('employee_ids', '!=', False), '|', '|', '|', '|', ('is_manager', '=', True), ('employee_ids.user_id', '=', user.id), ('manager_ids.user_id', '=', user.id), '&', ('employee_ids.parent_id', '!=', False), ('employee_ids.parent_id.user_id', '=', user.id), '&', ('employee_ids.last_appraisal_id.manager_ids.user_id', '=', user.id), ('employee_ids.last_appraisal_id.state', 'in', ['1_new', '2_pending']) ] Appraisal: An employee can delete his own goals,if he created it, or his subordinates' [ ('employee_ids', '!=', False), '|', '&', ('employee_ids.user_id', '=', user.id), ('create_uid', '=', user.id), '|', '&', ('employee_ids.user_id', '!=', user.id), ('employee_ids.parent_id.user_id', '=', user.id), '&', ('employee_ids.last_appraisal_id.manager_ids.user_id', '=', user.id), ('employee_ids.last_appraisal_id.state', 'in', ['1_new', '2_pending']), ]