• odoo开发笔记 -- 用户配置界面增加模块访问权限


    在odoo设置界面,点击用户,进入用户配置界面,会看到:

    访问权 | 个人资料菜单

    在访问权 page菜单界面,可以看到系统预制的一些模块都会显示在这里,

    那么,我们自己开发的模块如何显示在这块呢,从而方便在创建用户的时候,给该用户访问我们自己开发模块的权限!

    实现方式:

    在odoo后台代码中增加两个文件,并在__manifest__.py中申明引用这两个文件。

    具体编写:

    新建两个文件夹:

    (1) 在自己模块根目录下,创建data 和 security 两个目录,一般这两个目录也是平时odoo模块开发时的标准目录结构。

    (2) 在security目录下,创建名为:xxx_security.xml的文件,xxx为你的模块名,切记不要含中文。

    文件内容编写格式:[ 注意:把所有的xxx换成自己的模块名!ref="module_category_xxx" 这句中引用的id就是在下个文件夹data中要写的id

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
      <record id="group_xxx_user" model="res.groups">
        <field name="name">xxx user</field>
        <field name="category_id" ref="module_category_xxx"/>
        <field name="users" eval="[(4, ref('base.user_root'))]"/>
      </record>
    </odoo>

    (3)在第二个目录data下,创建名为:ir_module_category.xml的文件,文件内容:id="module_category_xxx" 和上边提到的ref引用id对应。

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
      <record model="ir.module.category" id="module_category_xxx">
        <field name="name">这块写你的模块名,可以写中文,用于界面显示</field>
        <field name="description">Manage xxx applications</field>
        <field name="sequence">35</field>
      </record>
    </odoo>

    另外需要说明一下,上方文件中的<field name="sequence">35</field> sequence对应的数值,来控制菜单界面的显示顺序,可以根据自己本地的实际环境进行设置相应的值,不要跟odoo设置菜单默认的sequence值一样就行。

    (4) 在__manifest__.py中申明引用这两个文件。

    (5) 重启服务,升级你的模块,ok 验证一下,在设置 - 用户 - 访问权 下,是不是出现了你自己开发的模块。

    ps: odoo权限相关的配置文件,修改之后,需要重启服务,并升级相应的模块才能生效。

  • 相关阅读:
    基于V8引擎的C++和JS的相互交互
    C++和JavaScript脚本的相互调用
    用VC++MFC做文本编辑器(单文档模式)
    模式识别原理(Pattern Recognition)、概念、系统、特征选择和特征
    人工智能代码搜索
    QQ聊天机器人 Delphi代码
    代码自我清除 自我加密、解密的实现
    深入理解JVM虚拟机7:JNDI,OSGI,Tomcat类加载器实现
    深入理解JVM虚拟机6:深入理解JVM类加载机制
    深入理解JVM虚拟机5:虚拟机字节码执行引擎
  • 原文地址:https://www.cnblogs.com/hellojesson/p/8942439.html
Copyright © 2020-2023  润新知