OpenERP 7如何让用户访问OpenERP 7中的自定义模块?

时间:2014-03-13 04:14:40

标签: openerp-7

我在OpenERP 7中开发了一个自定义模块,我的管理员用户只能看到这个模块。

1 - 如何将普通用户访问我的自定义模块?

2 - 解决此问题的步骤是什么。

请举一个详细的例子。

2 个答案:

答案 0 :(得分:14)

创建一个Security folder,其中包含两个文件。例如,

  • test_security.xml和
  • ir.model.access.csv

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 =&gt; access_testing_for_user =&gt; id必须是唯一的。

  • name =&gt; testing.for.user =&gt;名字是我们想要的。

  • model_id:id =&gt; model_test_name =&gt; model_id:id类似于model_our_class_name。

  • group_id:id =&gt; group_name_test_user =&gt; group_id:id是我们为用户和经理创建的上面的xml id。

  • perm_read =&gt; 1表示True,0表示False表示读取记录。

  • perm_write =&gt;写入记录时,1表示True,0表示False。

  • perm_create =&gt; 1表示True,0表示False表示创建记录。

  • perm_unlink =&gt;删除记录为1表示True,0表示False。

注意

这两个文件.xml and .csv必须列在__openerp__.py中,因为其他视图文件已经提供。

答案 1 :(得分:0)

Odoo / OpenERP最重要的领域是如何处理或管理用户。管理用户和分配组或角色是每个企业的关键点。在Odoo / OpenERP中,通过管理员为单个用户分配角色或组。使用通过管理员登录并执行一些设置,例如将组分配给员工或用户,这不是一个好习惯。

我在Odoo中找到了一些关于Access Control List and Security Groups的有用资源。看看。