首页 > 其他分享 >odoo中怎么为菜单配置权限组

odoo中怎么为菜单配置权限组

时间:2023-10-16 15:11:07浏览次数:30  
标签:菜单 group ss 识图 design odoo model 权限 literacy

 

 上面的需求是:为  ”设计识图“  这个菜单添加权限: 只有在设置 > 用户和公司 > 用户组中,会有一个名为“辅助组-设计识图”打钩后,才会显示这个菜单项:

 实现上面的需求共三步:

 

 

  1、在本模块的security目录下的\security\ir.model.access.csv 下为模型添加权限(如果有子表的话,也要添加权限):

    id_ss_design_literacy_group_design,name_ss_design_literacy_group_design,ss_picture.model_ss_design_literacy,group_design,1,1,1,1
    id_ss_design_literacy_result_group_design,name_ss_design_literacy_result_group_design,ss_picture.model_ss_design_literacy_result,group_design,1,1,1,1
        
    
      ss_design_literacy:模型名
    group_design :组名   ss_picture:模块名
 2、在本模块的security目录下的\security\ir.model.access.xml 下定义组与安全规则

                                              

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="0">

    <!--定义一个新的用户组    -->
    <record id="group_design" model="res.groups">  <!--这里的‘group_design’  就是第一步中的组名,这个一定要一致,否则会报错。-->
    <field name="name">辅助组-设计识图</field>
    <field name="category_id" ref="base.module_category_ss_picture"/>
    </record>
    <!--  为模型定义安全规则  -->
    <record id="rule_designer_only" model="ir.rule">
    <field name="name">只有设计师可以访问</field>
    <field name="model_id" ref="model_ss_design_literacy"/>
    <field name="groups" eval="[(4, ref('ss_picture.group_design'))]"/>
    <field name="domain_force">[(1, '=', 1)]</field>
    <field name="perm_read" eval="1"/>
    <field name="perm_write" eval="1"/>
    <field name="perm_create" eval="1"/>
    <field name="perm_unlink" eval="1"/>
    </record>



</data>
</odoo>

以下是对上面代码的详细解释:

<!-- 定义一个新的用户组 -->
<record id="group_design" model="res.groups"> <!-- 在res.groups模型中创建一个新的记录,其ID为group_design,这个ID是唯一的标识符,确保它在模块中是唯一的,避免重复。 -->
    <field name="name">辅助组-设计识图</field> <!-- 用户组的显示名称为“辅助组-设计识图”。 -->
    <field name="category_id" ref="base.module_category_ss_picture"/> <!-- 关联到“base.module_category_ss_picture”这个权限分类。这意味着该用户组将在该分类下显示。 -->
</record>

<!-- 为模型定义安全规则 -->
<record id="rule_designer_only" model="ir.rule"> <!-- 在ir.rule模型中创建一个新的记录,其ID为rule_designer_only,这个ID是唯一的标识符,确保它在模块中是唯一的,避免重复。 -->
    <field name="name">只有设计师可以访问</field> <!-- 该安全规则的显示名称为“只有设计师可以访问”。 -->
    <field name="model_id" ref="model_ss_design_literacy"/> <!-- 这个规则适用于“model_ss_design_literacy”模型。确保你的模型名称是正确的并且已经被定义。 -->
    <field name="groups" eval="[(4, ref('ss_picture.group_design'))]"/> <!-- 该规则只适用于“ss_picture.group_design”用户组。这意味着只有该用户组的成员受此规则约束。4代表添加操作,将指定的组添加到此规则中。 -->
    <field name="domain_force">[(1, '=', 1)]</field> <!-- 定义了该规则的适用域。这里的域表示对所有记录都适用,因为1=1始终为真。 -->
    <field name="perm_read" eval="1"/> <!-- 允许用户组成员读取记录。 -->
    <field name="perm_write" eval="1"/> <!-- 允许用户组成员修改记录。 -->
    <field name="perm_create" eval="1"/> <!-- 允许用户组成员创建新记录。 -->
    <field name="perm_unlink" eval="1"/> <!-- 允许用户组成员删除记录。 -->
</record>

 

 


3、在本模块的\views\目录下的xml文件中,添加以下代码
  
      <menuitem id="menu_design_literacy" name="设计识图" parent="ss_picture.ss_picture_menu"
          action="ss_design_literacy_action" groups="ss_picture.group_design"/>

 

完成综上步骤后,升级所在模块后,就可以看到最上面图中所显示的菜单了。本页面中的两个按钮。我用了css进行了美化和位移。

















标签:菜单,group,ss,识图,design,odoo,model,权限,literacy
From: https://www.cnblogs.com/lyt263/p/17767349.html

相关文章

  • VA01/VA02/VA03 销售订单根据定价和步骤校验权限隐藏价格
    1、业务需求针对用户使用销售订单时,根据定价和步骤顺序,判断是否有权限,没有权限时隐藏销售订单抬头和行项目的部分价格数据要限制的定价和步骤在spro中的位置限制的步骤2、增强实现2.1权限对象创建带有定价和步骤的权限对象分配权限2.2、隐藏抬头和行项目价格隐藏抬头......
  • mybatisplus3.5.3版本,数据权限如何使用
    1、添加依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.......
  • Linux系统第四章文件权限读书笔记
    基本权限UGO:     1.UGO权限的含义:UGO是Linux文件权限管理中的基本概念,表示用户(User)、组(Group)、其他人(Others)。这三个范围定义了文件或目录的访问权限,控制着谁可以执行何种操作。User(用户):这是文件或目录的所有者。用户权限是最重要的,因为他们拥有最高级别的控制权......
  • rbac权限
    1.1认证认证基本介绍kubernetes主要通过APIserver对外提供服务,那么就需要对访问apiserver的用户做认证,如果任何人都能访问apiserver,那么就可以随意在k8s集群部署资源,这是非常危险的,也容易被黑客攻击渗透,所以需要我们对访问k8s系统的apiserver的用户进行认证,确保是合法的符合要......
  • 安装odoo13出现relation "ir_module_module" does not exist
    全新安装的odoo,但启动时出现relation"ir_module_module"doesnotexist,以为是数据库要手动初始化,所以也在启动时加入-ibase-dodoo13的命令,但也无效,注释addons_path就ok,但路径检查过是没有问题的,待启动之后,再打开addons_path就行了,应该和addons_path里面有些插件有错误导致......
  • 设置不同区域编辑权限
    问题:为不同区域设置不同权限解决:审阅》允许编辑区域》新建》设置区域与密码》重复新建多个区域》保护工作表......
  • Linux怎么修改权限
    rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限时-rw----第一位:-就代表是文件,d代表是文件夹第一段(3位):代表拥有者的权限第二段(3位):代表拥有者所在的组,组员的......
  • el-menu三级菜单示例
    <el-menudefault-active="0"class="el-menu-demo"mode="horizontal"background-color="#545c64"active-text-color="#ffd04b"text-color="#fff"router@select="handleSelect">......
  • js_下来菜单自动补全
    <scripttype="text/javascript">   //需要添加的数据内容,可以通过ajax请求获取   //定义加载部品番号的函数   functionloadcities(){       varurl="rawedge.aspx?action=get_matnrlist";       $.get(url,function(data){    ......
  • 网安--sql注入(高权限注入)
     查询库中的所有表:http://127.0.0.1/sqli/Less-2/?id=-1%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=0x74657374(test的hex)查询表的字段:http://127.0.0.1/sqli/Less-2/?id=-1%20union%20select%201,group_c......