Почему правила записи не работают как положено Odoo 10? - PullRequest
0 голосов
/ 31 мая 2018

Я использую odoo 10. Я хочу ограничить пользователей проекта только просмотром или редактированием их собственных задач.И менеджер проекта может назначать им задачи и видеть все задачи.Это означает, что у менеджера проекта должны быть полные права доступа.

Я пробовал много решений на форумах, но ни одно из них не работает так, как ожидалось.Любая помощь приветствуется.

Я создал новое правило записи:

  • Объект: project.task

  • Доменфильтр: [('user_id','=',user.id)]

Когда я сохраняю ее как глобальную, то каждая задача видна только ее уполномоченному, но это правило применяется и для менеджера проекта.Менеджер проекта также не может видеть или создавать свои задачи для своей команды сейчас.Но мне нужен менеджер проектов, чтобы иметь полные права.

Если я выберу группу как Проект / Пользователь: В этом случае эффект исчезнет, ​​и все пользователи смогут видеть все задачи.

Также я создал правило записи для Project / Manager с фильтром домена [(1, '=', 1)].Но все же мой требуемый результат не достигнут.

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Прочтите это внимательно.https://www.odoo.com/documentation/12.0/reference/security.html

Глобальные правила являются вычитающими, все они должны соответствовать, чтобы запись была доступна

Групповые правила являются аддитивными, если какое-либо из них соответствует (и все глобальные правила соответствуют) затем запись становится доступной

Оказывается, глобальные правила являются вычитающими, а групповые правила аддитивными.Если вы применяете глобально, то только пользователи, которые удовлетворяют вашему домену user_id = user.id, будут доступны для чтения / записи.Но если вы примените только к группе, это не будет ограничивать доступ, потому что это дополнение, и пользователям предоставляется доступ где-то еще.

То, что я сделал для аналогичного сценария, - применил глобальное правило, чтобы задача была видна только ее уполномоченному.Затем примените правило группы к менеджеру, чтобы менеджер мог видеть все задачи.

Надеюсь, это поможет вам

0 голосов
/ 03 июня 2018

Сначала вам необходимо внимательно прочитать документацию о Odoo Security .В основном Odoo предоставляет два основных механизма, управляемых данными, для управления или ограничения доступа к данным.

  • Контроль доступа
  • Правила записи

В вашем случае вы простонужно скопировать настройки из другого аналогичного случая.Например, «Менеджер по продажам» и «Пользователь: Только собственные документы» для продаж.

  1. Контроль доступа .Создайте обе группы и дайте разрешение на модель, в вашем случае project.tasks

    access rights

  2. Правила .Добавьте правило только для «Пользователь: Только собственные документы», в вашем случае «Проект / Пользователь»:

    rule

...