[IMP]
authorMahendra Barad (OpenERP) <mba@tinyerp.com>
Tue, 7 Jan 2014 12:58:32 +0000 (18:28 +0530)
committerMahendra Barad (OpenERP) <mba@tinyerp.com>
Tue, 7 Jan 2014 12:58:32 +0000 (18:28 +0530)
bzr revid: mba@tinyerp.com-20140107125832-fzt8cceyj3et7hgy

addons/web/static/src/js/view_form.js
addons/web/static/src/xml/base.xml
addons/web_kanban/static/src/js/kanban.js

index ede4d7a..901a4bd 100644 (file)
@@ -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({
index f3eba6d..6fca2d3 100644 (file)
     </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">
index 888397c..8c9b3fa 100644 (file)
@@ -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,
-            });
+        });
     },
 });