wizard:用于确认或选择

wizard/sale_multi_action.py

# -*- encoding: utf-8 -*-
from openerp.osv import fields,
osv
from openerp.tools.translate import
_  #用于翻译代码中的静态字符串

class
dispatch_sale_multi_action(osv.Model):
    _name =
'dispatch.sale.multi.action'
    _description =
'dispatch.sale.multi.action'
   
    '''
    def fields_view_get(self, cr, uid,
view_id=None, view_type='form',
                       
context=None, toolbar=False, submenu=False):
       

        if context is
None:
           
context={}
        res =
super(dispatch_sale_multi_action, self).fields_view_get(cr, uid,
view_id=view_id, view_type=view_type, context=context,
toolbar=toolbar,submenu=False)
        if
context.get('active_model','') != 'dispatch.sale':
           
raise osv.except_osv(_('Warning!'), _('选择的对象列表与处理方法对应不正确.'))
        if
context.get('active_model','') == 'dispatch.sale' and len(context['active_ids'])
< 1:
           
raise osv.except_osv(_('Warning!'), _('请选择需要确认的销售单.'))
       

        return
res
   
'''

def
multi_set_to_confirm(self,cr,uid,ids,context=None):
       
return self.pool.get('dispatch.sale').set_to_confirmed(cr, uid,
context['active_ids'], context=context)
   

dispatch_sale_multi_action()

wizard/sale_multi_action_view.xml

<?xml version="1.0"
encoding="utf-8"?>
<openerp>

<data>
     <record model="ir.ui.view"
id="view_dispatch_sale_multi_action">
           
<field
name="name">批量确认销售记录</field>
           
<field
name="model">dispatch.sale.multi.action</field>
           
<field name="arch"
type="xml">
               
<form string="批量确认销售记录"
version="7.0">
                   
<separator string="您确认需要 确认
当前选中单据吗?确认后单据不允许修改和删除!"/>
                   
<label string=""
colspan="4"/>
     <footer>
      <button
name="multi_set_to_confirm" string="确认选中单据" type="object"
class="oe_highlight"/>
      or
      <button
name="cancel" string="取消" class="oe_link" special="cancel"
/>
     </footer>
    </form>
   </field>
  </record>

<act_window
id="action_dispatch_sale_multi_confirm"
           
name="确认"
           
multi="True"
           
key2="client_action_multi"
           
res_model="dispatch.sale.multi.action"
           
src_model="dispatch.sale"
           
view_mode="form" target="new" view_type="form"
view_id="view_dispatch_sale_multi_action"
           
/>
    </data>
  

</openerp>

sale.py

#提交
    def
set_to_confirmed(self, cr, uid, ids,
context=None):
        for rec in
self.browse(cr, uid, ids,
context=context):
           
if rec.state !=
'confirmed':
               
if rec.create_uid.id !=
uid:
                   
raise
osv.except_osv(_(u'警告!'),_(u'您不能确认他人创建的单据.'))
               
self.write(cr, uid, ids,
{'state':'confirmed'})
       
return {}

