Skip to main content
 首页 » 编程设计

python之OpenERP 7 用户角色的访问权限

2025年05月04日16tintown

我需要为我的模块添加用户,并且需要对他们进行一些菜单项限制。主要是我创建了用户和管理员角色。在设置 -> 用户 -> 创建用户 -> 访问权限中,我更改了用户或管理员。但没有影响对于该用户,不向他们显示任何菜单项。主菜单项也不显示。 我在 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> 

我的整个代码已上传here & 查看它的'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" /> 

请您参考如下方法:

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

喜欢

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

并更改 openerp.py 文件,如

'security/sale_security.xml', '安全/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,它可以是您可以编写的任何内容,例如 a、access_sale_shop1、access_sale_shop2 等。

name是object的名字,sale.shop是你的object的名字

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