Change currency exchange rate api to fixer.io
diff --git a/erpnext/setup/doctype/global_defaults/global_defaults.json b/erpnext/setup/doctype/global_defaults/global_defaults.json
index 777ae3b..c7330d0 100644
--- a/erpnext/setup/doctype/global_defaults/global_defaults.json
+++ b/erpnext/setup/doctype/global_defaults/global_defaults.json
@@ -66,20 +66,6 @@
    "label": "Disable Rounded Total", 
    "permlevel": 0, 
    "read_only": 0
-  }, 
-  {
-   "fieldname": "section_break_8", 
-   "fieldtype": "Section Break", 
-   "permlevel": 0, 
-   "precision": ""
-  }, 
-  {
-   "description": "For automatic exchange rates go to jsonrates.com and signup for an API key", 
-   "fieldname": "jsonrates_api_key", 
-   "fieldtype": "Data", 
-   "label": "jsonrates.com API Key", 
-   "permlevel": 0, 
-   "precision": ""
   }
  ], 
  "hide_toolbar": 0, 
@@ -87,7 +73,7 @@
  "idx": 1, 
  "in_create": 1, 
  "issingle": 1, 
- "modified": "2015-05-07 05:43:49.760061", 
+ "modified": "2015-06-30 03:00:26.420003", 
  "modified_by": "Administrator", 
  "module": "Setup", 
  "name": "Global Defaults", 
diff --git a/erpnext/setup/doctype/global_defaults/global_defaults.py b/erpnext/setup/doctype/global_defaults/global_defaults.py
index a3fa3a9..efdc875 100644
--- a/erpnext/setup/doctype/global_defaults/global_defaults.py
+++ b/erpnext/setup/doctype/global_defaults/global_defaults.py
@@ -17,7 +17,6 @@
 	'hide_currency_symbol':'hide_currency_symbol',
 	'account_url':'account_url',
 	'disable_rounded_total': 'disable_rounded_total',
-	'jsonrates_api_key': 'jsonrates_api_key'
 }
 
 from frappe.model.document import Document
diff --git a/erpnext/setup/utils.py b/erpnext/setup/utils.py
index cef6079..f661edb 100644
--- a/erpnext/setup/utils.py
+++ b/erpnext/setup/utils.py
@@ -60,20 +60,21 @@
 
 @frappe.whitelist()
 def get_exchange_rate(from_currency, to_currency):
-	jsonrates_api_key = frappe.conf.jsonrates_api_key or frappe.db.get_default("jsonrates_api_key")
-
-	if jsonrates_api_key:
+	try:
 		cache = frappe.cache()
 		key = "currency_exchange_rate:{0}:{1}".format(from_currency, to_currency)
 		value = cache.get(key)
 		if not value:
 			import requests
-			response = requests.get("http://jsonrates.com/get/?from={0}&to={1}&apiKey={2}".format(from_currency,
-				to_currency, jsonrates_api_key))
+			response = requests.get("http://api.fixer.io/latest", params={
+				"base": from_currency,
+				"symbols": to_currency
+			})
 			# expire in 24 hours
-			value = response.json().get("rate")
+			response.raise_for_status()
+			value = response.json()["rates"][to_currency]
 			cache.setex(key, value, 24 * 60 * 60)
 		return flt(value)
-	else:
+	except:
 		exchange = "%s-%s" % (from_currency, to_currency)
 		return flt(frappe.db.get_value("Currency Exchange", exchange, "exchange_rate"))