### 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"
~~~