From 28913b97b04f9ce25a346acbf811aa4370122f07 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 31 Oct 2014 14:46:07 +0530 Subject: [PATCH 1/6] [fix] Null issue fixed in stock analytics report --- erpnext/public/js/stock_analytics.js | 1 + 1 file changed, 1 insertion(+) diff --git a/erpnext/public/js/stock_analytics.js b/erpnext/public/js/stock_analytics.js index a86d7ade950..091836f95e3 100644 --- a/erpnext/public/js/stock_analytics.js +++ b/erpnext/public/js/stock_analytics.js @@ -131,6 +131,7 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({ if(me.is_default("warehouse") ? true : me.warehouse == sl.warehouse) { var item = me.item_by_name[sl.item_code]; + if(item.closing_qty_value==undefined) item.closing_qty_value = 0; if(me.value_or_qty!="Quantity") { var wh = me.get_item_warehouse(sl.warehouse, sl.item_code); From 6e06357dc59e9857909d82510dabe6759e4150f8 Mon Sep 17 00:00:00 2001 From: ankitjavalkarwork Date: Fri, 31 Oct 2014 12:36:33 +0530 Subject: [PATCH 2/6] Hide totals on checking print_without_amount field in DN --- erpnext/stock/doctype/delivery_note/delivery_note.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index 079b7fc110a..e87a233b9c9 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -52,11 +52,15 @@ class DeliveryNote(SellingController): else: df.delete_key("__print_hide") - toggle_print_hide(self.meta, "currency") - item_meta = frappe.get_meta("Delivery Note Item") - for fieldname in ("rate", "amount", "price_list_rate", "discount_percentage"): - toggle_print_hide(item_meta, fieldname) + print_hide_fields = { + "parent": ["grand_total_export", "rounded_total_export", "in_words_export", "currency", "net_total_export"], + "items": ["rate", "amount", "price_list_rate", "discount_percentage"] + } + + for key, fieldname in print_hide_fields.items(): + for f in fieldname: + toggle_print_hide(self.meta if key == "parent" else item_meta, f) def get_portal_page(self): return "shipment" if self.docstatus==1 else None From f5804438bb14c45b4c46bef6143fdcfa1f35d9ae Mon Sep 17 00:00:00 2001 From: ankitjavalkarwork Date: Mon, 3 Nov 2014 12:23:55 +0530 Subject: [PATCH 3/6] Auto set default bank/cash account on select of Bank/Cash Voucher in JV --- .../doctype/journal_voucher/journal_voucher.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.js b/erpnext/accounts/doctype/journal_voucher/journal_voucher.js index 9174873406d..4ba4dff32f1 100644 --- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.js +++ b/erpnext/accounts/doctype/journal_voucher/journal_voucher.js @@ -213,10 +213,11 @@ cur_frm.cscript.voucher_type = function(doc, cdt, cdn) { return; var update_jv_details = function(doc, r) { - $.each(r.message, function(i, d) { - var jvdetail = frappe.model.add_child(doc, "Journal Voucher Detail", "entries"); - jvdetail.account = d.account; - jvdetail.balance = d.balance; + var jvdetail = frappe.model.add_child(doc, "Journal Voucher Detail", "entries"); + $.each(r, function(i, d) { + var row = frappe.model.add_child(doc, "Journal Voucher Detail", "entries"); + row.account = d.account; + row.balance = d.balance; }); refresh_field("entries"); } @@ -231,7 +232,7 @@ cur_frm.cscript.voucher_type = function(doc, cdt, cdn) { }, callback: function(r) { if(r.message) { - update_jv_details(doc, r); + update_jv_details(doc, [r.message]); } } }) @@ -245,7 +246,7 @@ cur_frm.cscript.voucher_type = function(doc, cdt, cdn) { callback: function(r) { frappe.model.clear_table(doc, "entries"); if(r.message) { - update_jv_details(doc, r); + update_jv_details(doc, r.message); } cur_frm.set_value("is_opening", "Yes") } From 5288bdeabb59d016d4a4f78c8e76cf6764abbe88 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 3 Nov 2014 15:08:21 +0530 Subject: [PATCH 4/6] Minor fix --- erpnext/controllers/stock_controller.py | 4 ++-- erpnext/stock/stock_ledger.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py index 0f8eca4a7cc..0a9adc0e050 100644 --- a/erpnext/controllers/stock_controller.py +++ b/erpnext/controllers/stock_controller.py @@ -175,7 +175,7 @@ class StockController(AccountsController): _(self.doctype), self.name, item.get("item_code"))) def get_sl_entries(self, d, args): - sl_dict = { + sl_dict = frappe._dict({ "item_code": d.get("item_code", None), "warehouse": d.get("warehouse", None), "posting_date": self.posting_date, @@ -192,7 +192,7 @@ class StockController(AccountsController): "serial_no": d.get("serial_no"), "project": d.get("project_name"), "is_cancelled": self.docstatus==2 and "Yes" or "No" - } + }) sl_dict.update(args) return sl_dict diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py index edbdb1aa065..eae1bf68bf7 100644 --- a/erpnext/stock/stock_ledger.py +++ b/erpnext/stock/stock_ledger.py @@ -27,7 +27,7 @@ def make_sl_entries(sl_entries, is_amended=None): if sle.get('is_cancelled') == 'Yes': sle['actual_qty'] = -flt(sle['actual_qty']) - if sle.get("actual_qty") or sle.voucher_type=="Stock Reconciliation": + if sle.get("actual_qty") or sle.get("voucher_type")=="Stock Reconciliation": sle_id = make_entry(sle) args = sle.copy() From 3c8838816d8b96822462c14dd26e4b917ceb2845 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 3 Nov 2014 15:49:29 +0530 Subject: [PATCH 5/6] Check credit limit only if customer debited --- erpnext/accounts/doctype/journal_voucher/journal_voucher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py index c6299edbc92..7a833f76274 100644 --- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py +++ b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py @@ -385,7 +385,7 @@ class JournalVoucher(AccountsController): for d in self.get("entries"): master_type, master_name = frappe.db.get_value("Account", d.account, ["master_type", "master_name"]) - if master_type == "Customer" and master_name: + if master_type == "Customer" and master_name and flt(d.debit) > 0: super(JournalVoucher, self).check_credit_limit(d.account) def get_balance(self): From b9ce1f590be7a4584b69e9edf7dc2298a11c23d0 Mon Sep 17 00:00:00 2001 From: Pratik Vyas Date: Mon, 3 Nov 2014 16:34:29 +0600 Subject: [PATCH 6/6] bumped to version 4.9.3 --- erpnext/__version__.py | 2 +- erpnext/hooks.py | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/__version__.py b/erpnext/__version__.py index be4c11176dd..3fe011fff5c 100644 --- a/erpnext/__version__.py +++ b/erpnext/__version__.py @@ -1 +1 @@ -__version__ = '4.9.2' +__version__ = '4.9.3' diff --git a/erpnext/hooks.py b/erpnext/hooks.py index 9a701100f4e..25be39d76c1 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -4,7 +4,7 @@ app_publisher = "Web Notes Technologies Pvt. Ltd. and Contributors" app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations" app_icon = "icon-th" app_color = "#e74c3c" -app_version = "4.9.2" +app_version = "4.9.3" error_report_email = "support@erpnext.com" diff --git a/setup.py b/setup.py index 4abed79d16b..0e13a53ee90 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import os -version = "4.9.2" +version = "4.9.3" with open("requirements.txt", "r") as f: install_requires = f.readlines()