Merge branch 'develop'
diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index b592739..4470592 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -2,7 +2,7 @@
 from __future__ import unicode_literals
 import frappe
 
-__version__ = '7.0.10'
+__version__ = '7.0.11'
 
 def get_default_company(user=None):
 	'''Get default company for user'''
diff --git a/erpnext/accounts/report/accounts_payable/accounts_payable.html b/erpnext/accounts/report/accounts_payable/accounts_payable.html
index 07f9e47..d3020b2 100644
--- a/erpnext/accounts/report/accounts_payable/accounts_payable.html
+++ b/erpnext/accounts/report/accounts_payable/accounts_payable.html
@@ -1 +1 @@
-{% include "erpnext/accounts/report/accounts_receivable/accounts_receivable.html" %}
+{% include "accounts/report/accounts_receivable/accounts_receivable.html" %}
diff --git a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.html b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.html
index 07f9e47..d3020b2 100644
--- a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.html
+++ b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.html
@@ -1 +1 @@
-{% include "erpnext/accounts/report/accounts_receivable/accounts_receivable.html" %}
+{% include "accounts/report/accounts_receivable/accounts_receivable.html" %}
diff --git a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.html b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.html
index 07f9e47..d3020b2 100644
--- a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.html
+++ b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.html
@@ -1 +1 @@
-{% include "erpnext/accounts/report/accounts_receivable/accounts_receivable.html" %}
+{% include "accounts/report/accounts_receivable/accounts_receivable.html" %}
diff --git a/erpnext/accounts/report/balance_sheet/balance_sheet.html b/erpnext/accounts/report/balance_sheet/balance_sheet.html
index 14dc0a6..d4ae54d 100644
--- a/erpnext/accounts/report/balance_sheet/balance_sheet.html
+++ b/erpnext/accounts/report/balance_sheet/balance_sheet.html
@@ -1 +1 @@
-{% include "erpnext/accounts/report/financial_statements.html" %}
+{% include "accounts/report/financial_statements.html" %}
diff --git a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.html b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.html
index 14dc0a6..d4ae54d 100644
--- a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.html
+++ b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.html
@@ -1 +1 @@
-{% include "erpnext/accounts/report/financial_statements.html" %}
+{% include "accounts/report/financial_statements.html" %}
diff --git a/erpnext/accounts/report/trial_balance/trial_balance.html b/erpnext/accounts/report/trial_balance/trial_balance.html
index 14dc0a6..d4ae54d 100644
--- a/erpnext/accounts/report/trial_balance/trial_balance.html
+++ b/erpnext/accounts/report/trial_balance/trial_balance.html
@@ -1 +1 @@
-{% include "erpnext/accounts/report/financial_statements.html" %}
+{% include "accounts/report/financial_statements.html" %}
diff --git a/erpnext/demo/setup_data.py b/erpnext/demo/setup_data.py
index 3367527..cb33cb1 100644
--- a/erpnext/demo/setup_data.py
+++ b/erpnext/demo/setup_data.py
@@ -32,6 +32,7 @@
 	setup_employee()
 	setup_salary_structure()
 	setup_salary_structure_for_timesheet()
+	setup_leave_allocation()
 	setup_mode_of_payment()
 	setup_account_to_expense_type()
 	setup_user_roles()
@@ -430,3 +431,23 @@
 	})
 
 	pos.insert()
+
+def setup_leave_allocation():
+	year = now_datetime().year
+	for employee in frappe.get_all('Employee', fields=['name']):
+		leave_types = frappe.get_all("Leave Type", fields=['name', 'max_days_allowed'])
+		for leave_type in leave_types:
+			if not leave_type.max_days_allowed:
+				leave_type.max_days_allowed = 10
+	
+		leave_allocation = frappe.get_doc({
+			"doctype": "Leave Allocation",
+			"employee": employee.name,
+			"from_date": "{0}-01-01".format(year),
+			"to_date": "{0}-12-31".format(year),
+			"leave_type": leave_type.name,
+			"new_leaves_allocated": random.randint(1, int(leave_type.max_days_allowed))
+		})
+		leave_allocation.insert()
+		leave_allocation.submit()
+		frappe.db.commit()			
diff --git a/erpnext/demo/user/hr.py b/erpnext/demo/user/hr.py
index 28966ec..3d5ac83 100644
--- a/erpnext/demo/user/hr.py
+++ b/erpnext/demo/user/hr.py
@@ -1,15 +1,19 @@
 from __future__ import unicode_literals
 import frappe
 import random
-from frappe.utils import random_string
+from frappe.utils import random_string, add_days
 from erpnext.projects.doctype.timesheet.test_timesheet import make_timesheet
 from erpnext.projects.doctype.timesheet.timesheet import make_salary_slip, make_sales_invoice
 from frappe.utils.make_random import how_many, get_random
 from erpnext.hr.doctype.expense_claim.expense_claim import get_expense_approver, make_bank_entry
+from erpnext.hr.doctype.leave_application.leave_application import get_leave_balance_on, OverlapError
 
 def work():
 	frappe.set_user(frappe.db.get_global('demo_hr_user'))
 	year, month = frappe.flags.current_date.strftime("%Y-%m").split("-")
