【问题标题】:OpenERP 7 Access Rights for User RolesOpenERP 7 用户角色的访问权限
【发布时间】:2013-04-12 08:35:48
【问题描述】:

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

<?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" />

【问题讨论】:

    标签: python xml openerp


    【解决方案1】:

    我没有在您的模块中找到任何 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 是对象的名称,sales.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

    【讨论】:

    • 非常感谢。那是我的缺失点。现在我正在纠正它你推荐什么 CSV 文件创建器。? OpenOffice CALC.?
    • 问题 sorted.issue 由于旧 db.new db 它工作得很好:-)
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-01
      • 1970-01-01
      • 2012-10-25
      • 1970-01-01
      • 2013-07-14
      • 1970-01-01
      • 2019-04-30
      • 1970-01-01
      相关资源
      最近更新 更多