1

我需要为我的模块添加用户并需要对他们进行一些菜单项限制。主要是我创建了用户和管理员角色。在设置 -> 用户 -> 创建用户 -> 访问权限中,我更改了用户或管理员。但对该用户没有影响并且不向他们显示任何菜单项。主菜单项也不会显示。我在 bpl_security.xml 中添加了代码,并将该 xml 文件映射到 openerp.py 文件中。我有什么遗漏吗?请检查我的代码和建议

<?xml version="1.0" ?>
<openerp>
    <data>
        <record model="ir.module.category" id="module_checkroll_category">
            <field name="name">Checkroll</field>
            <field name="description">manager-create new products</field>
            <field name="sequence">16</field>
        </record>
        <record id="group_checkroll_user" model="res.groups">
            <field name="name">Checkroll_User</field>
            <field name="category_id" ref="module_checkroll_category" />
        </record>
        <record id="group_checkroll_manager" model="res.groups">
            <field name="name">Checkroll_Manager</field>
            <field name="implied_ids" eval="[(4, ref('group_checkroll_user'))]" />
            <field name="category_id" ref="module_checkroll_category" />
            <field name="users" eval="[(4, ref('base.user_root'))]" />
        </record>
    </data>
</openerp>

我的整个代码在这里上传并查看它的 bpl_view.xml 第 705 行

这里显示了我在 view.xml 中的相关部分

<menuitem id="menu_bpl" name="Checkroll/Registration" groups="group_checkroll_manager,group_checkroll_user" />
<menuitem id="menu_bpl_ref" name="Reference" parent="menu_bpl"
groups="group_checkroll_user" />
<menuitem id="menu_bpl_logic" name="Company Specific" parent="menu_bpl"
groups="group_checkroll_manager" />
4

2 回答 2

6

我在您的模块中没有找到任何ir.model.access.csv访问权限。您必须在您的模块中创建 ir.model.access.csv,我建议您创建一个安全文件夹并将安全相关文件放在那里

喜欢

Security
  ----ir.model.access.csv
  ----sale_security.xml

并更改openerp .py 文件,例如

'security/sale_security.xml'、'security/ir.model.access.csv'、

并在 ir.model.access.csv 文件中提供如下访问权限:

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_sale_shop,sale.shop,model_sale_shop,base.group_user,1,0,0,0
access_sale_order,sale.order,model_sale_order,base.group_sale_salesman,1,1,1,0

access_sale_shop 是您访问的 id,它可以是任何您可以写的东西,例如,access_sale_shop1、access_sale_shop2 等。

name 是对象的名称, sale.shop 是您的对象的名称

perm_read,perm_write,perm_create,perm_unlink 用于读取、写入、创建、取消链接你给它 1 表示这个组有权限,0 表示没有权限,就像你给 perm_create 意味着用户可以在这个对象中创建,希望这对你来说清楚

model_id 是您的模型的 ID,这里 model_sale_shop 在您模块中的对象处添加模型,它会像:对于这个对象bpl.deduction.estate.data它将是model_bpl_deduction_estate_data

于 2013-04-12T09:38:16.120 回答
0

我认为,您还需要检查我们为每个对象分配的访问权限,例如谁可以管理该对象的哪些操作(编辑/删除/创建/读取)。我可以从您那里看到两个组:Checkroll_User 和 Checkroll_Manager,但是您是否为这些组分配了对象的任何访问权限?

于 2013-04-12T09:00:19.820 回答