odoo学习之security, menu, tree, form

news2025/2/24 7:31:09

security

在ir.model.access.csv中

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink

可以设置成

access_org_info,org.info,model_org_info,,1,1,1,1

其中:access_org_info:access_为固定开头,org_info为模块名称
org.info:为定义的模型文件里面model的_name字段
model_org_info:model_为固定开头,org_info为model的_name字段,但是要把 . 改成 _
base.group_user:可以不填
1,1,1,1 代表之前四个字段的权限
注:要在__manifest__.py中,把ir.model.access.csv注释打开,权限才生效

menu

创建菜单视图

  1. 在view中定义一个menutem.xml文件
<odoo>
    <menuitem name="组织中心" id="org.menu_root"/>
    <menuitem name="部门管理" id="menu_1" parent="org.menu_root" action="department_action"/>
</odoo>
  • menuitem标签:为创建菜单的标签
  • name属性:就是在菜单显示的内容
  • id属性:id标识,这里是唯一的即可
  • parent属性:父级,我们在下面定义parent就可以将下面的子菜单定位在id为org.menu_root的页面中了
  • action属性:动作,必须制定到对于的act_windows视图上,没有指定则页面不会显示这个菜单功能
  1. 在view中定义一个department.xml文件
<odoo>
    <record id="department_action" model="ir.actions.act_window" >
        <field name="name">部门管理</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">org.department</field>
        <field name="view_mode">tree,form</field>
    </record>
</odoo>
  • record标签:语法标准,必须要写在最外面
  • id属性:id标识,这里是唯一的即可
  • model属性:xml会继承IrActionsActWindow的动作模型,odoo会根据模型来渲染视图,我们每一个view都要设置一个基础的act_windows视图
  • field->name=“name”:定义页面的左上角显示内容
  • field->name=“type”:类型
  • field->name=“res_model”:act_windows对应渲染的模型,这里写上我们之前定义的org.department模型即可
  • field->name=“view_mode”:需要渲染的类型,这里先定义tree视图和form视图
  1. 在_manifest_.py中加载刚创建的两个视图
 # 加载的视图
    'data': [
        '....',
        'views/department.xml',
        'views/menutem.xml',
    ],

注意:注意顺序,菜单视图一定要放在最后,act_windows视图放在菜单视图的上面
4)进入security->ir.model.access.csv文件中替换下面代码

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_org_department,org.department,model_org_department,,1,1,1,1
  • id: 唯一标识,必须唯一
  • name: 描述名称,描述信息
  • model_id:id:model的id格式是 model_模型类名
  • group_id:id : group组的id,这里可以不填,或者写上自己的定义的用户组
  • perm_read:查看 1有权限,0无权限,下面的一样的
  • perm_write:修改
  • perm_create: 创建
  • perm_unlink: 删除

并在data中打开对应的权限文件的屏蔽

 # 加载的视图
    'data': [
       'security/ir.model.access.csv',
        'views/department.xml',
        'views/menutem.xml',
    ],

5)最后,进入应用找到自己的模块去升级

tree

  1. 创建act_window
    在views文件夹中创建member.xml文件
<odoo>
    <record id="member_action" model="ir.actions.act_window">
        <field name="name">成员管理</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">org.member</field>
        <field name="view_mode">tree</field>
    </record>
</odoo>

2)把menutem.xml文件改成

<odoo>
    <menuitem name="组织中心" id="org.menu_root"/>
    <menuitem name="部门管理" id="menu_1" parent="org.menu_root" action="department_action"/>
    <menuitem name="成员管理" id="menu_2" parent="org.menu_root" action="member_action"/>
</odoo>

3)并在_manifest_.py中加载刚创建视图

 # 加载的视图
    'data': [
        '....',
        'security/ir.model.access.csv',
        'views/department.xml',
        'views/member.xml',
        'views/menutem.xml',
    ],

4)最后升级模块

创建tree视图代码

1)在member.xml文件中添加代码

    <record id="member_view_tree" model="ir.ui.view">
      <field name="name">成员管理列表</field>
      <field name="model">org.member</field>
      <field name="arch" type="xml">
        <tree>
          <field name="name"/>
          <field name="phone" />
          <field name="duty" />
          <field name="role_id" />
          <field name="department_id" />
        </tree>
      </field>
    </record>

在record中大部分都是固定写法,在tree标签中写上对应的字段名称即可
注:
模型名称 模型名称一定要一致并且不能写错,因为odoo会根据Model的对应到对应的view视图
tree标签,这是tree视图的标志,不可以少
tree标签中的field,name等于值和数据库的字段名要一致才能正确渲染
2)修改security权限
3)升级模块

