【问题标题】:Custom module and creating groups in odoo 10odoo 10 中的自定义模块和创建组
【发布时间】:2017-05-27 22:16:03
【问题描述】:

我正在 Windows 上使用 odoo 10。我已经创建了一个新的自定义模块,现在我想将我的服装模块的一些菜单添加到某些用户。

我是 odoo 的新手,所以我的问题是我可以通过创建组来做到这一点,将菜单关联到我的组,然后将用户添加到组(我尝试过,但它不起作用,当我使用用户我什么也没找到)。 我在网上搜索,发现我需要通过 ir.model.access.csv(安全文件夹)创建我的组:id、name、model_id:id、group_id:id、perm_read、perm_write、perm_create, perm_unlink access_testmod_test,access_testmod_test,model_testmod_test,,1,1,1,1。 不幸的是,我不太明白我该怎么做以及在某些领域应该写什么。 所以有人可以给我一个很好的教程,我可以使用示例,女巫向我展示了如何创建不同的组并将用户添加到其中,并将我的自定义模块的一些菜单添加到其中。

谢谢。

【问题讨论】:

标签: openerp


【解决方案1】:

所以我尝试了这段代码,但它对我不起作用,也许我在这里做错了:我在我的安全文件夹中创建了一个文件 securuty.xml,其中包含以下内容

<?xml version="1.0" encoding="utf-8"?>
<odoo>
   <data noupdate="0">
       <!-- Creating a Group Category -->        
       <record id="evaluation_subj" model="ir.module.category">
           <field name="name">evaluation subjective</field>
           <field name="sequence">1</field>
       </record>
       <!-- Adding a Group to the Group Category -->
       <record id="group_eval_subj" model="res.groups">
           <field name="name">Groupe Evaluation Subjective</field>
           <field name="evaluation_subj" ref="evaluation subjective"/>
           <!-- Adding Rights of existing Groups -->
           <field name="implied_ids"
                  eval="[(4, ref('base.group_system')), (4,ref('base.group_sale_manager'))]"/>
       </record>
    </data>
</odoo>

然后在文件 pnc_menus.xml 中(我有一个名为 pnc_menus.xml 的文件,我在其中创建了所有菜单)我将组字段添加到此菜单:

<menuitem name="Parties Prenantes" id="pnc_evaluation_stakeholders" action="pncevaluation_partieprenante" parent="pnc_documents" sequence="40" groups="base.group_system"/> 然后在我的安全文件夹的 csv 文件中我添加了这个: id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink eval_group,groupe_evaluation,pnc_evaluation_stakeholders,group_eval_subj,1,1,1,1 当我更新我的模块时,我有一个错误提示“无法处理 csv 文件”

【讨论】:

    【解决方案2】:

    创建组类别和组

    security/security.xml

    <?xml version="1.0" encoding="utf-8"?>
        <openerp>
           <data noupdate="0">
               <!-- Creating a Group Category -->        
               <record id="category_name" model="ir.module.category">
                   <field name="name">Name</field>
                   <field name="sequence">1</field>
               </record>
               <!-- Adding a Group to the Group Category -->
               <record id="group_name" model="res.groups">
                   <field name="name">Group Name</field>
                   <field name="category_id" ref="category_name"/>
                   <!-- Adding Rights of existing Groups -->
                   <field name="implied_ids"
                          eval="[(4, ref('base.group_system')), (4,ref('base.group_sale_manager'))]"/>
               </record>
            </data>
        </openerp>
    

    将组添加到现有菜单 (base.group_system)

    <menuitem name="Name" id="id_name" parent="module.menu_id" action="module.action_id" 
    groups="base.group_system"/>
    

    security/ir.model.access.csv

    让您的小组访问您的模型

    access_anything,classname,model_classname,group_id,1,1,1,1
    

    例如(base.被添加是因为model_ir_property不是来自自己的模块)

    access_ir_property1,ir_property,base.model_ir_property,your_new_group_id,1,1,1,1
    

    进入设置->群组,选择您的新群组,按“编辑”并在“用户”页面添加用户。

    【讨论】:

    • 谢谢,我会测试它并提供反馈
    • Manu W. 所以我尝试了这段代码,但它对我不起作用,也许我在这里做错了:我在我的安全文件夹中创建了一个文件 securuty.xml,其中包含以下内容:
    • 评价主观1 >
    • Groupe 主观评价
    • 然后在文件 pnc_menus.xml 我添加了 groips 字段:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-05
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多