From a888e29b0ace0522a8f39484bd50a938da540328 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 20 Dec 2013 12:18:37 +0530 Subject: [PATCH 1/2] Fixes in stock projected qty report --- stock/report/stock_ledger/stock_ledger.py | 8 -------- .../report/stock_projected_qty/stock_projected_qty.js | 4 +--- .../report/stock_projected_qty/stock_projected_qty.py | 10 ++++++++-- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/stock/report/stock_ledger/stock_ledger.py b/stock/report/stock_ledger/stock_ledger.py index 034884b12e..b2bc64f009 100644 --- a/stock/report/stock_ledger/stock_ledger.py +++ b/stock/report/stock_ledger/stock_ledger.py @@ -3,7 +3,6 @@ from __future__ import unicode_literals import webnotes -from webnotes import _ def execute(filters=None): columns = get_columns() @@ -33,13 +32,6 @@ def get_columns(): "Batch:Link/Batch:100", "Serial #:Link/Serial No:100", "Company:Link/Company:100"] def get_stock_ledger_entries(filters): - if not filters.get("company"): - webnotes.throw(_("Company is mandatory")) - if not filters.get("from_date"): - webnotes.throw(_("From Date is mandatory")) - if not filters.get("to_date"): - webnotes.throw(_("To Date is mandatory")) - return webnotes.conn.sql("""select concat_ws(" ", posting_date, posting_time) as date, item_code, warehouse, actual_qty, qty_after_transaction, stock_value, voucher_type, voucher_no, batch_no, serial_no, company diff --git a/stock/report/stock_projected_qty/stock_projected_qty.js b/stock/report/stock_projected_qty/stock_projected_qty.js index a0ad755ed0..8c25e5d88a 100644 --- a/stock/report/stock_projected_qty/stock_projected_qty.js +++ b/stock/report/stock_projected_qty/stock_projected_qty.js @@ -7,9 +7,7 @@ wn.query_reports["Stock Projected Qty"] = { "fieldname":"company", "label": wn._("Company"), "fieldtype": "Link", - "options": "Company", - "default": wn.defaults.get_user_default("company"), - "reqd": 1 + "options": "Company" }, { "fieldname":"warehouse", diff --git a/stock/report/stock_projected_qty/stock_projected_qty.py b/stock/report/stock_projected_qty/stock_projected_qty.py index 0572f7961e..d335ebf846 100644 --- a/stock/report/stock_projected_qty/stock_projected_qty.py +++ b/stock/report/stock_projected_qty/stock_projected_qty.py @@ -13,7 +13,7 @@ def execute(filters=None): projected_qty, item.re_order_level, item.re_order_qty from `tabBin` bin, (select name, company from tabWarehouse - where company=%(company)s {warehouse_conditions}) wh, + {warehouse_conditions}) wh, (select name, item_name, description, stock_uom, item_group, brand, re_order_level, re_order_qty from `tabItem` {item_conditions}) item @@ -41,4 +41,10 @@ def get_item_conditions(filters): return "where {}".format(" and ".join(conditions)) if conditions else "" def get_warehouse_conditions(filters): - return " and name=%(warehouse)s" if filters.get("warehouse") else "" \ No newline at end of file + conditions = [] + if filters.get("company"): + conditions.append("company=%(company)s") + if filters.get("warehouse"): + conditions.append("name=%(warehouse)s") + + return "where {}".format(" and ".join(conditions)) if conditions else "" \ No newline at end of file From 4b5ced03ec1220a03726271664baa11dc9039e0e Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 20 Dec 2013 12:26:48 +0530 Subject: [PATCH 2/2] Fixes in merge functions --- accounts/doctype/account/account.py | 3 +++ stock/doctype/item/item.py | 3 +++ stock/doctype/warehouse/warehouse.py | 3 +++ 3 files changed, 9 insertions(+) diff --git a/accounts/doctype/account/account.py b/accounts/doctype/account/account.py index cae202847b..0640ad9783 100644 --- a/accounts/doctype/account/account.py +++ b/accounts/doctype/account/account.py @@ -211,6 +211,9 @@ class DocType: # Validate properties before merging if merge: + if not webnotes.conn.exists("Account", new): + webnotes.throw(_("Account ") + new +_(" does not exists")) + val = list(webnotes.conn.get_value("Account", new_account, ["group_or_ledger", "debit_or_credit", "is_pl_account"])) diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py index 01f1d9f38f..8dbfef7bac 100644 --- a/stock/doctype/item/item.py +++ b/stock/doctype/item/item.py @@ -246,6 +246,9 @@ class DocType(DocListController, WebsiteGenerator): def before_rename(self, olddn, newdn, merge=False): if merge: # Validate properties before merging + if not webnotes.conn.exists("Item", newdn): + webnotes.throw(_("Item ") + newdn +_(" does not exists")) + field_list = ["stock_uom", "is_stock_item", "has_serial_no", "has_batch_no"] new_properties = [cstr(d) for d in webnotes.conn.get_value("Item", newdn, field_list)] if new_properties != [cstr(self.doc.fields[fld]) for fld in field_list]: diff --git a/stock/doctype/warehouse/warehouse.py b/stock/doctype/warehouse/warehouse.py index 3559960d22..8b1b5b5a1d 100644 --- a/stock/doctype/warehouse/warehouse.py +++ b/stock/doctype/warehouse/warehouse.py @@ -84,6 +84,9 @@ class DocType: new_warehouse = get_name_with_abbr(newdn, self.doc.company) if merge: + if not webnotes.conn.exists("Warehouse", newdn): + webnotes.throw(_("Warehouse ") + newdn +_(" does not exists")) + if self.doc.company != webnotes.conn.get_value("Warehouse", new_warehouse, "company"): webnotes.throw(_("Both Warehouse must belong to same Company"))