form

什么是from视图

  • from视图即表单视图
  • 我们可以理解为对tree列表修改,创建的时候的视图展示样式
  • tree视图创建之后会自动创建一个对应的from视图,但是我们如果想要排版或者对自己进行一些操作那么就需要自己来自定义from视图了
创建form视图

之前已经创建了tree视图,现在需要加入form视图需要修改两个地方

  1. 修改views文件中member.xml文件act_window的view_mode的地方,添加from
    在这里插入图片描述

2)添加form视图内容

    <record id="member_view_form" model="ir.ui.view">
      <field name="name">member_view_form</field>
      <field name="model">org.member</field>
      <field name="arch" type="xml">
        <form string="members_form">
          <sheet>
            <group>
              <field name="name"/>
              <field name="phone"/>
              <field name="duty"/>
              <field name="role_id"/>
              <field name="department_id"/>
            </group>
          </sheet>
        </form>
      </field>
    </record>

注:model的地方也一定要也正确
from里面是组的概念所以一定要使用group组来包着field字段

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/127964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mol2Image: Improved Conditional Flow Models for Molecule to Image Synthesis

Mol2Image: 连接药物分子与细胞显微图像的条件流模型【2021CVPR】 Mol2Image: Improved Conditional Flow Models for Molecule to Image Synthesis paper&#xff1a;Improved Conditional Flow Models for Molecule to Image Synthesis | Papers With Code code&#xff1…

谷粒商城之高级篇(3)

2 商城业务 2.7 订单服务 2.7.22 创建业务交换机&队列 这里承接 知识补充篇 6 RabbitMQ 订单分布式主体逻辑 订单超时未支付触发订单过期状态修改与库存解锁 创建订单时消息会被发送至队列order.delay.queue&#xff0c;经过TTL的时间后消息会变成死信以order.release…

如何配置 SLO

前言 无论是对外提供 IaaS PaaS SaaS 的云公司&#xff0c;还是提供信息技术服务的乙方公司&#xff0c;亦或是金融 制造等各行各业的数据中心、运维部门&#xff0c;我们的一个非常重要的合同承诺或考核评估指标就是&#xff1a;SLA&#xff08;即&#xff1a;Service-Level …

蓝桥杯算法训练:FBI树(c++实现+图文详解)

文章目录FBI树C代码示例FBI树 题目要求 我们可以把由“0”和“1”组成的字符串分为三类&#xff1a;全“0”串称为B串&#xff0c;全“1”串称为I串&#xff0c;既含“0”又含“1”的串则称为F串。 FBI树是一种二叉树&#xff0c;它的结点类型也包括F结点&#xff0c;B结点和I…

某公司高管疾呼:底层程序员离职率太高,有人入职不到半年就走!建议把恶意离职加入征信,让年轻人对公司有起码的尊重!...

许多人入职后才发现公司有各种难以忍受的问题&#xff0c;入职时间很短就被迫离职&#xff0c;这本是无可奈何的事&#xff0c;但一位公司高管却对此非常愤怒&#xff0c;指出“目前基层程序员离职率太高&#xff0c;有人入职不到半年就走了”&#xff0c;还建议把恶意离职加入…

MVC开发模式

1、JSP演变历史 1、早期只有servlet&#xff0c;只能使用response输出标签数据&#xff0c;非常麻烦 2、后来又有了jsp&#xff0c;简化了Servlet的开发&#xff0c;但如果过度使用jsp&#xff0c;在jsp中即写大量的Java代码&#xff0c;又有HTML&#xff0c;会造成难以维护&am…

【红黑树】

红黑树红黑树的概念红黑树的性质红黑树结点的定义红黑树的插入红黑树的验证红黑树的查找红黑树与AVL树的比较红黑树的概念 红黑树是一种二叉搜索树&#xff0c;但在每个结点上增加了一个存储位用于表示结点的颜色&#xff0c;这个颜色可以是红色的&#xff0c;也可以是黑色的&a…

主存储器扩展技术(计组)

用已有的存储器芯片构造一个需要的存储空间。 位扩展–扩展字长 构成内存的存储器芯片的字长小于内存单元要求的字长时–需要进行位扩展。实例&#xff1a; 位扩展的连线特点&#xff1a; 将每片的地址线、控制线并联&#xff0c;数据线分别引出。 效果&#xff1a; 存…

JavaSE笔记——函数式编程(流)

文章目录前言一、从外部迭代到内部迭代二、实现机制三、常用的流操作1.collect(toList())2.map3.filter4.flatMap5.max和min6.reduce四、多次调用流操作五、高阶函数总结前言 流是一系列与特定存储机制无关的元素——实际上&#xff0c;流并没有 “存储” 之说。利用流&#x…

