Merge pull request #5405 from nabinhait/chart-fix
[fix] Charts in report
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
index cce8509..3a594c8 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
@@ -259,19 +259,19 @@
def get_chart_data(self, columns, data):
ageing_columns = columns[self.ageing_col_idx_start : self.ageing_col_idx_start+4]
- range_totals = [[d.get("label")] for d in ageing_columns]
-
+ rows = []
for d in data:
- for i in xrange(4):
- range_totals[i].append(d[self.ageing_col_idx_start + i])
-
+ rows.append(d[self.ageing_col_idx_start : self.ageing_col_idx_start+4])
+
+ if rows:
+ rows.insert(0, [[d.get("label")] for d in ageing_columns])
+
return {
"data": {
- 'columns': range_totals
+ 'rows': rows
},
"chart_type": 'pie'
}
-
def execute(filters=None):
args = {
diff --git a/erpnext/accounts/report/balance_sheet/balance_sheet.py b/erpnext/accounts/report/balance_sheet/balance_sheet.py
index c41cffc..d471da6 100644
--- a/erpnext/accounts/report/balance_sheet/balance_sheet.py
+++ b/erpnext/accounts/report/balance_sheet/balance_sheet.py
@@ -76,16 +76,27 @@
def get_chart_data(columns, asset, liability, equity):
x_intervals = ['x'] + [d.get("label") for d in columns[2:]]
- asset_data, liability_data, equity_data = ["Assets"], ["Liabilities"], ["Equity"]
+ asset_data, liability_data, equity_data = [], [], []
for p in columns[2:]:
- asset_data.append(asset[-2].get(p.get("fieldname")))
- liability_data.append(liability[-2].get(p.get("fieldname")))
- equity_data.append(equity[-2].get(p.get("fieldname")))
+ if asset:
+ asset_data.append(asset[-2].get(p.get("fieldname")))
+ if liability:
+ liability_data.append(liability[-2].get(p.get("fieldname")))
+ if equity:
+ equity_data.append(equity[-2].get(p.get("fieldname")))
+
+ columns = [x_intervals]
+ if asset_data:
+ columns.append(["Assets"] + asset_data)
+ if liability_data:
+ columns.append(["Liabilities"] + liability_data)
+ if equity_data:
+ columns.append(["Equity"] + equity_data)
return {
"data": {
'x': 'x',
- 'columns': [x_intervals, asset_data, liability_data, equity_data]
+ 'columns': columns
}
}
\ No newline at end of file
diff --git a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py
index a1ab350..62d6e69 100644
--- a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py
+++ b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py
@@ -56,17 +56,28 @@
def get_chart_data(filters, columns, income, expense, net_profit_loss):
x_intervals = ['x'] + [d.get("label") for d in columns[2:-1]]
- income_data, expense_data, net_profit = ["Income"], ["Expense"], ["Net Profit/Loss"]
+ income_data, expense_data, net_profit = [], [], []
for p in columns[2:]:
- income_data.append(income[-2].get(p.get("fieldname")))
- expense_data.append(expense[-2].get(p.get("fieldname")))
- net_profit.append(net_profit_loss.get(p.get("fieldname")))
+ if income:
+ income_data.append(income[-2].get(p.get("fieldname")))
+ if expense:
+ expense_data.append(expense[-2].get(p.get("fieldname")))
+ if net_profit_loss:
+ net_profit.append(net_profit_loss.get(p.get("fieldname")))
+
+ columns = [x_intervals]
+ if income_data:
+ columns.append(["Income"] + income_data)
+ if expense_data:
+ columns.append(["Expense"] + expense_data)
+ if net_profit:
+ columns.append(["Net Profit/Loss"] + net_profit)
chart = {
"data": {
'x': 'x',
- 'columns': [x_intervals, income_data, expense_data, net_profit]
+ 'columns': columns
}
}