actions定义了系统对于用户的操作的响应:登录、按钮、选择项目等。

一:窗口action(ir.actions.act_window )

最常用的action类型,用于将model的数据展示出来。

字段列表:
1.res_model -- 需要在view里显示数据的model
2.views -- 一个(view_id, view_type) 列表,view_type代表视图类型如:form,tree,gragh...,view_id是可选的数据库id或False,如果没有指定id,客户端会自动用fields_view_get()获取相应类型的默认视图,type参数列表的第一个会被默认用来展示
3.res_id (可选) -- 当默认的视图类型是form时,可用于指定加载的数据
4.search_view_id (可选) -- (id, name),id是储存在数据库的搜索视图,默认会读取model的默认搜索视图
5.target (可选) -- 定义视图是 在当前视图上打开(current)、使用全屏模式(fullscreen)、使用弹出框(new)、可使用main代替current来清除面包屑导航
6.context (可选) -- 额外的需要传给视图的环境数据
7.domain (可选) -- 自动添加到视图搜索中的查询
8.limit (可选) -- 在客户端显示的数据量,默认80
9.auto_search(可选) -- 搜索是否在加载默认视图后立即执行,默认True

  view_mode -- 以逗号分隔的视图类型列表,所有类型的视图会被展示出来

  view_ids -- 视图对象的一系列的字段,用于定义视图的默认内容

  view_id -- 将指定的view加入到视图中,以防不被view_ids所包含
上述参数一般在使用数据文件定义action的时候使用:

二:链接Action(ir.actions.act_url)

可以通过odoo的链接打开一个网站页面,可通过两个字段来自定义:

  • url -- 当激活action时所打开的链接
  • target -- new:在新窗口打开,self:替换当前页面内容,默认new

三:服务器Action (ir.actions.server)

可以通过action定位来触发复杂的服务端代码:

    • id -- 服务端action在数据库存储的id
    • context (可选) -- 执行服务端action的上下文环境
      储存在数据库中的action可以基于state执行一些特别的动作,部分字段在state之间是相互共享的

    • model_id -- 与action相关联的model,在 evaluation contexts中可用

    • condition (可选) -- 使用服务端的 evaluation contexts 来执行python代码,如果是False则阻止action执行,默认值是True

code -- 当调用action时执行的python代码

    • object_create -- 使用钩子创建一条新记录(通过create或copy方法)

      • use_create
        1.new - 基于指定的 model_id创建一条记录
        2.new_other - 基于指定的crud_model_id创建一条记录
        3.copy_current - 复制action所引用的记录
        4.copy_other - 复制一个通过ref_object获得的记录

      • fields_lines --当创建或复制记录时需要修改的字段,One2many 会有以下字段:
        1.col1 -- 在use_create里所包含的需要被重赋值的ir.model.fields
        2.value -- 字段对应的值,基于type进行解析
        3.type -- 取值value:就是value字段的值,取值equation:value字段会当成python来解析

      • crud_model_id -- 当use_create为new_other时,表示用于创建新记录的model id
      • ref_object -- 当use_create为copy_other时用于指定创建记录时引用的记录
      • link_new_record -- 是否用用link_field_id将新记录和当前记录进行many2one关联,默认False
      • link_field_id -- 指定当前记录与新记录进行many2one关联的字段
    • object_write -- 与object_create相似,只是只修改当前记录而不创建新记录

      • use_create
        1.current - 修改更新到当前记录
        2.other - 修改更新到通过crud_model_id 或 ref_object指定的新记录
        3.expression - 修改更新到通过crud_model_id 以及 write_expression筛选过后的记录
      • write_expression - 返回一条记录或对象id的python表达式
      • fields_lines,crud_model_id,ref_object与object_create一致
    • multi
      将通过child_ids many2many关系定义的action一个个执行,如果有action自己返回action,最后一个action被返回给客户端作为将前multi action的下一个action

    • trigger 发送一个信号给工作流

      • wkf_transition_id - 用于触发的与workflow.transition有Many2one关系的id
      • use_relational_model - 如果是base(默认),则触发当前记录的维护信号;如果是relational,则触发通过wkf_model_id 和 wkf_field_id筛选出来的当前记录的字段
    • client_action -- 返回通过action_id定义的action

四:报表Action (ir.actions.report.xml)

此action为打印报表的触发器:

  • name(必选) -- 在一个列表里进行查找时使用
  • model (必选) -- 报表所反映的数据来源model
  • report_type (必选) -- qweb-pdf | qweb-html
  • report_name -- 报表命名,用于输出的pdf文件名
  • groups_id -- 可以读取或使用当前报表的用户组,Many2many字段
  • paperformat_id -- 报表所使用的纸张格式,默认使用公司的格式,Many2one字段
  • attachment_use -- 当取值true的时候只在第一次请求时生成报表,之后直接从保存的报表打印,可用于生成后不会有改变的报表
  • attachment -- 使用python表达式来定义报表名字,该记录可用变量object访问

五:客户端Actions (ir.actions.client)

