diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 901a4bdcb72..b2355a49872 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2338,42 +2338,44 @@ instance.web.Legend = instance.web.Widget.extend({ this.dataset = dataset; this.options = options; }, + prepare_kanban_state_legend: function(){ + return [{ 'name': 'normal', 'legend_name': ' Normal', 'legend': '' }, + { 'name': 'blocked', 'legend_name': ' Blocked', 'legend': '' }, + { 'name': 'done', 'legend_name': ' Done', 'legend': '' }] + }, + prepare_priority_legend: function(){ + var data = []; + var selection = this.parent.field.selection || []; + _.map(selection, function(res){ + value = { + 'name': res[0], + 'legend_name': res[1] + } + if (res[0] == '0'){ + value['legend']= ''; + value['legend_name'] = 'Set the Priority'; + }else{ + value['legend']= ''; + } + data.push(value) + }); + return data; + }, prepare_data: function() { var self =this; - var def = $.Deferred(); if (this.parent.name == 'kanban_state'){ - var datas = [{ 'name': 'normal', 'legend_name': ' Normal', 'legend': '' }, - { 'name': 'blocked', 'legend_name': ' Blocked', 'legend': '' }, - { 'name': 'done', 'legend_name': ' Done', 'legend': '' }] - return def.resolve(datas); + return self.prepare_kanban_state_legend(); } if (this.parent.name == 'priority'){ - var data = []; - var selection = this.parent.field.selection || []; - for (var index in selection) { - value = { - 'name': selection[index][0], - 'legend_name': selection[index][1] - } - if (selection[index][0] == '0'){ - value['legend']= ''; - value['legend_name'] = 'Set the Priority'; - }else{ - value['legend']= ''; - } - data.push(value) - } - return def.resolve(data); + return self.prepare_priority_legend(); } }, render_value: function(record_id, data) { var self = this; - var content; self.record_id = record_id; - this.prepare_data().then(function (res){ - data['res'] = res; - content = QWeb.render("Legend."+ self.parent.name, data); - }); + var legend = this.prepare_data(); + data['legends'] = legend; + var content = QWeb.render("Legend."+ self.parent.name, data); if (data.view_mode === 'form') this.parent.$el.html(content); else diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 6fca2d3260e..4286f7cf689 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1034,13 +1034,13 @@ - +