openerp学习笔记 tree视图增加复选处理按钮的更多相关文章

  1. openerp学习笔记 搜索视图(自己创建的、自己的、本部门的、本部门及下属部门的、今日的、日期从,日期至、多条件模糊搜索、or、and)

    自己创建的: domain="[('create_uid','=',uid)]" 自己的: domain="[('employee_id','=','#kl_user_e ...

  2. Django:学习笔记(9)——视图

    Django:学习笔记(9)——视图 基础视图 基于函数的视图,我们需要在使用条件语句来判断请求类型,并分支处理.但是在基于类的视图中,我们可以在类中定义不同请求类型的方法来处理相对应的请求. 基于函 ...

  3. Django:学习笔记(8)——视图

    Django:学习笔记(8)——视图

  4. EasyUi datagrid列表增加复选框

    本文为博主原创,未经允许不得转载 1.增加复选框列 {     field: 'oid',     title: '<input type=\"checkbox\" name ...

  5. amazeui学习笔记--css(常用组件3)--按钮组Button-group

    amazeui学习笔记--css(常用组件3)--按钮组Button-group 一.总结 1.按钮组用法:把一系列要使用的 .am-btn 按钮放入 .am-btn-group . 2.按钮工具栏: ...

  6. amazeui学习笔记--css(HTML元素1)--按钮Button

    amazeui学习笔记--css(HTML元素1)--按钮Button 一.总结 1.button的基本使用:a.am-btn 在要应用按钮样式的元素上添加 .am-btn,b.颜色 再设置相应的颜色 ...

  7. openerp学习笔记 视图(tree\form)中隐藏按钮( 创建、编辑、删除 ),tree视图中启用编辑

    视图(tree\form)中隐藏按钮( 创建.编辑.删除 )create="false" edit="false" delete="false&quo ...

  8. openerp学习笔记 统计、分析、报表(过滤条件向导、分组报表、图形分析、比率计算、追加视图排序)

    待解决:图形中当改变分组时,图例不正确            存储比率计算时,分组合计不正确 wizard:过滤条件向导,用于输入过滤条件 wizard/sale_chart.py # -*- cod ...

  9. openerp学习笔记 context 的应用

    1.在Action中定义,context用于传递搜索条件和分组条件,在搜索视图中默认显示: 示例代码: <record model="ir.actions.act_window&quo ...

随机推荐

  1. MySQL查询多行重复数据SQL

    1 详见如下 SELECT day_time,`city_code`,count(1) as num FROM t_user_register_analyse GROUP BY `day_time`, ...

  2. WiFi 6是否适合个人用户

    5G已经被热炒得家喻户晓,但与其对标的WiFi新技术标准——Wi-Fi 6却可能有着更好的经济和技术前景,WiFi 6也称为802.11ax,比过去的Wi-Fi技术更好,速度更快能跟5G对标,连接性更 ...

  3. 版本控制工具 svn 一

    一.svn 概述 1).svn的作用 1.多人协作开发:2.远程控制:3.版本控制 2).软件控制管理工具发展之路 SCM:软件配置管理,所谓的软件配置管理实际就是软件源代码的 控制与管理. CVS: ...

  4. https://openmaptiles.org/

    docker save klokantech/tileserver-gl:latest -o tileserver-gl.tar docker load -i tileserver-gl.tar do ...

  5. 小程序swiper组件的bindchange方法重复执行问题

    这是官方文档的说法给出了swiper组件一直来回滑动的bug原因 以下是修正方法 <swiper autoplay="{{autoplay}}" interval=" ...

  6. Pandas中DataFrame数据合并、连接(concat、merge、join)之join

    pandas.DataFrame.join 自己弄了很久,一看官网.感觉自己宛如智障.不要脸了,直接抄 DataFrame.join(other, on=None, how='left', lsuff ...

  7. nginx日志、变量

    日志格式类型等 包含两类:access_log  error.log log_format log只能在http模块下配置 下图是一个典型error_log配置 warn表示默认日志级别为‘’警告‘’ ...

  8. Oracle 查询对应表所有字段名称,可排除不想要的字段

    由于Oracle varchar类型长度限制为4000 ,以下方法仅支持查询字段拼接后长度小于等于4000 第一种方法 select wm_concat(column_name) from user_ ...

  9. 部署LVS-NAT模式调度器

    创建集群服务器 [root@proxy ~]# yum -y install ipvsadm [root@proxy ~]# ipvsadm -A -t -s wrr 添加真实服务器 [root@pr ...

  10. Python之hashlib模块的使用

    hashlib模块主要的作用: 加密保护消息安全,常用的加密算法如MD5,SHA1等. 1.查看可用的算法有哪些 #!/usr/bin/env python # -*- coding: utf-8 - ...