Merge pull request #6751 from neilLasrado/develop

Fixes to demo
diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/ae_uae_chart_template_standard.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/ae_uae_chart_template_standard.json
index 4fa889d..d7f508f 100644
--- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/ae_uae_chart_template_standard.json
+++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/ae_uae_chart_template_standard.json
@@ -294,7 +294,7 @@
             "Current Liabilities": {
                 "Accounts Payable": {
                     "Payables": {
-                        "Advance Paybale to Suppliers": {
+                        "Advance Payable to Suppliers": {
                             "account_type": "Payable"
                         },
                         "Consigned Payable": {
diff --git a/erpnext/docs/assets/img/accounts/Screen Shot 2016-10-28 at 5.36.15 PM.png b/erpnext/docs/assets/img/accounts/Screen Shot 2016-10-28 at 5.36.15 PM.png
new file mode 100644
index 0000000..cdc4e1a
--- /dev/null
+++ b/erpnext/docs/assets/img/accounts/Screen Shot 2016-10-28 at 5.36.15 PM.png
Binary files differ
diff --git a/erpnext/docs/user/manual/en/accounts/sales-invoice.md b/erpnext/docs/user/manual/en/accounts/sales-invoice.md
index fb132e7..e68d2c7 100644
--- a/erpnext/docs/user/manual/en/accounts/sales-invoice.md
+++ b/erpnext/docs/user/manual/en/accounts/sales-invoice.md
@@ -64,6 +64,15 @@
 
 <img class="screenshot" alt="POS Invoice" src="{{docs_base_url}}/assets/img/accounts/pos-sales-invoice.png">
 
+#### Billing Timesheet with Project
+
+If you want to bill employees working on Projects on hourly basis (contract based),
+they can fill out Timesheets which consists their billing rate. When you make a new
+Sales Invoice, select the Project for which the billing is to be made, and the
+corresponding Timesheet entries for that Project will be fetched.
+
+<img class="screenshot" alt="POS Invoice" src="{{docs_base_url}}/assets/img/accounts/billing-timesheet-sales-invoice.png">
+
 * * *
 
 #### "Pro Forma" Invoice
@@ -80,5 +89,4 @@
 ERPNext) titled as “Pro Forma Invoice”. This way everyone is happy.
 
 This is a fairly common practice. We follow this at Frappe too.
-
 {next}
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index e5cdb1a..e7c9e7c 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -341,4 +341,5 @@
 erpnext.patches.v7_0.repost_bin_qty_and_item_projected_qty
 erpnext.patches.v7_1.set_prefered_contact_email
 execute:frappe.db.sql("update `tabSingles` set value = 1 where field = 'unlink_payment_on_cancellation_of_invoice' and doctype = 'Accounts Settings'")
-execute:frappe.db.sql("update `tabStock Entry` set total_amount = null where purpose in('Repack', 'Manufacture')")
\ No newline at end of file
+execute:frappe.db.sql("update `tabStock Entry` set total_amount = null where purpose in('Repack', 'Manufacture')")
+erpnext.patches.v7_1.save_stock_settings
\ No newline at end of file
diff --git a/erpnext/patches/v7_1/save_stock_settings.py b/erpnext/patches/v7_1/save_stock_settings.py
new file mode 100644
index 0000000..83c27dc
--- /dev/null
+++ b/erpnext/patches/v7_1/save_stock_settings.py
@@ -0,0 +1,7 @@
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+	stock_settings = frappe.get_doc('Stock Settings')
+	stock_settings.flags.ignore_mandatory = True
+	stock_settings.save()
diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index 6c8898d..39e87f8 100644
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -192,7 +192,7 @@
 
 frappe.form.link_formatters['Item'] = function(value, doc) {
 	if(doc && doc.item_name && doc.item_name !== value) {
-		return value + ': ' + doc.item_name;
+		return value? value + ': ' + doc.item_name: doc.item_name;
 	} else {
 		return value;
 	}
@@ -200,7 +200,7 @@
 
 frappe.form.link_formatters['Employee'] = function(value, doc) {
 	if(doc && doc.employee_name && doc.employee_name !== value) {
-		return value + ': ' + doc.employee_name;
+		return value? value + ': ' + doc.employee_name: doc.employee_name;
 	} else {
 		return value;
 	}
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.py b/erpnext/stock/doctype/stock_settings/stock_settings.py
index 7c67a65..68d64a2 100644
--- a/erpnext/stock/doctype/stock_settings/stock_settings.py
+++ b/erpnext/stock/doctype/stock_settings/stock_settings.py
@@ -10,7 +10,7 @@
 
 class StockSettings(Document):
 	def validate(self):
-		for key in ["item_naming_by", "item_group", "stock_uom", "allow_negative_stock"]:
+		for key in ["item_naming_by", "item_group", "stock_uom", "allow_negative_stock", "default_warehouse"]:
 			frappe.db.set_default(key, self.get(key, ""))
 
 		from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series