Как настроить гибкие правила доступа

ОСНОВНАЯ ПРОБЛЕМА ДЛЯ РЕШЕНИЯ

Я пытаюсь настроить гибкие правила, используя группы пользователей и 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. Смотрите официальные документы для получения дополнительной информации.

Другие вопросы по тегам