From d7e09b669c9118021020ff0e3da6ba041ec9c5c8 Mon Sep 17 00:00:00 2001 From: "Mahendra Barad (OpenERP)" Date: Tue, 7 Jan 2014 18:28:32 +0530 Subject: [PATCH] [IMP] bzr revid: mba@tinyerp.com-20140107125832-fzt8cceyj3et7hgy --- addons/web/static/src/js/view_form.js | 41 +++++++++++++++++---- addons/web/static/src/xml/base.xml | 43 +++++++++++------------ addons/web_kanban/static/src/js/kanban.js | 7 ++-- 3 files changed, 57 insertions(+), 34 deletions(-) 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, - }); + }); }, });