xml声明

 1     <record id="res_company_user_action" model="ir.actions.act_window">
2 <field name="name">Users</field>
3 <field name="res_model">res.users</field>
4 <field name="view_mode">tree,form,kanban</field>
5 <field name="context">
6 {
7 'form_view_ref':'ship_manage.res_company_user_view_form',
8 'tree_view_ref':'ship_manage.res_company_user_view_tree',
9 'kanban_view_ref':'ship_manage.res_company_user_view_kanban',
10 'search_view_ref':'ship_manage.res_company_user_view_search'
11 }
12 </field>
13 </record>
ir.actions.server 调用action。这样你就可以根据当前用户去过滤信息;当然你也可以选择ir.rule过滤域去实现。
1     <record model="ir.actions.server" id="res_company_user_server_action">
2 <field name="name">Company User Server Action</field>
3 <field name="model_id" ref="base.model_res_users"/>
4 <field name="state">code</field>
5 <field name="code">
6 action = env.ref('ship_manage.res_company_user_action').read()[0]
7 action['domain'] = [('company_id','=',env.user.company_id.id)]
8 </field>
9 </record>

ir.actions.server 手动配置action参数

 1     <record model="ir.actions.server" id="res_company_action1">
2 <field name="name">Company Server Action</field>
3 <field name="model_id" ref="base.model_res_company"/>
4 <field name="state">code</field>
5 <field name="code">
6 action = {
7 'name':'Company Test',
8 'type': 'ir.actions.act_window',
9 'res_model': 'res.company',
10 'view_mode': 'form',
11 'view_type': 'form',
12 'target': 'main',
13 'res_id': env.user.company_id.id,
14 'context': {'form_view_ref':'ship_manage.res_company_view_form_test'}
15 }
16 </field>
17 </record>

button事件调用action

xml:
<button name="get_company_action" string="Company Action" type="object"/> python:
def get_company_action(self):
action = self.env.ref('ship_manage.ship_manage_res_company_action').read()[0] #这里你也可以自己去定义
action['res_id'] = self.env.user.company_id.id
return action

或者自定义:
def get_company_action(self):
  return {
      'name': _('Repair Bill'),
      'type': 'ir.actions.act_window',
      'res_model': 'bill.head',
      'view_mode': 'form',
      'target': 'main',
      'res_id': rb.id,
      'context': {
      'form_view_ref': 'ship.bill_head_view_form',
      }
    }

js 事件调用action。这里和唯一区别是views。list指的是tree视图,第一个参数false指的是按优先级获取默认的视图。你也可以指定一个视图id,你需要ref去获取ir.actions.act_window的记录id。

1         _onBtnClicked: function (ev) {
2 this.do_action({
3 type: 'ir.actions.act_window',
4 name: this.title,
5 res_model: this.modelName,
6 views: [[false, 'list'], [false, 'form']],
7 domain: ev.data.domain,
8 });
9 },

actions 源码相对路径:odoo/odoo/addons/base/models/ir_actions.py

Odoo14 ir.actions.act_window的更多相关文章

  1. Odoo ir actions 分析

    源代码位置:openerp/addons/base/ir/ir_actions.py 根类型:ir.actions.actions class actions(osv.osv): _name = 'i ...

  2. Odoo14 ir.rule 中的domain查询语句

    # ir.rule 中的domain查询语句 # 当你的字段是many2one.many2many.one2many的时候domain都会强制加上过滤域 # tree显示的时候也会过滤 # m.mod ...

  3. Odoo14 ir.config_parameter 系统参数

    1 # 文件上传大小限制 2 web.max_file_upload_size = 128 * 1024 * 1024 # 128m 3 # 以上是odoo中设置上传文件的最大size,但如果你用了n ...

  4. 【odoo14】第十五章、网站客户端开发

    odoo的web客户端.后台是员工经常使用的地方.在第九章中,我们了解了如何使用后台提供的各种可能性.本章,我们将了解如何扩展这种可能性.其中web模块包含了我们在使用odoo中的各种交互行为. 本章 ...

  5. 【odoo14】第八章、服务侧开发-进阶

    本章代码位于作为GITHUB库 https://github.com/PacktPublishing/Odoo-14-Development-Cookbook-Fourth-Edition 在第五章( ...

  6. 【odoo14】【开发侧】权限配置

    欢迎转载,但需标注出处,谢谢! 说明: 本文面向开发人员,普通用户可参考[odoo14][用户侧]权限配置.文章结构与用户侧一致. 目录 一. odoo中的对象 二. 权限控制 2.1 实现原理 2. ...

  7. Odoo14 OWL 如何访问model方法和res_id

    首先OWL是Odoo14版本新加的功能. 因为是新加的所以并没有太多的说明文档,包括英文板文档也没有:所以你要用它再没有更详细的文档之前你得自己去看源码. 注意owl是没有do_action函数给你跳 ...

  8. odoo10学习笔记十:Actions

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189319.html actions定义了系统对于用户的操作的响应:登录.按钮.选择项目等. 一:窗口ac ...

  9. act_window 属性

    窗口Action(ir.actions.act_window ) 最常用的action类型,用于将model的数据展示出来 字段列表: 1.res_model -- 需要在view里显示数据的mode ...

