Odoo8中“更多”下拉菜单选项指定后台执行代码
来源:互联网 发布:软件图标生成器 编辑:程序博客网 时间:2024/06/16 09:24
在Odoo8中的仓库模块,根据每日最小安全库存数量,系统会自动生成一些补货单,而且是一个产品会生成一笔,如果产品比较多,这里生成的补货单也会很多。
如果这里的补货单没有即时处理,那相同产品后续不会再生成新的补货单。
所以采购人员要求不处理的补货单可以手动来取消,这样方便第二天能产生出新的补货单。
现在取消补货单的功能是放在form视图中,需要逐张单据点开,再去点取消按钮,不方便操作。采购人员希望是可以全选一次取消所选单据,根据之前的经验,我们可以在tree视图的“更多”按钮下加一个菜单项目,但这个取消比较单纯,我不想使用向导来弹出一个新窗口,这完全是一个多余的操作。经查询odoo的源码,在其它模块也有类似的需求,并且odoo也提供了一些动作类型来处理此类需求,主要xml配置如下:
<record id="action_procurement_order_cancel" model="ir.actions.server"><field name="name">取消补货单</field><field name="model_id" ref="procurement.model_procurement_order"/><field name="state">code</field><field name="code">if context.get('active_model') == 'procurement.order' and context.get('active_ids'):self.cancel(cr, uid, context['active_ids'], context=context)</field></record><record id="ir_procurement_order_cancel" model="ir.values"><field eval="'client_action_multi'" name="key2"/><field eval="'procurement.order'" name="model"/><field name="name">取消补货单</field><field eval="'ir.actions.server,%d'%action_procurement_order_cancel" name="value"/></record>
这里使用到了ir.actions.server服务器动作,就是说点击菜单项目时,不弹出向导窗口,只是执行一个服务器动作,并且这里配置需要在服务器上执行的代码,就是调用self.cancel方法,所选择的数据id列表会通过上下文参数context中的active_ids带入。
1 0
- Odoo8中“更多”下拉菜单选项指定后台执行代码
- odoo8中在“更多”下拉菜单下实现简单的批量操作
- 在option下拉菜单选项中添加图片
- xp系统工具下拉菜单中无文件夹选项
- 后台选择下拉框选项
- js生成下拉菜单选项
- 下拉菜单的选项切换
- [网页代码]下拉菜单
- 隐藏下拉菜单代码
- 经典下拉菜单代码
- 下拉菜单关键代码
- 下拉菜单代码分享
- jsp下拉菜单中加选项 向select中加option
- javascript 二级动态下拉菜单选项
- MFC下拉菜单选项设置与读取
- 简单js下拉菜单语言选项
- Java获取下拉菜单选中的选项
- 通过text设置下拉菜单的选项
- 视频转换为GIF
- 程序员必看--23种设计模式及解释(中英文对照)——每天都要坚持看上几遍
- Android 混淆代码总结
- iOS 之autolayout
- WinDbg调试器:启动程序时自动连接调试器方法
- Odoo8中“更多”下拉菜单选项指定后台执行代码
- HTML5表单新增元素与属性
- android 生成jar包里面包含图片和布局文件
- java+dom4j解析xml转excel
- TortoiseGit本地无法提交代码
- linux下的oracle基本操作
- 并发编程:API 及挑战
- android代码下载
- 【工具设置】解决“请求筛选模块被配置为拒绝包含双重转义序列的请求”错误