From c473f20af268c765d70189f5b43a344fc0cda052 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 6 May 2013 11:04:07 +0200 Subject: [PATCH] [FIX] bug with kanban view widgets and do_reload bzr revid: nicolas.vanhoren@openerp.com-20130506090407-7urszfsjh10zichz --- addons/web_kanban/static/src/js/kanban.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index d5216e6f48b..867bd58a1fb 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -786,6 +786,10 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({ start: function() { var self = this; this._super(); + this.init_content(); + }, + init_content: function() { + self.sub_widgets = []; this.$("[data-field_id]").each(function() { self.add_widget($(this)); }); @@ -844,6 +848,7 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({ type = $orig.attr("widget") ? $orig.attr("widget") : type; var obj = instance.web_kanban.fields_registry.get_object(type); var widget = new obj(this, field, $orig); + self.sub_widgets.append(widget); widget.replace($node); }, bind_events: function() { @@ -986,11 +991,14 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({ do_reload: function() { var self = this; this.view.dataset.read_ids([this.id], this.view.fields_keys.concat(['__last_update'])).done(function(records) { + _.each(self.sub_widgets, function(el) { + el.destroy(); + }); + self.sub_widgets = []; if (records.length) { self.set_record(records[0]); self.renderElement(); - self.$el.data('widget', self); - self.bind_events(); + self.init_content(); self.group.compute_cards_auto_height(); self.view.postprocess_m2m_tags(); } else {