Как дать права доступа пользователям с определенными условиями?

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

пользователь – может создавать/просматривать/редактировать только свою собственную запись.

Это моя потребность.

Заранее спасибо.


person Navi    schedule 12.10.2017    source источник
comment
Это уже доступно в Odoo. Например, проверьте правила записи для заказа на продажу. Попробуйте создать заказ на продажу от разных пользователей и проверьте.   -  person Hardik Patadia    schedule 12.10.2017


Ответы (2)


вам нужно создать ir.rules. Например, в вашем случае это будет примерно так:
Для администраторов:

<record id="manager_rule" model="ir.rule">
    <field name="name">My first rule</field>
    <field name="model_id" ref="model_your_model"/>
    <field name="domain_force">[(1,'=',1)]</field>
    <field name="groups" eval="[(4,ref('your_manager_group'))]"/>
</record>

Для других пользователей:

<record id="others_rule" model="ir.rule">
    <field name="name">My second rule</field>
    <field name="model_id" ref="model_your_model"/>
    <field name="domain_force">[('user_id','=',user.id)]</field>
    <field name="groups" eval="[(4,ref('base.group_user'))]"/>
</record>

Для получения дополнительной информации о правилах доступа вы можете посетить odoo_security, access_rules.

Я надеюсь, что это поможет вам!

person Dayana    schedule 12.10.2017

Ваша проблема решена с использованием домена типа

Eg. domain = [('user_id','=',user.id)]

я надеюсь, что это поможет вам

person Manish Kumar Bohra    schedule 31.10.2017