Merge pull request #1875 from rmehta/develop
status_updater.py
diff --git a/.travis.yml b/.travis.yml
index dba0dab..7e5f21d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -27,5 +27,6 @@
- frappe --reinstall
- frappe --install_app erpnext --verbose
- frappe -b
+ - frappe --build_website
- frappe --serve_test &
- frappe --verbose --run_tests --app erpnext
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 9322ca6..90eacd9 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -183,10 +183,10 @@
args['second_source_condition'] = ""
if args.get('second_source_dt') and args.get('second_source_field') \
and args.get('second_join_field'):
- args['second_source_condition'] = """ + (select sum(%(second_source_field)s)
+ args['second_source_condition'] = """ + ifnull((select sum(%(second_source_field)s)
from `tab%(second_source_dt)s`
where `%(second_join_field)s`="%(detail_id)s"
- and (docstatus=1))""" % args
+ and (docstatus=1)), 0)""" % args
if args['detail_id']:
frappe.db.sql("""update `tab%(target_dt)s`
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index e9ba56b..53ab7b5 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -66,3 +66,4 @@
erpnext.patches.v4_0.set_naming_series_property_setter
erpnext.patches.v4_1.set_outgoing_email_footer
erpnext.patches.v4_1.fix_jv_remarks
+erpnext.patches.v4_1.fix_sales_order_delivered_status
diff --git a/erpnext/patches/v4_1/fix_sales_order_delivered_status.py b/erpnext/patches/v4_1/fix_sales_order_delivered_status.py
new file mode 100644
index 0000000..f66d856
--- /dev/null
+++ b/erpnext/patches/v4_1/fix_sales_order_delivered_status.py
@@ -0,0 +1,15 @@
+# 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 frappe
+
+def execute():
+ for si in frappe.db.sql_list("""select name
+ from `tabSales Invoice`
+ where ifnull(update_stock,0) = 1 and docstatus = 1 and exists(
+ select name from `tabSales Invoice Item` where parent=`tabSales Invoice`.name and
+ ifnull(so_detail, "") != "")"""):
+
+ invoice = frappe.get_doc("Sales Invoice", si)
+ invoice.update_qty()