diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index ede4d7a0c5d..901a4bdcb72 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2338,11 +2338,42 @@ instance.web.Legend = instance.web.Widget.extend({
this.dataset = dataset;
this.options = options;
},
-
+ 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);
+ }
+ 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);
+ }
+ },
render_value: function(record_id, data) {
var self = this;
+ var content;
self.record_id = record_id;
- var content = QWeb.render("Legend."+ self.parent.name, data);
+ this.prepare_data().then(function (res){
+ data['res'] = res;
+ content = QWeb.render("Legend."+ self.parent.name, data);
+ });
if (data.view_mode === 'form')
this.parent.$el.html(content);
else
@@ -2366,19 +2397,15 @@ instance.web.form.Legend = instance.web.form.FieldChar.extend({
this._super(field_manager, node);
this.legend = new instance.web.Legend(this, this.view.dataset, py.eval(node.attrs.options));
},
-
reload_record: function(){
this.view.reload();
},
render_value: function() {
var self = this;
- var legend_field = this.options.legend_field;
- var legend_value = this.field_manager.fields[legend_field].get_value();
self.legend.render_value(this.view.datarecord.id, {
'widget': self,
- 'legend_value': legend_value,
'view_mode':'form'
- });
+ });
},
});
instance.web.form.FieldID = instance.web.form.FieldChar.extend({
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index f3eba6dde09..6fca2d3260e 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1032,35 +1032,34 @@
-
-
+
-
-
-
+
+
+
-
-
+
-
-
-
-
-
+
+
-
-
-
+
+
+
+
-
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index 888397c90ac..8c9b3fab930 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1242,12 +1242,9 @@ instance.web_kanban.Legend = instance.web_kanban.AbstractField.extend({
},
renderElement: function() {
var self = this;
- var legend_field = this.options.legend_field;
- var legend_field_value = this.parent.record[legend_field].raw_value
- self.legend.render_value(this.parent.id, {
+ self.legend.render_value(self.parent.id, {
'widget': self,
- 'legend_value': legend_field_value,
- });
+ });
},
});