随机推荐

  1. kvm 虚拟化技术 1.1 安装

    1.·VMware开启虚拟化设置 2.安装一些虚拟化的必备插件 yum install -y qemu-kvm qemu-kvm-tools libvirt virt-manager virt-ins ...

  2. spring 事务传播(Propagation)

    propagation 一共有以下几种选项: 1. REQUIRED(默认): 使用当前的事务,如果当前没有事务,则自己新建一个事务,子方法必须运行在一个事务中:如果当前存在事务,则加入这个事务,成为 ...

  3. Java 15 新特性:隐藏类

    什么是隐藏类 隐藏类,是一种不能被其他类直接使用的类.引入隐藏类的主要目的是给框架来使用,使得框架可以在运行时生成类,并通过反射间接使用它们.可能有点抽象,不要紧,下面我们通过一个例子来直观的认识它! ...

  4. 使用 VS Code + Markdown 编写 PDF 文档

    背景介绍 作为一个技术人员,基本都需要编写技术相关文档,而且大部分技术人员都应该掌握 markdown 这个技能,使用 markdown 来编写并生成 PDF 文档将会是一个不错的体验,以下就介绍下如 ...

  5. MyBatis 结果映射总结

    前言 结果映射指的是将数据表中的字段与实体类中的属性关联起来,这样 MyBatis 就可以根据查询到的数据来填充实体对象的属性,帮助我们完成赋值操作.其实 MyBatis 的官方文档对映射规则的讲解还 ...

  6. 硬件开发笔记(四):硬件开发基本流程,制作一个USB转RS232的模块(三):设计原理图

    前者   前面建立好的基础的元器件,下面开始设计原理图.   需求 USB转RS232,输出RS232 可以选择性输出5V的TTL 可以选择性输出3.3V的TTL   设计原理图 步骤一:CH340G ...

  7. uniapp小程序webSocket封装使用

    目录 1,前言 2,代码实现 3,使用 3.1,初始化 3.2,发送消息 3.3,接收消息 1,前言 最近在做IOT的项目,里面有个小程序要用到webSocket,借这个机会,封装了一个uniapp小 ...

  8. JAVA - ArrayList是否会越界?

    JAVA - ArrayList是否会越界? ArrayList并发add()可能出现数组下标越界异常. ArrayList是实现了基于动态数组的数据结构. LinkedList是基于链表的数据结构 ...

  9. CSP 2021 总结

    CSP 2021 总结 PJ 开题顺序:1342 应该先做 T2 ,导致我 T2 直接看错 T1.T3 T1 :直接推规律即可,考场的想法应该正确 T3 :好家伙直接 map 走起 T2 最崩溃的来了 ...

  10. 2021.03.20【NOIP提高B组】模拟 总结

    区间 DP 专场:愉快爆炸 T1 题目大意 有 \(n\) 个有颜色的块,连续 \(k\) 个相同颜色的就可以消掉 现在可以在任意位置插入任意颜色的方块,问最少插入多少个可以全部抵消 题解 先把连续的 ...