Merge pull request #1220 from nabinhait/hotfix
Fixes in stock projected qty report
diff --git a/accounts/doctype/account/account.py b/accounts/doctype/account/account.py
index cae2028..0640ad9 100644
--- a/accounts/doctype/account/account.py
+++ b/accounts/doctype/account/account.py
@@ -211,6 +211,9 @@
# 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 01f1d9f..8dbfef7 100644
--- a/stock/doctype/item/item.py
+++ b/stock/doctype/item/item.py
@@ -246,6 +246,9 @@
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 3559960..8b1b5b5 100644
--- a/stock/doctype/warehouse/warehouse.py
+++ b/stock/doctype/warehouse/warehouse.py
@@ -84,6 +84,9 @@
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"))
diff --git a/stock/report/stock_ledger/stock_ledger.py b/stock/report/stock_ledger/stock_ledger.py
index 034884b..b2bc64f 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 @@
"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 a0ad755..8c25e5d 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 @@
"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 0572f79..d335ebf 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 @@
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 @@
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