Merge branch 'develop' into typo-fix
diff --git a/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py b/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py
index bc07b6d..d098d84 100644
--- a/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py
+++ b/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py
@@ -3,6 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe, json
+from frappe import _
 from frappe.utils import add_to_date, date_diff, getdate, nowdate, get_last_day, formatdate
 from erpnext.accounts.report.general_ledger.general_ledger import execute
 from frappe.core.page.dashboard.dashboard import cache_source, get_from_date_from_timespan
@@ -24,6 +25,9 @@
 	account = filters.get("account")
 	company = filters.get("company")
 
+	if not account and chart:
+		frappe.throw(_("Account is not set for the dashboard chart {0}").format(chart))
+
 	if not to_date:
 		to_date = nowdate()
 	if not from_date:
diff --git a/erpnext/erpnext_integrations/doctype/shopify_log/shopify_log.py b/erpnext/erpnext_integrations/doctype/shopify_log/shopify_log.py
index 7d3f572..a2b6af9 100644
--- a/erpnext/erpnext_integrations/doctype/shopify_log/shopify_log.py
+++ b/erpnext/erpnext_integrations/doctype/shopify_log/shopify_log.py
@@ -39,7 +39,7 @@
 	if hasattr(exception, 'message'):
 		message = exception.message
 	elif hasattr(exception, '__str__'):
-		message = e.__str__()
+		message = exception.__str__()
 	else:
 		message = "Something went wrong while syncing"
 	return message
diff --git a/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py b/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py
index a4332b1..0cad0cc 100644
--- a/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py
+++ b/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py
@@ -43,7 +43,7 @@
 				d.raise_for_status()
 				self.update_webhook_table(method, d.json())
 			except Exception as e:
-				make_shopify_log(status="Warning", message=e, exception=False)
+				make_shopify_log(status="Warning", exception=e, rollback=True)
 
 	def unregister_webhooks(self):
 		session = get_request_session()
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim_list.js b/erpnext/hr/doctype/expense_claim/expense_claim_list.js
index 0e25e66..6195ad4 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim_list.js
+++ b/erpnext/hr/doctype/expense_claim/expense_claim_list.js
@@ -2,11 +2,11 @@
 	add_fields: ["total_claimed_amount", "docstatus"],
 	get_indicator: function(doc) {
 		if(doc.status == "Paid") {
-			return [__("Paid"), "green", "status,=,'Paid'"];
+			return [__("Paid"), "green", "status,=,Paid"];
 		}else if(doc.status == "Unpaid") {
-			return [__("Unpaid"), "orange"];
+			return [__("Unpaid"), "orange", "status,=,Unpaid"];
 		} else if(doc.status == "Rejected") {
-			return [__("Rejected"), "grey"];
+			return [__("Rejected"), "grey", "status,=,Rejected"];
 		}
 	}
 };
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py
index 27a51c3..46be4fe 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.py
@@ -5,7 +5,7 @@
 import frappe, erpnext
 import datetime, math
 
-from frappe.utils import add_days, cint, cstr, flt, getdate, rounded, date_diff, money_in_words, getdate
+from frappe.utils import add_days, cint, cstr, flt, getdate, rounded, date_diff, money_in_words
 from frappe.model.naming import make_autoname
 
 from frappe import msgprint, _
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index e69a6aad..8b42b19 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -33,6 +33,10 @@
 		return exists
 
 	def validate(self):
+		self.update_default_account = False
+		if self.is_new():
+			self.update_default_account = True
+
 		self.validate_abbr()
 		self.validate_default_accounts()
 		self.validate_currency()
@@ -203,8 +207,8 @@
 				"default_expense_account": "Cost of Goods Sold"
 			})
 
-		for default_account in default_accounts:
-			if self.is_new() or frappe.flags.in_test or frappe.flags.in_demo:
+		if self.update_default_account or frappe.flags.in_test:
+			for default_account in default_accounts:
 				self._set_default_account(default_account, default_accounts.get(default_account))
 
 		if not self.default_income_account:
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note_list.js b/erpnext/stock/doctype/delivery_note/delivery_note_list.js
index 6fc51ec..0ae7c37 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note_list.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note_list.js
@@ -6,9 +6,9 @@
 			return [__("Return"), "darkgrey", "is_return,=,Yes"];
 		} else if (doc.status === "Closed") {
 			return [__("Closed"), "green", "status,=,Closed"];
-		} else if (doc.grand_total !== 0 && flt(doc.per_billed, 2) < 100) {
+		} else if (flt(doc.per_billed, 2) < 100) {
 			return [__("To Bill"), "orange", "per_billed,<,100"];
-		} else if (doc.grand_total === 0 || flt(doc.per_billed, 2) == 100) {
+		} else if (flt(doc.per_billed, 2) == 100) {
 			return [__("Completed"), "green", "per_billed,=,100"];
 		}
 	},