查看“Row-level访问规则”的源代码
←
Row-level访问规则
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看并复制此页面的源代码:
我们可以在技术菜单中找到和访问控制列表在一起的记录规则菜单。 记录规则的定义模型是ir.rule。像往常一样,我们需要提供一个独特的名称。我们还需要操作符和规则过滤器组成的模型以达到访问限制。在Odoo中,规则过滤器通常是多个元组组成的列表。 通常情况下,规则适用于某些特定的访问组。在我们的例子中,我们将它应用于员工组。如果它没有访问组,这种特殊情况,被认为是全局 ( global字段将自动设置为 True)。全局规则是不同的,因为他们实施了限制,不会被非全局规则重写。 添加记录规则,我们应该创建security/todo_access_rules.xml文件并添加下面的内容︰ <?xml version="1.0" encoding="utf-8"?> <odoo> <data noupdate="1"> <record id="todo_task_user_rule" model="ir.rule"> <field name="name">ToDo Tasks only for owner</field> <field name="model_id" ref="model_todo_task"/> <field name="domain_force">[('create_uid','=',user.id)]</field> <field name="groups" eval="[(4,ref('base.group_user'))]"/> </record> </data> </odoo> *注意 小心noupdate ="1"属性。这意味着此数据在模块的升级时将不会更新。这就使它能够进行定制,因为后面模块的升级不会破坏用户进行的更改。但请注意,在开发的时候也会这样,所以在开发的时候你可以设置noupdate ="0" ,直到你对你的数据文件满意为止。 在groups字段,你还会发现一个特殊的表达式。它是一个一对多的关系字段,他们有特殊的操作语法。在这种情况下, (4,x) 元组指要追加 x 记录,这里 的x 是关联的员工组,用base.group_user标识的。一对多特殊的语法将在章 4模块数据 中更详细的介绍。 和前面一样,加载模块之前,我们必须将该文件添加到__manifest__.py文件中︰ 'data': [ 'security/ir.model.access.csv', 'security/todo_access_rules.xml', 'todo_view.xml', 'todo_menu.xml', ], 如果我们做对了所有步骤,现在我们运行测试模块,他们应该是通过的。 上一节:[[添加访问控制安全]] 下一节:[[更好的模块描述]]
返回至
Row-level访问规则
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
odoo 中文开发手册
odoo 开发参考
odoo 实施笔记
Odoo 最佳方案
关于 OdooV
Odoo FAQ
工具
链入页面
相关更改
特殊页面
页面信息
友情链接
odoo官网
odoo中文网
odoo实施