【问题标题】:How to give access rights to users with certain conditions?如何在一定条件下赋予用户访问权限?
【发布时间】:2018-03-24 11:30:54
【问题描述】:

如果有四个用户创建了四个记录。管理员可以看到所有用户的所有记录。但是一个用户应该不能查看另一个用户的记录。

用户 – 只能创建/查看/编辑他/她自己的记录。

这是我的需要。

提前谢谢你。

【问题讨论】:

  • 这已经在 Odoo 中可用。例如,查看销售订单的记录规则。尝试从不同的用户创建销售订单并检查。

标签: security openerp odoo-10 access-rights


【解决方案1】:

您需要创建 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_securityaccess_rules

希望对你有帮助!

【讨论】:

    【解决方案2】:

    您的问题使用域解决了

    例如。 domain = [('user_id','=',user.id)]

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-20
      • 1970-01-01
      • 2019-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多