如何用python打造新年氛围组?【内含html源码赠送】

嗨害大家好鸭&#xff01;我是小熊猫~ 离正式过新年还有24天~ 这次给大家整一个花活~ 就是每时每秒都提醒离新年还有多久 我这里还有一些中国结的python代码&#xff0c; 大家可以文末名片自行领取鸭~ 倒计时 效果展示 有什么python相关报错解答自己不会的、或者源码资料/…

操作系统——计算机系统概述

操作系统——计算机系统概述一、操作系统的概念1、定义2、功能和目标二 、操作系统特征1、并发性2、共享性3、虚拟性4、异步性三、操作系统的发展1、手工操作阶段2、批处理阶段——单道批处理系统2、批处理阶段——多道批处理系统3、实时操作系统四、运行机制和体系结构1、运行…

EnvironmentAware 接口的使用

文章目录1、EnvironmentAware 接口作用2、实际应用3、代码演示1&#xff09;基本配置准备2&#xff09;增加属性配置文件 application.properties3&#xff09;增加配置类实现 EnvironmentAware 接口4、编写 main 方法的类 SpringTest.java5、运行 main 方法查看结果1、Environ…

Java之线程状态

目录一、简介二、线程状态1、新建状态&#xff08;New&#xff09;2、运行状态&#xff08;Runnable&#xff09;3、阻塞状态&#xff08;Blocked/Waiting/TimeWaiting&#xff09;&#xff08;1&#xff09;被阻塞状态&#xff08;Blocked&#xff09;&#xff08;2&#xff0…

新新新~Revit插件【建模助手】7大模块介绍

年底了&#xff0c;大家是不是都在喝茶、聊天、等跨年&#xff1b;而我&#xff0c;建模助手&#xff0c;则在——总结、规划、PPT。 不盘不知道&#xff0c;一盘可吓了我一大跳&#xff01;没想到咱们在过去一年居然建设了这么多丰功伟绩&#xff1a; 说点标志性的&#xff…

到底什么是电子管(真空管)?

1883年&#xff0c;著名发明家托马斯爱迪生&#xff08;Thomas Edison&#xff09;在一次实验中&#xff0c;观察到一种奇怪现象。当时&#xff0c;他正在进行灯丝&#xff08;碳丝&#xff09;的寿命测试。在灯丝旁边&#xff0c;他放置了一根铜丝&#xff0c;但铜丝并没有接在…

WebRTC系列-视频VideoBroadcaster与视频流

文章目录 1. VideoBroadcaster 添加sink2. VideoBroadcaster 视频数据分发OnFrame方法在前面的文章视频的采集流程中,视频数据采集完成后到编码器之前,如果需要渲染处理那里需要两路视频,WebRTC是实现了一个视频分发器VideoBroadcaster;用来分发采集的视频帧; 这篇文章主要…

Nginx网页配置工具nginxWebUI

今天应该是我们公司 2022 年最后一天上班了&#xff0c;给自己做个简单的年度总结吧&#xff1a; 1月&#xff1a;做核酸 2月&#xff1a;做核酸 3月&#xff1a;做核酸&#xff0c;半个月左右居家办公 4月&#xff1a;做核酸&#xff0c;静态管理 5月&#xff1a;做核酸&…

贪吃蛇基础·框架版(简单)开头有原码

更新不易&#xff0c;麻烦多多点赞&#xff0c;欢迎你的提问&#xff0c;感谢你的转发&#xff0c; 最后的最后&#xff0c;关注我&#xff0c;关注我&#xff0c;关注我&#xff0c;你会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我…

XStream < 1.4.20 栈缓冲区溢出漏洞

漏洞描述 XStream 是一个轻量级的、简单易用的开源Java类库&#xff0c;它主要用于将对象序列化成XML&#xff08;JSON&#xff09;或反序列化为对象。 在1.4.20之前的版本中存在栈缓冲区溢出漏洞&#xff0c;从而导致通过操纵已处理的输入流来造成拒绝服务。 在使用集合和映…

一文掌握FastDeploy Serving服务化部署(打造线上证件照制作系统,含完整代码)

目录一、概述1.1 服务化部署1.2 FastDeploy简介二、搭建线上证件照制作系统2.1 准备环境2.1.1 安装Docker2.1.2 安装NVIDIA Container Toolkit2.1.3 获取FastDeploy Serving镜像2.2 部署模型2.2.1 准备模型仓库2.2.2 编写配置文件config.pbtxt2.2.3 服务启动2.3.4 测试访问2.3 …