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;