From 6cd59e4cfdb8aba6d5a9e1cb7cc3dc799382a740 Mon Sep 17 00:00:00 2001 From: "Kunal Chavda (OpenERP)" Date: Fri, 8 Apr 2011 18:58:24 +0530 Subject: [PATCH] [IMP]Improvement in show bar chart with data. bzr revid: kch@tinyerp.com-20110408132824-vi85a34pg4in9ndw --- addons/base/static/src/xml/base.xml | 2 +- addons/base_graph/controllers/main.py | 7 ++++- addons/base_graph/static/src/graph.js | 41 +++++++++++++-------------- 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index 96f2caa54c9..211d39ad3a7 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -210,7 +210,7 @@ - +
diff --git a/addons/base_graph/controllers/main.py b/addons/base_graph/controllers/main.py index 275da8a1f23..288a7b17eab 100644 --- a/addons/base_graph/controllers/main.py +++ b/addons/base_graph/controllers/main.py @@ -61,5 +61,10 @@ class GraphView(openerpweb.Controller): def create_event(self, event_ids, model): self.events = model.read(event_ids, self.fields.values()) - return {'result': self.events} + result = [] + for i, evt in enumerate(self.events): + self.events[i].pop('id') + result.append(evt) + + return result diff --git a/addons/base_graph/static/src/graph.js b/addons/base_graph/static/src/graph.js index 4e6cfbf2e2c..30315b37aa8 100644 --- a/addons/base_graph/static/src/graph.js +++ b/addons/base_graph/static/src/graph.js @@ -35,8 +35,9 @@ openerp.base.GraphView = openerp.base.Controller.extend({ var self = this; this.name = this.fields_view.name || this.fields_view.arch.attrs.string; this.view_id = this.fields_view.view_id; - this.fields['partner_id'] = this.fields_view.arch.children[0].attrs.name; + this.fields['id'] = this.fields_view.arch.children[0].attrs.name; this.fields['total'] = this.fields_view.arch.children[1].attrs.name; + this.graph_type = this.fields_view.arch.attrs.type; this.rpc('/base_graph/graphview/get_events', {'model': this.model, @@ -48,27 +49,23 @@ openerp.base.GraphView = openerp.base.Controller.extend({ this.$element.html(QWeb.render("GraphView", {"view": this, "fields_view": this.fields_view})); }, create_graph: function(res) { - var result = res.result; - - var barChart1 = new dhtmlXChart({ - view:"bar", - container:"chart1", - value:"#amount_total#", - color:"#9abe00", - width:50, - tooltip: "#partner_id#", - xAxis:{ - title:"Partner", - template:"#partner_id#" - }, - yAxis:{ - start:0, - end:10000, - step:1000, - title:"Total" - } - }); - barChart1.parse(result, "json"); + if (this.graph_type == "bar"){ + var barChart1 = new dhtmlXChart({ + view:"bar", + container:"chart1", + value:"#"+this.fields['total']+"#", + color:"#9abe00", + width:40, + tooltip: "#"+this.fields['id']+"#", + xAxis:{ + template:"#"+this.fields['id']+"#" + }, + yAxis:{ + title: "Total" + } + }); + barChart1.parse(res, "json"); + } },