Survey user input: manager: all non private [('survey_id.survey_type', '!=', 'appraisal')] Survey user input: officer: create/write/unlink linked to own non private survey only ['&', ('survey_id.survey_type', '!=', 'appraisal'), ('survey_id.create_uid', '=', user.id)] Survey user input: officer: all non private [('survey_id.survey_type', '!=', 'appraisal')] Survey user input line: manager: all non private [('survey_id.survey_type', '!=', 'appraisal')] Survey user input line: officer: read all non private [('survey_id.survey_type', '!=', 'appraisal')] Survey user input line: officer: create/write/unlink linked to own non private survey only ['&', ('survey_id.survey_type', '!=', 'appraisal'), ('user_input_id.survey_id.create_uid', '=', user.id)] Survey user input: appraisal manager: all [('survey_id.survey_type', '=', 'appraisal')] Survey user input line: appraisal manager: all [('survey_id.survey_type', '=', 'appraisal')] Survey survey: appraisal manager: all [('survey_type', '=', 'appraisal')] Survey question: appraisal manager: all [('survey_id.survey_type', '=', 'appraisal')] Survey question answer: appraisal manager: all [('survey_id.survey_type', '=', 'appraisal')] Survey user input: appraisal officer: all [('survey_id.survey_type', '=', 'appraisal')] Survey user input line: appraisal officer: all [('survey_id.survey_type', '=', 'appraisal')] Survey user input: simple manager on appraisal: read [('survey_id.survey_type', '=', 'appraisal'), ('appraisal_id.manager_ids.user_id', 'in', user.ids) ] Survey user input line: simple manager on appraisal: read [('survey_id.survey_type', '=', 'appraisal'), ('user_input_id.appraisal_id.manager_ids.user_id', 'in', user.ids) ] Survey question: manager: all [('survey_id.survey_type', '=', 'appraisal')]