Как настроить гибкие правила доступа
ОСНОВНАЯ ПРОБЛЕМА ДЛЯ РЕШЕНИЯ
Я пытаюсь настроить гибкие правила, используя группы пользователей и ir.rules в Odoo 10. По сути, я хочу дать пользователям доступ только к определенным записям на основе определенных значений в столбцах. Есть некоторые записи, которые я хочу ограничить - независимо от того, разрешено ли это в другой группе на основе других критериев.
Вот несколько упрощенных примеров того, чего я хочу достичь:
1.
(country = 'USA'
or
office= London)
and
vip = false
2.
(country = 'uk'
or
country = 'netherlands'
or
office = London)
etc
Чтобы сделать правила доступа гибкими, я хочу создать следующие группы:
- group_country_usa
- group_country_germany
- group_country_uk
- group_country_netherlands
так далее
- group_office_london
- group_office_new_york
- group_office_paris
- group_office_tokyo
- group_office_st_petersburg
так далее
- group_no_vips
У меня есть соответствующие записи ir.rules для каждой группы выше:
[('country','=', 'usa')]
etc
[('office','=', 'amsterdam')]
etc
[('vip','=', False)]
По моему тестированию, я не верю, что смогу выполнить вышесказанное, используя только отдельные записи ir.rules.
Есть ли способ, которым я могу достичь своей цели?
Я надеюсь, что вышеупомянутое имеет смысл и что кто-то может намекнуть мне в правильном направлении.
1 ответ
Предполагая, что есть глобальное правило, разрешающее доступ ко всем записям, я не вижу проблем с использованием вашего ir.rule
а также res.groups
конфигурации. Тем не менее, групповые правила являются аддитивными, то есть невозможно присоединиться ir.rule
домены с and
как в вашем примере № 1. Смотрите официальные документы для получения дополнительной информации.