diff options
| author | Mahendra Barad (OpenERP) <mba@tinyerp.com> | 2014-01-07 18:28:32 +0530 |
|---|---|---|
| committer | Mahendra Barad (OpenERP) <mba@tinyerp.com> | 2014-01-07 18:28:32 +0530 |
| commit | d7e09b669c9118021020ff0e3da6ba041ec9c5c8 (patch) | |
| tree | 4fe47a1f9b7fb4820ac979616d82d6d6a4e3f379 /addons/web/static/src | |
| parent | 54346578c86a10d14497f18e8b3aafc930eb6a2b (diff) | |
[IMP]
bzr revid: mba@tinyerp.com-20140107125832-fzt8cceyj3et7hgy
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 41 | ||||
| -rw-r--r-- | addons/web/static/src/xml/base.xml | 43 |
2 files changed, 55 insertions, 29 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': '<img src="/web/static/src/img/icons/gtk-normal.png"/>' }, + { 'name': 'blocked', 'legend_name': ' Blocked', 'legend': '<img src="/web/static/src/img/icons/gtk-no.png"/>' }, + { 'name': 'done', 'legend_name': ' Done', 'legend': '<img src="/web/static/src/img/icons/gtk-yes.png"/>' }] + 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']= '<img src="/web/static/src/img/icons/star-off.png"/>'; + value['legend_name'] = 'Set the Priority'; + }else{ + value['legend']= '<img src="/web/static/src/img/icons/star-on.png"/>'; + } + 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 @@ </span> </t> - -<t t-name="Legend.kanban_state_legend"> +<t t-name="Legend.kanban_state"> <span class="btn-group"> - <t t-foreach="widget.get('value')" t-as="rec"> - <a class="dropdown-toggle oe_legend" data-toggle="dropdown" href="#" t-if="legend_value === rec.name" t-att-title="rec.description or rec.legend_name" > - <t t-raw="rec.body" /> + <t t-foreach="res" t-as="rec"> + <a class="dropdown-toggle oe_legend" data-toggle="dropdown" href="#" t-if="widget.get('value') === rec.name" t-att-title="rec.legend_name" > + <t t-raw="rec.legend" /> </a> - </t> - <ul class="dropdown-menu with-arrow"> - <t t-foreach="widget.get('value')" t-as="rec"> - <t t-if="legend_value !== rec.name"> - <li class="oe_legend" t-att-data-value="rec.name"><a href="#"><t t-raw="rec.body" /><t t-raw="rec.legend_name" /></a></li> - </t> </t> - </ul> + <ul class="dropdown-menu with-arrow"> + <t t-foreach="res" t-as="rec"> + <t t-if="widget.get('value') !== rec.name"> + <li class="oe_legend" t-att-data-value="rec.name" ><a href="#"><t t-raw="rec.legend" /><t t-raw="rec.legend_name" /></a></li> + </t> + </t> + </ul> </span> </t> -<t t-name="Legend.priority_legend"> - <ul style="list-style: none; padding-left: 5px;"> - <t t-foreach="widget.get('value')" t-as="test" > - <t t-if="legend_value gte test.name and !test_first"> - <li t-att-data-value="test.name - 1" class="oe_left oe_legend"><a href="#" t-att-title="test.description or test.legend_name"><t t-raw="test.body"/></a></li> +<t t-name="Legend.priority"> + <ul style="list-style: none; padding-left: 2px;"> + <t t-foreach="res" t-as="test" > + <t t-if="widget.get('value') gte test.name and !test_first"> + <li t-att-data-value="test.name - 1" class="oe_left oe_legend"><a href="#" t-att-title="test.legend_name"><t t-raw="test.legend"/></a></li> + </t> </t> - </t> - <t t-foreach="widget.get('value')" t-as="test" > - <t t-if="legend_value lt test.name"> - <li t-att-data-value="test.name" class="oe_left oe_legend"><a href="#" t-att-title="widget.get('value')[0].description or widget.get('value')[0].legend_name"><t t-raw="widget.get('value')[0].body"/></a></li> + <t t-foreach="res" t-as="test" > + <t t-if="widget.get('value') lt test.name"> + <li t-att-data-value="test.name" class="oe_left oe_legend"><a href="#" t-att-title="res[0].legend_name"><t t-raw="res[0].legend"/></a></li> + </t> </t> - </t> </ul> </t> <t t-name="FieldEmail"> |
