diff --git a/addons/web_kanban/static/src/js/kanban_column.js b/addons/web_kanban/static/src/js/kanban_column.js index adfec759068..aa967003578 100644 --- a/addons/web_kanban/static/src/js/kanban_column.js +++ b/addons/web_kanban/static/src/js/kanban_column.js @@ -58,6 +58,11 @@ var KanbanColumn = Widget.extend({ this.record_options = _.extend(_.clone(record_options), { group_info: this.values, }); + + var self = this; + this.tooltip_info = _.map(group_data.options.group_by_tooltip, function (key, value, list) { + return (self.values && self.values[value] && "
' + tooltip + '
' + this.tooltip_info; + this.$header.tooltip({html: true}).attr('data-original-title', tooltip); if (!this.remaining) { this.$('.o_kanban_load_more').remove(); } else { diff --git a/addons/web_kanban/static/src/js/kanban_view.js b/addons/web_kanban/static/src/js/kanban_view.js index 73ddfa31d55..d0662f424e0 100644 --- a/addons/web_kanban/static/src/js/kanban_view.js +++ b/addons/web_kanban/static/src/js/kanban_view.js @@ -171,9 +171,11 @@ var KanbanView = View.extend({ // legends for kanban state management (states_legend) are fetched in // one call. var group_by_fields_to_read = []; + var group_options = {}; var recurse = function(node) { - if (node.tag === "field" && node.attrs && node.attrs.options) { + if (node.tag === "field" && node.attrs && node.attrs.options && node.attrs.name === group_by_field) { var options = pyeval.py_eval(node.attrs.options); + group_options = options; var states_fields_to_read = _.map( options && options.states_legend || {}, function (value, key, list) { return value; }); @@ -184,6 +186,7 @@ var KanbanView = View.extend({ group_by_fields_to_read, states_fields_to_read, tooltip_fields_to_read); + return; } _.each(node.children, function(child) { recurse(child); @@ -203,6 +206,7 @@ var KanbanView = View.extend({ group.title = result ? result.display_name : _t("Undefined"); group.values = result; group.id = group_id; + group.options = group_options; }); return groups; }); diff --git a/addons/web_kanban/static/src/less/kanban_view.less b/addons/web_kanban/static/src/less/kanban_view.less index 24d71629b34..31c5bb59c12 100644 --- a/addons/web_kanban/static/src/less/kanban_view.less +++ b/addons/web_kanban/static/src/less/kanban_view.less @@ -336,21 +336,6 @@ visibility: hidden; } - .oe_kanban_status { - display: inline-block; - height: 12px; - width: 12px; - border-radius: 6px; - - background-color: @odoo-brand-secondary; - - &.oe_kanban_status_green { - background-color: @brand-success; - } - &.oe_kanban_status_red { - background-color: @brand-danger; - } - } } .o_kanban_group { @@ -531,6 +516,20 @@ } } +// necessary outside kanban views (for example, edit column form in task kanban view) +// ideally, it should be made generic (.o_status, .o_status_green, ...) +.oe_kanban_status { + display: inline-block; + height: 12px; + width: 12px; + border-radius: 6px; + background-color: @odoo-brand-secondary; - + &.oe_kanban_status_green { + background-color: @brand-success; + } + &.oe_kanban_status_red { + background-color: @brand-danger; + } +} diff --git a/addons/web_kanban/static/src/xml/web_kanban.xml b/addons/web_kanban/static/src/xml/web_kanban.xml index 1b12787c76e..e2179b56764 100644 --- a/addons/web_kanban/static/src/xml/web_kanban.xml +++ b/addons/web_kanban/static/src/xml/web_kanban.xml @@ -12,7 +12,7 @@