From ca868e42aefd0a511cb0980bcb0dbf3c23352946 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Mon, 26 Nov 2012 18:47:54 +0530 Subject: [PATCH 1/6] added module icons in grid reports --- accounts/page/financial_analytics/financial_analytics.js | 2 ++ accounts/page/general_ledger/general_ledger.js | 2 ++ accounts/page/trial_balance/trial_balance.js | 2 ++ buying/doctype/purchase_order/purchase_order.js | 2 +- buying/page/purchase_analytics/purchase_analytics.js | 2 ++ selling/page/sales_analytics/sales_analytics.js | 2 ++ stock/page/stock_ageing/stock_ageing.js | 1 + stock/page/stock_analytics/stock_analytics.js | 2 ++ stock/page/stock_ledger/stock_ledger.js | 2 ++ 9 files changed, 16 insertions(+), 1 deletion(-) diff --git a/accounts/page/financial_analytics/financial_analytics.js b/accounts/page/financial_analytics/financial_analytics.js index 264ced35bff..06c8a29fabf 100644 --- a/accounts/page/financial_analytics/financial_analytics.js +++ b/accounts/page/financial_analytics/financial_analytics.js @@ -23,6 +23,8 @@ wn.pages['financial-analytics'].onload = function(wrapper) { single_column: true }); erpnext.trial_balance = new erpnext.FinancialAnalytics(wrapper, 'Financial Analytics'); + + wrapper.appframe.add_module_tab("Accounts"); } erpnext.FinancialAnalytics = erpnext.AccountTreeGrid.extend({ diff --git a/accounts/page/general_ledger/general_ledger.js b/accounts/page/general_ledger/general_ledger.js index c411e71c571..d1630218627 100644 --- a/accounts/page/general_ledger/general_ledger.js +++ b/accounts/page/general_ledger/general_ledger.js @@ -22,6 +22,8 @@ wn.pages['general-ledger'].onload = function(wrapper) { }); erpnext.general_ledger = new erpnext.GeneralLedger(wrapper); + + wrapper.appframe.add_module_tab("Accounts"); } diff --git a/accounts/page/trial_balance/trial_balance.js b/accounts/page/trial_balance/trial_balance.js index 698cf511c33..87f94ca95a4 100644 --- a/accounts/page/trial_balance/trial_balance.js +++ b/accounts/page/trial_balance/trial_balance.js @@ -55,4 +55,6 @@ wn.pages['trial-balance'].onload = function(wrapper) { }, }) erpnext.trial_balance = new TrialBalance(wrapper, 'Trial Balance'); + + wrapper.appframe.add_module_tab("Accounts"); } \ No newline at end of file diff --git a/buying/doctype/purchase_order/purchase_order.js b/buying/doctype/purchase_order/purchase_order.js index d0d878df086..584648d31eb 100644 --- a/buying/doctype/purchase_order/purchase_order.js +++ b/buying/doctype/purchase_order/purchase_order.js @@ -139,7 +139,7 @@ cur_frm.cscript['Make Purchase Receipt'] = function() { //========================== Make Purchase Invoice ===================================================== cur_frm.cscript['Make Purchase Invoice'] = function() { n = createLocal('Purchase Invoice'); - $c('dt_map', args={ + $c('dt_map', { 'docs':compress_doclist([locals['Purchase Invoice'][n]]), 'from_doctype':cur_frm.doc.doctype, 'to_doctype':'Purchase Invoice', diff --git a/buying/page/purchase_analytics/purchase_analytics.js b/buying/page/purchase_analytics/purchase_analytics.js index 23db139c4d8..1e401c3c622 100644 --- a/buying/page/purchase_analytics/purchase_analytics.js +++ b/buying/page/purchase_analytics/purchase_analytics.js @@ -22,6 +22,8 @@ wn.pages['purchase-analytics'].onload = function(wrapper) { }); new erpnext.PurchaseAnalytics(wrapper); + + wrapper.appframe.add_module_tab("Buying"); } erpnext.PurchaseAnalytics = wn.views.TreeGridReport.extend({ diff --git a/selling/page/sales_analytics/sales_analytics.js b/selling/page/sales_analytics/sales_analytics.js index b87ead51f03..d454d67c3dc 100644 --- a/selling/page/sales_analytics/sales_analytics.js +++ b/selling/page/sales_analytics/sales_analytics.js @@ -21,6 +21,8 @@ wn.pages['sales-analytics'].onload = function(wrapper) { single_column: true }); new erpnext.SalesAnalytics(wrapper); + + wrapper.appframe.add_module_tab("Selling"); } erpnext.SalesAnalytics = wn.views.TreeGridReport.extend({ diff --git a/stock/page/stock_ageing/stock_ageing.js b/stock/page/stock_ageing/stock_ageing.js index 7e9b84fb339..82ab0bc0244 100644 --- a/stock/page/stock_ageing/stock_ageing.js +++ b/stock/page/stock_ageing/stock_ageing.js @@ -24,6 +24,7 @@ wn.pages['stock-ageing'].onload = function(wrapper) { new erpnext.StockAgeing(wrapper); + wrapper.appframe.add_module_tab("Stock"); } wn.require("app/js/stock_grid_report.js"); diff --git a/stock/page/stock_analytics/stock_analytics.js b/stock/page/stock_analytics/stock_analytics.js index 9b0309f6411..f0d2a2b6217 100644 --- a/stock/page/stock_analytics/stock_analytics.js +++ b/stock/page/stock_analytics/stock_analytics.js @@ -22,6 +22,8 @@ wn.pages['stock-analytics'].onload = function(wrapper) { }); new erpnext.StockAnalytics(wrapper); + + wrapper.appframe.add_module_tab("Stock"); } wn.require("app/js/stock_grid_report.js"); diff --git a/stock/page/stock_ledger/stock_ledger.js b/stock/page/stock_ledger/stock_ledger.js index 2b8fa9e0aff..f7427ab2f2a 100644 --- a/stock/page/stock_ledger/stock_ledger.js +++ b/stock/page/stock_ledger/stock_ledger.js @@ -22,6 +22,8 @@ wn.pages['stock-ledger'].onload = function(wrapper) { }); new erpnext.StockLedger(wrapper); + + wrapper.appframe.add_module_tab("Stock"); } wn.require("app/js/stock_grid_report.js"); From 319ac9796359c7e68604e099d18ec4987e5e51c1 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 27 Nov 2012 13:30:03 +0530 Subject: [PATCH 2/6] in communication, on overflowX, provide scroll --- public/js/communication.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/public/js/communication.js b/public/js/communication.js index 5e7a010144c..feef6c99070 100644 --- a/public/js/communication.js +++ b/public/js/communication.js @@ -19,8 +19,9 @@ erpnext.CommunicationView = Class.extend({ this.comm_list = []; $.extend(this, opts); - this.list.sort(function(a, b) { return new Date(a.modified) > new Date(b.modified) - ? -1 : 1 }) + this.list.sort(function(a, b) { return + (new Date(a.modified) > new Date(b.modified)) + ? -1 : 1; }) this.make(); }, @@ -41,7 +42,9 @@ erpnext.CommunicationView = Class.extend({ this.wrapper = $("

Communication History

\

") - .appendTo(this.parent); + .appendTo(this.parent).css({ + "overflow-x": "auto", + }); this.body = $("") .appendTo(this.wrapper); From 7255a9a66032146c8d4d036eafd9739487996757 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 27 Nov 2012 16:33:10 +0530 Subject: [PATCH 3/6] show Total Income as Total Expenses + Profile/Loss in Financial Statements --- accounts/doctype/mis_control/mis_control.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/accounts/doctype/mis_control/mis_control.py b/accounts/doctype/mis_control/mis_control.py index 2810067f5ab..b1c228b358b 100644 --- a/accounts/doctype/mis_control/mis_control.py +++ b/accounts/doctype/mis_control/mis_control.py @@ -248,11 +248,11 @@ class DocType: # add rows for profit / loss in P/L else: if c[2]=='Debit': - self.return_data.append([1, 'Total Expenses (before Profit)'] + totals) + self.return_data.append([1, 'Total Expenses'] + totals) self.return_data.append([5, 'Profit/Loss (Provisional)'] + level0_diff) for i in range(len(totals)): # make totals level0_diff[i] = flt(totals[i]) + level0_diff[i] - self.return_data.append([4, 'Total '+c[0]] + level0_diff) + self.return_data.append([4, 'Total Income'] + level0_diff) else: self.return_data.append([4, 'Total '+c[0]] + totals) From 726963c153e71dca042efaf11f4f3d19bbf16389 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 27 Nov 2012 16:38:43 +0530 Subject: [PATCH 4/6] minor fixes in overflow percent of sales common --- selling/doctype/sales_common/sales_common.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/selling/doctype/sales_common/sales_common.py b/selling/doctype/sales_common/sales_common.py index 4a24b5915b5..2a8182d9f2a 100644 --- a/selling/doctype/sales_common/sales_common.py +++ b/selling/doctype/sales_common/sales_common.py @@ -717,7 +717,7 @@ class StatusUpdater: tolerance = flt(get_value('Item',item_code,'tolerance') or 0) - if not(tolerance): + if not tolerance: if self.global_tolerance == None: self.global_tolerance = flt(get_value('Global Defaults',None,'tolerance') or 0) tolerance = self.global_tolerance @@ -732,7 +732,7 @@ class StatusUpdater: # check if overflow is within tolerance tolerance = self.get_tolerance_for(item['item_code']) - overflow_percent = ((item[args['compare_field']] - item[args['compare_ref_field']]) / item[args['compare_ref_field']] * 100) + overflow_percent = ((item[args['compare_field']] - item[args['compare_ref_field']]) / item[args['compare_ref_field']]) * 100 if overflow_percent - tolerance > 0.01: item['max_allowed'] = flt(item[args['compare_ref_field']] * (100+tolerance)/100) From 8e8f5f08786068f6b761c0f250220e488194d7a8 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 27 Nov 2012 17:06:48 +0530 Subject: [PATCH 5/6] fix in support ticket deletion --- support/doctype/support_ticket/support_ticket.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/support/doctype/support_ticket/support_ticket.py b/support/doctype/support_ticket/support_ticket.py index e7f3077a560..fbab2b71d53 100644 --- a/support/doctype/support_ticket/support_ticket.py +++ b/support/doctype/support_ticket/support_ticket.py @@ -137,5 +137,5 @@ class DocType(TransactionBase): update_feed(self.doc) def on_trash(self): - webnotes.conn.sql("""update `tabCommunication set support_ticket="" - where support_ticket=%s`""", self.doc.name) + webnotes.conn.sql("""update `tabCommunication` set support_ticket=NULL + where support_ticket=%s""", (self.doc.name,)) From ab6848d37b619bf38703daf8bf350bbd61714563 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 27 Nov 2012 18:33:39 +0530 Subject: [PATCH 6/6] if bom is cancelled, mark it as inactive and uncheck default. also unset it in item --- production/doctype/bom/bom.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/production/doctype/bom/bom.py b/production/doctype/bom/bom.py index 69b6de4c04c..913e7b66382 100644 --- a/production/doctype/bom/bom.py +++ b/production/doctype/bom/bom.py @@ -398,3 +398,7 @@ class DocType: if par: msgprint("BOM can not be cancelled, as it is a child item in following active BOM %s"% [d[0] for d in par]) raise Exception + + webnotes.conn.set(self.doc, "is_active", "No") + webnotes.conn.set(self.doc, "is_default", 0) + self.manage_default_bom()