#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 Хороший момент. Поскольку это было принято, я предполагаю, что ответ был написан нечетко, но я добавил отказ от ответственности в свой ответ, чтобы, надеюсь, уточнить, что это не ответ на именно то, что было задано.