答案 0 :(得分:1)
基本上在您的情况下如果您想在看板卡上添加拖放事件,那么在这种情况下,您必须设置一个字段,如字段分组,如州字段或任何选择或many2one字段 使用 default_group_by =“company_id”
default_group_by 主要用于在每个舞台上对看板卡进行分组 simmilarity as dat_by operation on datbase table。
default_group_by:
如果未通过操作或当前研究指定分组,是否应对看板视图进行分组。当没有指定分组时,应该是要分组的字段的名称。
潜在问题:
但是存在潜在的问题。代表没有任何项目的组的列将不包括在内。这意味着用户将无法将项目移动到那些缺席组,这可能不是我们想要的。
Odoo有一个准备好的答案 - 一个名为_group_by_full
的可选模型属性。
_group_by_full:
它应该是一个字典,将字段名称(用于分组的字段)映射到返回有关这些字段的所有可用组的信息的方法。
class Store(models.Model):
@api.model
def company_groups(self, present_ids, domain, **kwargs):
companies = self.env['res.company'].search([]).name_get()
return companies, None
_name = 'store'
_group_by_full = {
'company_id': company_groups,
}
name = fields.Char()
company_id = fields.Many2many('res.company')
上面的代码确保在显示按company_id分组的商店对象时,将代表所有可用的公司(而不仅仅是已经拥有商店的公司)。
上面的代码确保在显示按company_id分组的商店对象时,将代表所有可用的公司(而不仅仅是已经拥有商店的公司)。
_group_by_full返回一个两元素元组:
第一个元素:
两个元素元组的列表,代表各个组。列表中的每个元组都需要包含特定组的值(在我们的示例中:特定公司的id)和组的用户友好名称(在我们的示例中:公司名称)。这就是为什么我们可以使用name_get方法,因为它返回一个(对象id,对象名)元组的列表。
第二个要素:
将组的值映射到布尔值的字典,指示组是否应在看板视图中折叠。此字典中不包括组具有与将其映射到False相同的含义。
例如:
这个版本的company_groups方法会使一个代表公司ID为1的公司在看板视图中折叠:
您还可以参考crm模块以更好地理解crm.lead模型,因为它是分组stage_id字段的看板记录的一个很好的示例。
请参阅以下帖子:
https://www.odoo.com/documentation/8.0/reference/views.html#kanban
http://ludwiktrammer.github.io/odoo/odoo-grouping-kanban-view-empty.html
我希望我的回答可能对您有所帮助:))
答案 1 :(得分:1)
在每次拖放事件中,都会调用set_record()
set_record: function(record) {
var self = this;
this.id = record.id;
this.values = {};
_.each(record, function(v, k) {
self.values[k] = {
value: v
};
});
this.record = this.transform_record(record);
},
src:https://github.com/odoo/odoo/blob/8.0/addons/web_kanban/static/src/js/kanban.js#L894