###################################################################################
#odoo中常用方法,在动作里面添加按钮:执行批量操作
#
###################################################################################

import re
import json
import logging

from lxml import etree

from odoo import api, fields, models

_logger = logging.getLogger(__name__)

class ResUser(models.Model):
_inherit = 'res.users'

@api.multi
def batch_select_action(self):
for order in self:
"""编写你想要实现的功能代码"""
pass


#action对应的xml情况
#在动作里添加下拉的向导:情况2:直接执行函数---002

<record id="model_res_users_submit_action_server" model="ir.actions.server">
<field name="name">Submit To Manager</field>
<field name="type">ir.actions.server</field>
<field name="model_id" ref="model_res_users"/>
<field name="state">code</field>
<field name="code">
if records:
action = records.batch_select_action()
</field>
</record>

<record id="action_res_users_submit" model="ir.values">
<field name="name">Submit To Manager</field>
<field name="model_id" ref="model_res_users"/>
<field name="model">res.users</field>
<field name="key2">client_action_multi</field>
<field eval="'ir.actions.server,%d'%model_res_users_submit_action_server" name="value"/>
</record>


#在xml里编写的动作:

情况00001---odoo12、odoo10均可用

"""
在动作里添加下拉的向导:情况1、弹出向导,在向导里添加动作

<act_window id="action_export_wizard"
name="导出Excel"
src_model="res.users" #所在模型
res_model="export.test.wizard" #菜单打开的向导模型
view_type="tree" view_mode="form" #所在视图
target="new"/> #新界面

<record id="export_wizard_view" model="ir.ui.view">
<field name="name">export test wizard</field>
<field name="model">export.test.wizard</field>
<field name="arch" type="xml">
<form string="导出记录">
<footer>
<button string="confirm" class="btn-primary" name="action_export" type="object"/>
<button string="cancel" class="btn-default" special="cancel" />
</footer>
</form>
</field>
</record>

"""

# odoo10中可用,odoo12中待验证
#情况00002
#在动作里添加下拉的向导:情况2:直接执行函数

<record id="action_assign_salesman_according_assigned_partner" model="ir.actions.server">
<field name="name">Assign salesman</field>
<field name="model_id" ref="model_crm_lead"/>
<field name="state">code</field>
<field name="code">
if env.context.get('active_domain'):
records = model.search(env.context['active_domain'])
records.assign_salesman_of_assigned_partner()
</field>
</record>

<record model="ir.values" id="ir_assign_salesman_according_assigned_partner">
<field name="model_id" ref="model_crm_lead" />
<field name="name">Assign salesman of assigned partner</field>
<field name="key2">client_action_multi</field>
<field eval="'ir.actions.server,%d'%action_assign_salesman_according_assigned_partner" name="value"/>
<field name="key">action</field>
<field name="model">crm.lead</field>
</record>

