diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css index 48cf725ead3..e632cb3298f 100644 --- a/addons/web_kanban/static/src/css/kanban.css +++ b/addons/web_kanban/static/src/css/kanban.css @@ -141,6 +141,7 @@ margin-left: 4px; cursor: pointer; position: relative; + display: inline-block; top: -8px; } .openerp .oe_kanban_view .oe_kanban_add { diff --git a/addons/web_kanban/static/src/css/kanban.sass b/addons/web_kanban/static/src/css/kanban.sass index 95a63dbd1a2..295bb4099c6 100644 --- a/addons/web_kanban/static/src/css/kanban.sass +++ b/addons/web_kanban/static/src/css/kanban.sass @@ -153,6 +153,7 @@ margin-left: 4px cursor: pointer position: relative + display: inline-block top: -8px .oe_kanban_add float: right diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 5f9f3027b65..fe15b22feee 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -163,6 +163,41 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ } } }, + /* widget for list of tags/categories... + * make :
+ */ + transform_widget_many2many: function(){ + var self=this, + arg={}; + // select all widget + self.$el.find("[widget='many2many_tags']").each(function(){ + var model = $(this).attr("model"), + data = $(this).attr("data"), + list = data.split(","); + //select all id (per model) + if(!arg[model]) arg[model]=[]; + for(var t=0;t0){ + var dataset = new instance.web.DataSetSearch(self, model, self.session.context); + dataset.name_get(_.uniq( arg[model] )).then( + function(result) { + for(var t=0;t'+result[t][1]+''); + } + }, + function(r){ + console.log('Error',r); + } + ); + } + } + }, do_add_record: function() { this.dataset.index = null; this.do_switch_view('form'); @@ -350,6 +385,8 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ } else { this.$el.find('.oe_kanban_draghandle').removeClass('oe_kanban_draghandle'); } + + this.transform_widget_many2many(); }, on_record_moved : function(record, old_group, old_index, new_group, new_index) { var self = this; @@ -366,7 +403,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ var data = {}; data[this.group_by] = new_group.value; this.dataset.write(record.id, data, {}, function() { - record.do_reload(); + //self.do_reload(); new_group.do_save_sequences(); }).fail(function(error, evt) { evt.preventDefault(); @@ -758,7 +795,7 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({ } }); - if (this.$el.find('.oe_kanban_global_click').length) { + if (this.$el.find('.oe_kanban_global_click,.oe_kanban_global_click_edit').length) { this.$el.on('click', function(ev) { if (!ev.isTrigger && !$(ev.target).data('events')) { var trigger = true; @@ -799,8 +836,15 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({ }); } }, + /* actions when user click on the block with a specific class + * open on normal view : oe_kanban_global_click + * open on form/edit view : oe_kanban_global_click_edit + */ on_card_clicked: function(ev) { - this.view.open_record(this.id); + if(this.$el.find('.oe_kanban_global_click_edit').size()>0) + this.do_action_edit(); + else + this.do_action_open(); }, setup_color_picker: function() { var self = this;