Odoo中文网|Odoo实施培训

 找回密码
 立即注册
搜索
热搜: Odoo OpenERP 实施
查看: 7479|回复: 0
打印 上一主题 下一主题

智能按钮

[复制链接]

68

主题

96

帖子

456

积分

中级会员

Rank: 3Rank: 3

积分
456
跳转到指定楼层
楼主
发表于 2018-4-26 09:21:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 磨叽什么 于 2018-4-26 09:45 编辑

一个按钮,显示当前任务的所有者的总数量,点击它将导航到这些项目的列表。

首先,我们需要将相应的计算字段添加到models/todo_model.py.为TodoTask类添加如下代码:

def compute_user_todo_count(self):

for task in self:

task.user_todo_count = task.search_count(

[('user_id', '=', task.user_id.id)])

user_todo_count = fields.Integer(

'User To-Do Count',

compute='compute_user_todo_count')

接下来,我们添加按钮框和其中的按钮。在oe_title div之后,取代我们之前加入的按钮框占位符。如下:


<button class="oe_stat_button"

type="action" icon="fa-tasks"

name="%(action_todo_task_button)d"

context="{'default_user_id': user_id}"

help="All to-dos for this user" >

<field string="To-Dos" name="user_todo_count"

widget="statinfo"/>

</button>

计算user_todo_count 字段,按钮向负责todo任务人员显示todo任务数量。
单击按钮时,我们希望看到一个只包含当前负责用户的任务的列表。将由action_todo_task_button动作完成,尚未实施。但它需要知道当前的负责用户,才能执行过滤器。

为此,我们使用按钮的上下文属性来存储该值。

使用的动作必须在窗体之前定义,所以我们应该在xml文件的顶部添加它:

<act_window id="action_todo_task_button"

name="To-Do Tasks"

res_model="todo.task"

view_mode="tree,form,calendar,graph,pivot"

domain="[('user_id','=',default_user_id)]" />
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|技术支持|开发手册|Odoo中文网-远鼎旗下odoo培训网站 ( 苏ICP备15039516号 )

GMT+8, 2024-4-26 22:50 , Processed in 0.010535 second(s), 10 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表