odoo视图 “动作” 里添加菜单按钮:案例的更多相关文章

  1. odoo12动作里添加向导

    在odoo12的 动作里添加向导例子1:只会在tree视图里显示,不会在form里显示 <act_window id="action_change_stage_ttest" ...

  2. Unity3D编辑器扩展(一)——定义自己的菜单按钮

    Unity3D 引擎的编辑器拥有很强的扩展性,用的好可以帮我们省很多事情.在这里记录下如何去扩展 Unity3D 的编辑器,定制属于我们自己的开发环境. 本篇主要讲解在 Unity3D 引擎的各个窗口 ...

  3. RCP:利用actionSet在菜单(menu)里添加内容

    eclipse的菜单menu.工具栏toolbar乃至视图的上下文菜单contextmenu都是使用Action或Command实现的. Action即是 org.eclipse.jface.acti ...

  4. 关于Eclipse插件开发(四)-------给视图加下拉菜单和按钮和加入编辑器.

    本例将给视图加入下拉菜单和按钮,同时再为列表添加一个右键菜单. 创建ActionGroup类 加入菜单和按钮的方法与SWT和JFace组件的一样,先创建一个ActionGroup代码如下: MyAct ...

  5. 项目一:项目第二天 Jquery ztree使用展示菜单数据 2、 基础设置需求分析 3、 搭建项目框架环境--ssh(复习) 4、 SpringData-JPA持久层入门案例(重点) 5、 Easyui menubutton菜单按钮使用 6、 Easyui messager消息框使用

    1. Jquery ztree使用展示菜单数据 2. 基础设置需求分析 3. 搭建项目框架环境--ssh(复习) 4. SpringData-JPA持久层入门案例(重点) 5. Easyui menu ...

  6. [Swift通天遁地]一、超级工具-(9)在地图视图MKMapView中添加支持交互动作的标注图标

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  7. odoo添加顶部按钮实现自定义方法

    一.效果图 自定义添加顶部按钮,实现自定义方法. 二.实现过程 1.需要用到三个文件,tree_view_button.js.tree_view_odoo.xml.base.xml三个文件,文件目录如 ...

  8. 实现UE添加自定义按钮之添加菜单

    1.ueditor.config.js配置文件中配置 2.在ueditor.all.js配置文件中配置点开的的弹框位置 3.在ueditor1_4_3-utf8-jsp\themes\default\ ...

  9. (04)odoo视图操作

    -----------------更新时间19:04 2016-09-29 星期四11:17 2016-09-18 星期日18:13 2016-04-05 星期二15:05 2016-03-14 星期 ...

随机推荐

  1. 【NX二次开发】NX内部函数,libugui.dll文件中的内部函数

    本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: bool A ...

  2. Centos8.3、proxysql2.0读写分离实战记录

    接着主从复制继续往下讲,这个项目中我是使用proxysql做读写分离的中间件,之前是使用mycat.老实说mycat属于比较重量级的中间件,1.0还好到了2.0配置变得很复杂而且文档不是很齐全,我看着 ...

  3. 第11章 PADS功能使用技巧(2)-最全面

    原文链接点击这里 七.Flood与Hatch有什么区别? 我们先看看PADS Layout Help 文档是怎么说的,如下图所示: 从检索到的帮助信息,我们可以得到Hatch与Pour的区别,原文如下 ...

  4. Java并发编程--基础进阶高级(完结)

    Java并发编程--基础进阶高级完整笔记. 这都不知道是第几次刷狂神的JUC并发编程了,从第一次的迷茫到现在比较清晰,算是个大进步了,之前JUC笔记不见了,重新做一套笔记. 参考链接:https:// ...

  5. excel替换函数substitute

    1.substitute(需要执行替换操作的单元格区域,旧文本,新文本,第N个旧内容) 例:substitute(A1,"a","b",2)    A1=aab ...

  6. Simpleperf分析之Android系统篇

    [译]Simpleperf分析之Android系统篇 译者按: Simpleperf是用于Native的CPU性能分析工具,主要用来分析代码执行耗时.本文是主文档的一部分,系统篇. 原文见aosp仓库 ...

  7. Kubernetes之DaemonSet

    1.DaemonSet在每个节点上运行一个pod K8s中Replicationcontroller和ReplicaSet都用于在Kubernetes集群上运行部署特定数量的pod.但是,当希望pod ...

  8. Maven——基础篇

    Maven--基础篇 Maven出现前的问题 一个项目就是一个工程,而工程内一般是通过package包来分模块,比较用户模块,订单模块等,如果项目过于庞大,通过包模块来划分就不太合适,而应该拆分为模块 ...

  9. mysql_my.cnf文件详解

    以下是 my.cnf 配置文件参数解释:#*** client options 相关选项 ***##以下选项会被MySQL客户端应用读取.注意只有MySQL附带的客户端应用程序保证可以读取这段内容.如 ...

  10. 1、mysql基础入门(2)

    1.4.常用非关系型数据库产品介绍: 1.Memcached(key-value)数据库: