###################################################################################
#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. ABAP SORT排序注意点

    SORT TABLE BY XXX XXX .如果不加任何语法都是默认升序,延伸可以用ASCENDING和DESCENDING对具体的字段进行升序和降序排列. 简单通俗的来阐释一下,在字段名后面加AS ...

  2. 【转】【NX二次开发】UFUN进度中断,单击停止可中断此操作

    队长的博客: https://www.cnblogs.com/nxopen2018/p/13174207.html 显示此对话框,点击可中断操作: 用到的ufun函数: UF_ABORT_ask_fl ...

  3. 【NX二次开发】Block UI NXOpen::BlockStyler::BlockDialog

    定义: NXOpen::BlockStyler::BlockDialog* theDialog; theDialog->PerformApply();//执行应用并重新启动对话框. theDia ...

  4. Spring自定义转换类,让@Value更方便

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 前言 关于配置的文章已经写了很多,相信看过的人还是会有一定收获的,系列文章可阅读:南瓜慢说-配置相关文章.对于@Val ...

  5. 【模拟8.10】Weed(线段树)

    考试只好随便骗骗分过去啦啦啦..... 正解是玄学线段树: 以每个操作为叶子节点,我们定义几个变量ce表示层数,h表示高度,add表示所减的层数 那么问题转化为单点修改的问题输出直接是根节点答案 但是 ...

  6. winform/WPF 多语言的实现

    WPF实现起来非常现代化,可以参考 https://www.cnblogs.com/yang-fei/p/4854460.html winform主要说一下实现过程和注意点,实现参考AutoUpdat ...

  7. [202103] Interview Summary

    整理 2021 March「偷」到的算法题. 题目: 阿里:https://codeforces.com/contest/1465/problem/C 字节:输出 LCS Jump Trading:给 ...

  8. 微信小程序电子签名实现

    实现签名方法就是使用canvas <canvas canvas-id="firstCanvas" id='firstCanvas' bindtouchstart=" ...

  9. Golang通过结构体解析和封装XML

    Golang解析和封装XML 解析XML成结构体Demo package main import ( "encoding/xml" "fmt" ) //我们通过 ...

  10. 【C语言】整型在内存中的存储

    整型在内存中的存储 1.整型的归类 char short int long 以上都分为有符号(signed)与无符号(unsigned)的类型 2.原码.反码和补码 2.1 定义 计算机在表示一个数字 ...