zoukankan      html  css  js  c++  java
  • odoo视图 “动作” 里添加菜单按钮:案例

    ###################################################################################
    #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>






  • 相关阅读:
    Linux 查看CPU个数和磁盘个数
    springboot 文件上传大小配置
    Netty(一):初识Netty
    Java 8里 Stream和parallelStream的区别
    Logstash filter 的使用
    logstash过滤器插件filter详解及实例
    Linux下如何不停止服务,清空nohup.out文件
    logstash收集Nginx日志,转换为JSON格式
    Logstash add_field 参数应用
    Logstash处理json格式日志文件的三种方法
  • 原文地址:https://www.cnblogs.com/1314520xh/p/11257333.html
Copyright © 2011-2022 走看看