domain_force — безопасность группы Odoo считывает все записи в пользовательском модуле

#xml #odoo

#xml #odoo

Вопрос:

Я пытаюсь назначить разрешение группы безопасности ( group_user ), чтобы иметь возможность просматривать все записи, созданные пользователями группы ( name_group_info_med )

пользовательская группа: может видеть все записи, сгенерированные group_name_information_medium_medical group_name_info_med: может видеть только записи, сгенерированные ею

acces_rules.xml заключается в следующем

 <?xml version="1.0" encoding="utf-8"?> 
<odoo>
<data noupdate="0">

<record id="info_arch_user_rule" model="ir.rule">
    <field name="name">See all</field>
    <field name="model_id" ref="model_info_med"/>
    <field name="domain_force">
        [('create_uid', '=', user.id)]
    </field>
    <field name="groups" eval="[(4, ref('informed.group_user'))]"/>
</record>     

<record id="info_med_user_rule" model="ir.rule">
    <field name="name">Informe Medico  only for owners</field>
    <field name="model_id" ref="model_info_med"/>
    <field name="domain_force">
        [('create_uid', '=', user.id)]
    </field>
    <field name="groups" eval="[(4, ref('informed.group_name_info_med'))]"/>
</record> 

</data>
</odoo>
  

Приветствуется любое предложение о помощи.

Ответ №1:

Если вы хотите, чтобы группа имела доступ для просмотра всех записей (без ограничений), то в вашем правиле записи должно использоваться domain_force of [(1, '=', 1)] .

 <record id="info_arch_user_rule" model="ir.rule">
    <field name="name">See all</field>
    <field name="model_id" ref="model_info_med"/>
    <field name="domain_force">
        [(1, '=', 1)]
    </field>
    <field name="groups" eval="[(4, ref('informed.group_user'))]"/>
</record>     
  

Документация по правилам записи довольно скудна, но вы можете просмотреть примеры в основном коде или во внутренней части Odoo (Настройки> Технические> Правила записи).


Отказ от ответственности: Это делается для того, чтобы группа могла просматривать все записи, а не только записи другой группы. Как упоминал @CZoellner в комментарии ниже, это было бы невозможно сделать с помощью одних только правил записи.

Комментарии:

1. Возможно, вопрос написан неправильно, но это неправильный ответ, если группа a должна видеть все записи, созданные другой группой. Это требование не может быть выполнено правилами записи, но только с помощью программирования, такого как переопределение метода поиска. Ваше решение предназначено для просмотра группой a ВСЕХ записей, что, конечно, включает в себя другое требование.

2. @CZoellner Хороший момент. Поскольку это было принято, я предполагаю, что ответ был написан нечетко, но я добавил отказ от ответственности в свой ответ, чтобы, надеюсь, уточнить, что это не ответ на именно то, что было задано.