【发布时间】:2014-04-17 14:46:16
【问题描述】:
我在 OpenERP 7 中开发了一个自定义模块,我的管理员用户只能看到这个模块。
1-如何让普通用户访问我的自定义模块?
2-解决这个问题的步骤是什么。
请举个详细的例子。
【问题讨论】:
标签: openerp-7
我在 OpenERP 7 中开发了一个自定义模块,我的管理员用户只能看到这个模块。
1-如何让普通用户访问我的自定义模块?
2-解决这个问题的步骤是什么。
请举个详细的例子。
【问题讨论】:
标签: openerp-7
创建一个Security folder,它有以下两个文件。例如,
security/test_security.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<record model="ir.module.category" id="module_category_name_test">
<field name="name">Management</field>
<field name="sequence">7</field>
</record>
<record id="group_name_test_user" model="res.groups">
<field name="name">User</field>
<field name="category_id" ref="module_category_name_test"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
</record>
<record id="group_name_test_manager" model="res.groups">
<field name="name">Manager</field>
<field name="category_id" ref="module_category_name_test"/>
<field name="implied_ids" eval="[(4, ref('group_name_test_user'))]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
</data>
</openerp>
执行此操作后管理选项显示两个选择值,如setting => Users => Access Rights => Application中的用户和经理
现在转向 security/ir.model.access.csv
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
unique_id, test.name, model_test_name, group_name_test_user, 1,1,0,0
unique_id, test.name, model_test_name, group_name_test_manager, 1,1,1,1
test.name 是一个表名。
csv文件示例,如何创建?在哪里
Fields => Value => Description
id => access_testing_for_user => id 必须是唯一的。
name => testing.for.user => 名称随心所欲。
model_id:id => model_test_name => model_id:id 与 model_our_class_name 类似。
group_id:id => group_name_test_user => group_id:id 是上面我们为 User 和 Manager 创建的 xml id。
perm_read => 1 表示 True,0 表示 False 表示读取记录。
perm_write => 1 表示 True,0 表示 False 表示写入记录。
perm_create => 1 表示 True,0 表示 False 用于创建记录。
perm_unlink => 1 代表 True,0 代表 False 删除记录。
注意
这两个文件.xml and .csv 必须列在__openerp__.py 中,因为给出了其他视图文件。
【讨论】:
test_security.xml文件__openerp__文件吗?
.xml file 中,我们在上面给出的路径中创建一个菜单,例如访问权限 => 应用程序。 .xml file 用于菜单,它有两个选择值,例如用户和管理员。如果您选择User,则根据 csv 文件中给出的用户权限对其应用。对于同一个“经理”。对于特定的菜单权限,我们在view.xml 文件中使用.xml id。还有一件重要的事情,这两个文件必须列在__openerp__.py 中,就像我们给other view files 一样。