Merge branch 'staging' into develop
diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json
index 5215c28..cef49d7 100644
--- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json
+++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json
@@ -978,7 +978,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2018-08-21 16:15:45.704550", 
+ "modified": "2018-09-13 10:15:45.704550",
  "modified_by": "Administrator", 
  "module": "Healthcare", 
  "name": "Patient Appointment", 
diff --git a/erpnext/hub_node/api.py b/erpnext/hub_node/api.py
index 0492dde..2356401 100644
--- a/erpnext/hub_node/api.py
+++ b/erpnext/hub_node/api.py
@@ -184,7 +184,7 @@
 
 
 def convert_relative_image_urls_to_absolute(items):
-	from urlparse import urljoin
+	from six.moves.urllib.parse import urljoin
 
 	for item in items:
 		file_path = item['image']
diff --git a/erpnext/public/js/setup_wizard.js b/erpnext/public/js/setup_wizard.js
index a030381..82d6f6e 100644
--- a/erpnext/public/js/setup_wizard.js
+++ b/erpnext/public/js/setup_wizard.js
@@ -141,9 +141,7 @@
 			let me = this;
 			let exist;
 
-			// validate fiscal year start and end dates
-			if (this.values.fy_start_date == 'Invalid date' || this.values.fy_end_date == 'Invalid date') {
-				frappe.msgprint(__("Please enter valid Financial Year Start and End Dates"));
+			if (!this.validate_fy_dates()) {
 				return false;
 			}
 
@@ -170,6 +168,20 @@
 			return true;
 		},
 
+		validate_fy_dates: function() {
+			// validate fiscal year start and end dates
+			const invalid = this.values.fy_start_date == 'Invalid date' ||
+				this.values.fy_end_date == 'Invalid date';
+			const start_greater_than_end = this.values.fy_start_date > this.values.fy_end_date;
+
+			if (invalid || start_greater_than_end) {
+				frappe.msgprint(__("Please enter valid Financial Year Start and End Dates"));
+				return false;
+			}
+
+			return true;
+		},
+
 		set_fy_dates: function (slide) {
 			var country = frappe.wizard.values.country;