Trigger Apply Price List on change of Currency Conversion Rate or Price List Currency Conversion Rate
diff --git a/erpnext/public/js/transaction.js b/erpnext/public/js/transaction.js
index 9cc22ea..9322061 100644
--- a/erpnext/public/js/transaction.js
+++ b/erpnext/public/js/transaction.js
@@ -236,8 +236,8 @@
 		if(flt(this.frm.doc.conversion_rate)>0.0) {
 			if(this.frm.doc.ignore_pricing_rule) {
 				this.calculate_taxes_and_totals();
-			} else {
-				this.apply_pricing_rule();
+			} else if (!this.in_apply_price_list){
+				this.apply_price_list();
 			}
 
 		}
@@ -254,22 +254,17 @@
 	price_list_currency: function() {
 		var me=this;
 		this.set_dynamic_labels();
-
-		var company_currency = this.get_company_currency();
-		if(this.frm.doc.price_list_currency !== company_currency) {
-			this.get_exchange_rate(this.frm.doc.price_list_currency, company_currency,
-				function(exchange_rate) {
-					if(exchange_rate) {
-						me.frm.set_value("plc_conversion_rate", exchange_rate);
-						me.plc_conversion_rate();
-					}
-				});
-		} else {
-			this.plc_conversion_rate();
-		}
+		this.set_plc_conversion_rate();
 	},
 
 	plc_conversion_rate: function() {
+		this.set_plc_conversion_rate();
+		if(!this.in_apply_price_list) {
+			this.apply_price_list();
+		}
+	},
+
+	set_plc_conversion_rate: function() {
 		if(this.frm.doc.price_list_currency === this.get_company_currency()) {
 			this.frm.set_value("plc_conversion_rate", 1.0);
 		}
@@ -403,8 +398,10 @@
 			args: {	args: this._get_args() },
 			callback: function(r) {
 				if (!r.exc) {
+					me.in_apply_price_list = true;
 					me.frm.set_value("price_list_currency", r.message.parent.price_list_currency);
 					me.frm.set_value("plc_conversion_rate", r.message.parent.plc_conversion_rate);
+					me.in_apply_price_list = false;
 					me._set_values_for_item_list(r.message.children);
 				}
 			}
diff --git a/erpnext/startup/__init__.py b/erpnext/startup/__init__.py
index 576ab05..a3b96cf 100644
--- a/erpnext/startup/__init__.py
+++ b/erpnext/startup/__init__.py
@@ -2,17 +2,17 @@
 
 # ERPNext - web based ERP (http://erpnext.com)
 # Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
+#
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-# 
+#
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
@@ -26,11 +26,3 @@
 	"Company": "company",
 	"Territory": "territory"
 }
-
-def get_monthly_bulk_mail_limit():
-	import frappe
-	# if global settings, then 500 or unlimited
-	if frappe.db.get_value('Outgoing Email Settings', None, 'mail_server'):
-		return 999999
-	else:
-		return 500