+	
+	mark_attendance()
+	make_leave_application()
 
 	# process payroll
 	if not frappe.db.get_value("Salary Slip", {"month": month, "fiscal_year": year}):
@@ -123,4 +127,53 @@
 	sales_invoice.calculate_taxes_and_totals()
 	sales_invoice.insert()
 	sales_invoice.submit()
-	frappe.db.commit()
\ No newline at end of file
+	frappe.db.commit()
+	
+def make_leave_application():
+	allocated_leaves = frappe.get_all("Leave Allocation", fields=['employee', 'leave_type'])
+	
+	for allocated_leave in allocated_leaves:
+		leave_balance = get_leave_balance_on(allocated_leave.employee, allocated_leave.leave_type, frappe.flags.current_date,
+			consider_all_leaves_in_the_allocation_period=True)
+		if leave_balance != 0:
+			if leave_balance == 1:
+				to_date = frappe.flags.current_date
+			else:
+				to_date = add_days(frappe.flags.current_date, random.randint(0, leave_balance-1))
+				
+			leave_application = frappe.get_doc({
+				"doctype": "Leave Application",
+				"employee": allocated_leave.employee,
+				"from_date": frappe.flags.current_date,
+				"to_date": to_date,
+				"leave_type": allocated_leave.leave_type,
+				"status": "Approved"
+			})
+			try:
+				leave_application.insert()
+				leave_application.submit()
+				frappe.db.commit()
+			except (OverlapError):
+				frappe.db.rollback()
+			
+def mark_attendance():
+	att_date = frappe.flags.current_date
+	for employee in frappe.get_all('Employee', fields=['name'], filters = {'status': 'Active'}):
+		
+		if not frappe.db.get_value("Attendance", {"employee": employee.name, "att_date": att_date}):
+			attendance = frappe.get_doc({
+				"doctype": "Attendance",
+				"employee": employee.name,
+				"att_date": att_date
+			})
+			leave = frappe.db.sql("""select name from `tabLeave Application`
+				where employee = %s and %s between from_date and to_date and status = 'Approved'
+				and docstatus = 1""", (employee.name, att_date))
+			
+			if leave:
+				attendance.status = "Absent"
+			else:
+				attendance.status = "Present"		
+			attendance.save()
+			attendance.submit()		
+			frappe.db.commit()	
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/website/setup/social-login-keys.md b/erpnext/docs/user/manual/en/website/setup/social-login-keys.md
index b8784a3..bb1329f 100644
--- a/erpnext/docs/user/manual/en/website/setup/social-login-keys.md
+++ b/erpnext/docs/user/manual/en/website/setup/social-login-keys.md
@@ -5,7 +5,9 @@
 Checkout the following Video Tutorials to understand how to enable social logins on ERPNext
 
 * for FaceBook - https://www.youtube.com/watch?v=zC6Q6gIfiw8
-* for Google - https://www.youtube.com/watch?v=w_EAttrE9sw
+* for Google - https://www.youtube.com/watch?v=w_EAttrE9sw 
 * for GitHub - https://www.youtube.com/watch?v=bG71DxxkVjQ
 
-{next}
\ No newline at end of file
+For Google the *Authorized redirect URI* is [yoursite]/api/method/frappe.www.login.login_via_google
+
+{next}
diff --git a/erpnext/portal/doctype/homepage/homepage.js b/erpnext/portal/doctype/homepage/homepage.js
index df7f5ce..100074f 100644
--- a/erpnext/portal/doctype/homepage/homepage.js
+++ b/erpnext/portal/doctype/homepage/homepage.js
@@ -15,7 +15,7 @@
 				method: 'frappe.client.get_value',
 				args: {
 					'doctype': 'Item',
-					'filters': featured_product.item_code,
+					'filters': {'name': featured_product.item_code},
 					'fieldname': [
 						'item_name',
 						'web_long_description',
diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index 4081ca2..6c5f59a 100644
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -179,6 +179,22 @@
 	}
 }
 
+frappe.form.link_formatters['Item'] = function(value, doc) {
+	if(doc.item_name && doc.item_name !== value) {
+		return value + ': ' + doc.item_name;
+	} else {
+		return value;
+	}
+}
+
+frappe.form.link_formatters['Employee'] = function(value, doc) {
+	if(doc.employee_name && doc.employee_name !== value) {
+		return value + ': ' + doc.employee_name;
+	} else {
+		return value;
+	}
+}
+
 // add description on posting time
 $(document).on('app_ready', function() {
 	if(!frappe.datetime.is_timezone_same()) {
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index cedfb24..b546df4 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -120,7 +120,10 @@
 		'''set opening stock'''
 		if not self.is_stock_item or self.has_serial_no or self.has_batch_no:
 			return
-		
+
+		if not self.valuation_rate and self.standard_rate:
+			self.valuation_rate = self.standard_rate
+
 		if not self.valuation_rate:
 			frappe.throw(_("Valuation Rate is mandatory if Opening Stock entered"))