触发一个完全在客户端实现的action:

    • tag -- action在客户端的标识符,一般是一个专用的字符串
    • params (可选) -- 用来传给客户端的python数据字典格式数据
    • target (可选) -- current:当前内容区打开action,fullscreen:以全屏模式打开,new:以弹出框打开

odoo:Actions的更多相关文章

  1. odoo:开源 ERP/CRM 入门与实践 -- 上海嘉冰信息技术公司提供咨询服务

    odoo:开源 ERP/CRM 入门与实践 看了这张图,或许你对odoo有了一些兴趣. 这次Chat就是和大家一起交流开源ERP/CRM系统:odoo 对以下读者有帮助:研发.产品.项目.市场.服务. ...

  2. odoo通过actions.client进行自定义页面

    一.使用原因 由于odoo自带页面在项目开发过程中无法满足使用,需要使用到动作ir.actions.client进行自定义视图的开发,实现自定义的xml视图开发. 二.实现目标 三.开发过程 1.项目 ...

  3. odoo10学习笔记十:Actions

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

  4. Odoo ir actions 分析

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

  5. odoo:免费开源ERP入门与实践

    Odoo下载安装 Odoo社区版下载链接:http://nightly.odoo.com/ ,下载11.0社区版Windows安装包:http://nightly.odoo.com/11.0/nigh ...

  6. Odoo:全球第一免费开源ERP权威性能测试报告完整版(绝对珍藏)

    Odoo平台简介 Odoo(以前叫OpenERP)是世界排名第一的开源ERP系统,最早由比利时一家公司开发,经过十几年发展,目前全世界Odoo的使用者超过2百万人,Odoo被翻译成几十种语言,Odoo ...

  7. odoo:开源 ERP/CRM 入门与实践

    看了这张图,或许你对odoo有了一些兴趣. 这次就是和大家一起交流开源ERP/CRM系统:odoo 对以下读者有帮助:研发.产品.项目.市场.服务.运营.管理等. 一.背景趋势 社交网络.电商O2O: ...

  8. odoo:开源ERP/安装和初始设置

    1.1 Odoo的结构 Odoo使用Web浏览器来访问Odoo服务,因此你的Odoo服务器可以部署在较远的地方(如另外一个城市),用户的计算机上只需安装谷歌.火狐或 IE9 以上的浏览器,所以Web客 ...

  9. Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

    概述 人力资源管理概述 一般企业里,和人力资源相关的工作有:1)员工合同管理,即员工基本档案管理:2)招聘管理,即岗位及岗位人员补充管理:3)员工薪资计算: 4)员工考勤:5)员工休假管理:6)员工绩 ...

随机推荐

  1. RabbitMQ 连接不上

    问题 [org.springframework.amqp.AmqpIOException: java.io.IOException] 解决 username: guest password: gues ...

  2. thinkphp 规则路由

    规则路由是一种比较容易理解的路由定义方式,采用ThinkPHP设计的规则表达式来定义. 规则表达式 规则表达式通常包含静态地址和动态地址,或者两种地址的结合,例如下面都属于有效的规则表达式: 'my' ...

  3. 概率dp的迭代方式小结——zoj3329,hdu4089,hdu4035

    在推导期望方程时我们常常会遇到dp[i]和其他项有关联,那么这时候我们就难以按某个顺序进行递推 即难以通过已经确定的项来求出新的项 即未知数的相互关系是循环的 但是我们又可以确定和dp[i]相关联的项 ...

  4. 同一个tomcat 两个项目 互相访问接口方法

    package com.qif.xdqdm.util; import com.alibaba.fastjson.JSONObject; import java.io.*; import java.ne ...

  5. spring mvc多环境下配置文件的设置

    在实际开发时经常需要把一些配置信息写在配置文件,比如mysql的主机地址.端口号.用户名和密码等.另外,在开发代码时可能用一套配置参数,而部署到测试环境时又会用另一套配置参数,测试完毕再部署到线上环境 ...

  6. iOS开发NSLayoutConstraint代码自动布局

    1.NSLayoutConstraint简介 适配界面大多用Masonry工具,也是基于NSLayoutConstraint写的!通过使用两个类方法实现自动布局: + (NSArray<__ki ...

  7. POJ 3449 /// 判断线段相交

    题目大意: 给出多个多边形及其编号 按编号顺序输出每个多边形与其相交的其他多边形编号 注意一个两个多个的不同输出 将每个多边形处理成多条边 然后去判断与其他多边形的边是否相交 计算正方形另外两点的方法 ...

  8. springcloud系列12 config的使用

    config组件分为server端和client端 config的原理: 就是当我们将配置文件放置在git上面,那么configserver就会去拉取相关配置文件至本地: 可以看到我本地是拉去了配置文 ...

  9. RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more infor

    在virtualenv环境下使用matplotlib绘图时遇到了这样的问题: >>> import matplotlib.pyplot as pltTraceback (most r ...

  10. Leetcode93. Restore IP Addresses复原IP地址

    给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135", ...