Merge branch 'develop' of https://github.com/webnotes/erpnext into develop
diff --git a/config.json b/config.json
index f71ed9b..cd3e91b 100644
--- a/config.json
+++ b/config.json
@@ -1,6 +1,6 @@
{
"app_name": "ERPNext",
- "app_version": "3.6.6",
+ "app_version": "3.7.1",
"base_template": "app/portal/templates/base.html",
"modules": {
"Accounts": {
@@ -74,5 +74,5 @@
"type": "module"
}
},
- "requires_framework_version": "==3.7.5"
+ "requires_framework_version": "==3.8.0"
}
\ No newline at end of file
diff --git a/patches/1401/fix_planned_qty.py b/patches/1401/fix_planned_qty.py
new file mode 100644
index 0000000..979d949
--- /dev/null
+++ b/patches/1401/fix_planned_qty.py
@@ -0,0 +1,13 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+import webnotes
+
+def execute():
+ webnotes.conn.auto_commit_on_many_writes = 1
+ from utilities.repost_stock import repost_stock
+ for d in webnotes.conn.sql("""select distinct production_item, fg_warehouse
+ from `tabProduction Order` where docstatus>0""", as_dict=1):
+ repost_stock(d.production_item, d.fg_warehouse)
+
+ webnotes.conn.auto_commit_on_many_writes = 0
\ No newline at end of file
diff --git a/patches/1401/fix_serial_no_status_and_warehouse.py b/patches/1401/fix_serial_no_status_and_warehouse.py
new file mode 100644
index 0000000..fe43c28
--- /dev/null
+++ b/patches/1401/fix_serial_no_status_and_warehouse.py
@@ -0,0 +1,17 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import webnotes
+
+def execute():
+ serial_nos = webnotes.conn.sql("""select name from `tabSerial No` where docstatus=0
+ and status in ('Available', 'Sales Returned') and ifnull(warehouse, '') = ''""")
+ for sr in serial_nos:
+ try:
+ sr_bean = webnotes.bean("Serial No", sr[0])
+ sr_bean.make_controller().via_stock_ledger = True
+ sr_bean.save()
+ webnotes.conn.commit()
+ except:
+ pass
\ No newline at end of file
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 89e3309..3061720 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -267,4 +267,6 @@
"patches.1401.p01_make_buying_selling_as_check_box_in_price_list",
"patches.1401.update_billing_status_for_zero_value_order",
"patches.1401.enable_all_price_list",
+ "patches.1401.fix_serial_no_status_and_warehouse",
+ "patches.1401.fix_planned_qty",
]
\ No newline at end of file
diff --git a/stock/doctype/price_list/price_list.txt b/stock/doctype/price_list/price_list.txt
index daa89d1..cc70fd8 100644
--- a/stock/doctype/price_list/price_list.txt
+++ b/stock/doctype/price_list/price_list.txt
@@ -2,7 +2,7 @@
{
"creation": "2013-01-25 11:35:09",
"docstatus": 0,
- "modified": "2014-01-17 13:29:39",
+ "modified": "2014-01-27 11:11:08",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -11,6 +11,7 @@
"allow_copy": 0,
"allow_email": 1,
"allow_print": 1,
+ "allow_rename": 1,
"autoname": "field:price_list_name",
"description": "Price List Master",
"doctype": "DocType",
diff --git a/stock/doctype/serial_no/serial_no.py b/stock/doctype/serial_no/serial_no.py
index bd2704d..e6557b4 100644
--- a/stock/doctype/serial_no/serial_no.py
+++ b/stock/doctype/serial_no/serial_no.py
@@ -87,6 +87,8 @@
self.doc.status = "Sales Returned"
else:
self.doc.status = "Available"
+ if not self.doc.warehouse:
+ self.doc.warehouse = last_sle.warehouse
else:
if document_type == "Purchase Return":
self.doc.status = "Purchase Returned"
@@ -94,6 +96,8 @@
self.doc.status = "Delivered"
else:
self.doc.status = "Not Available"
+ else:
+ self.doc.status = "Not Available"
def set_purchase_details(self, purchase_sle):
if purchase_sle:
@@ -185,10 +189,9 @@
def on_stock_ledger_entry(self):
if self.via_stock_ledger and not self.doc.fields.get("__islocal"):
last_sle = self.get_last_sle()
- if last_sle:
- self.set_status(last_sle.get("last_sle"))
- self.set_purchase_details(last_sle.get("purchase_sle"))
- self.set_sales_details(last_sle.get("delivery_sle"))
+ self.set_status(last_sle.get("last_sle"))
+ self.set_purchase_details(last_sle.get("purchase_sle"))
+ self.set_sales_details(last_sle.get("delivery_sle"))
def on_communication(self):
return
diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py
index 7dec878..c322a1a 100644
--- a/stock/doctype/stock_entry/stock_entry.py
+++ b/stock/doctype/stock_entry/stock_entry.py
@@ -346,7 +346,8 @@
pro_bean = webnotes.bean("Production Order", self.doc.production_order)
_validate_production_order(pro_bean)
self.update_produced_qty(pro_bean)
- self.update_planned_qty(pro_bean)
+ if self.doc.purpose == "Manufacture/Repack":
+ self.update_planned_qty(pro_bean)
def update_produced_qty(self, pro_bean):
if self.doc.purpose == "Manufacture/Repack":