Моя концепция заключается в том, что у меня есть 5 разных уровней доступа к Odoo.
Я хочу проверить, есть ли входящий в систему пользователь в списке (список создается автоматическим действием), если да, показать поля, иначе скрыть их.
Мой код:
list_of_users= []
if record.user_id.partner_id.id: #level 1 user add on list
list_of_users.append(record.user_id.partner_id.id)
if record.user_id.sale_team_id.user_id.partner_id.id: #level 2 user add on list
list_of_users.append(record.user_id.sale_team_id.user_id.partner_id.id)
if record.user_id.sale_team_id.regional_manager_id.partner_id.id: #level 3 user add on list
list_of_users.append(record.user_id.sale_team_id.regional_manager_id.partner_id.id)
user_ids = record.env['res.users'].search([])
flag = record.env['res.users'].search([('groups_id','ilike','L4')])
for user_ids in flag: #level 4 and 5 users add on list
user_record = record.env['res.users'].browse(user_ids)
list_of_users.append(user_ids.partner_id.id)
record.update({'x_partner_follower_custom': [(6, 0, list_of_users)]})
При просмотре я использую attrs="{'invisible': [('x_partner_follower_custom', '=', False)]}"
внутри полей, которые хочу показать / скрыть
x_partner_follower_custom
: many2many поле res.partner
Как видите, я возвращаю пользователей к просмотру, но кажется, что attrs
установлен неправильно. Есть идеи, как это исправить?
res.partner
, какой код следует применять к полю вычисления? Изображение - person Fotic   schedule 29.12.2019