Odoo中文网|Odoo实施培训
标题:
智能按钮
[打印本页]
作者:
磨叽什么
时间:
2018-4-26 09:21
标题:
智能按钮
本帖最后由 磨叽什么 于 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)]" />
欢迎光临 Odoo中文网|Odoo实施培训 (http://www.chinaodoo.net/)
Powered by Discuz! X3.2