### Kanban
用于组织任务、生产过程等,它们的根元素是 `<kanban>`.
看板视图显示一组可能的组合柱卡。每一张卡片代表一个记录,并且每一列都是聚合字段的值。
例如,项目任务可以由阶段组织(每一列是一个阶段),或由负责(每一列是一个用户),等等。
看板视图定义每个卡的结构作为一个组合的形式要素(包括基本的HTML)和 [QWeb](https://www.odoo.com/documentation/9.0/reference/qweb.html#reference-qweb).
练习
Kanban 视图
添加一个看板视图显示按课程班(列这样的课程)。
1. 添加一个整数 `color` 字段到 *Session* 模型
2. 补充看板查看和更新的作用
*openacademy/models.py*
~~~ python
duration = fields.Float(digits=(6, 2), help="Duration in days")
seats = fields.Integer(string="Number of seats")
active = fields.Boolean(default=True)
color = fields.Integer()
instructor_id = fields.Many2one('res.partner', string="Instructor",
domain=['|', ('instructor', '=', True),
~~~
*openacademy/views/openacademy.xml*
~~~ xml
</record>
<record model="ir.ui.view" id="view_openacad_session_kanban">
<field name="name">openacad.session.kanban</field>
<field name="model">openacademy.session</field>
<field name="arch" type="xml">
<kanban default_group_by="course_id">
<field name="color"/>
<templates>
<t t-name="kanban-box">
<div
t-attf-class="oe_kanban_color_{{kanban_getcolor(record.color.raw_value)}}
oe_kanban_global_click_edit oe_semantic_html_override
oe_kanban_card {{record.group_fancy==1? 'oe_kanban_card_fancy' : ''}}">
<div class="oe_dropdown_kanban">
<!-- dropdown menu -->
<div class="oe_dropdown_toggle">
<i class="fa fa-bars fa-lg"/>
<ul class="oe_dropdown_menu">
<li>
<a type="delete">Delete</a>
</li>
<li>
<ul class="oe_kanban_colorpicker"
data-field="color"/>
</li>
</ul>
</div>
<div class="oe_clear"></div>
</div>
<div t-attf-class="oe_kanban_content">
<!-- title -->
Session name:
<field name="name"/>
<br/>
Start date:
<field name="start_date"/>
<br/>
duration:
<field name="duration"/>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record model="ir.actions.act_window" id="session_list_action">
<field name="name">Sessions</field>
<field name="res_model">openacademy.session</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,gantt,graph,kanban</field>
</record>
<menuitem id="session_menu" name="Sessions"
parent="openacademy_menu"
~~~