Как настроить гибкие правила доступа - PullRequest
0 голосов
/ 01 сентября 2018

ОСНОВНАЯ ЗАДАЧА ДЛЯ РЕШЕНИЯ

Я пытаюсь настроить гибкие правила, используя группы пользователей и 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_net 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 Ответ

0 голосов
/ 03 сентября 2018

Предполагая, что есть глобальное правило, разрешающее доступ ко всем записям, я не вижу проблем с использованием описанных вами конфигураций ir.rule и res.groups. Однако групповые правила являются аддитивными, то есть невозможно объединить ir.rule домены с and, как в вашем примере # 1. См. Официальные документы для получения дополнительной информации.

...