Merge pull request #974 from akhileshdarjee/master

[fix] [minor] conversion rate related fixes
diff --git a/accounts/doctype/sales_invoice/sales_invoice.js b/accounts/doctype/sales_invoice/sales_invoice.js
index 8192fe5..b5c1646 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/accounts/doctype/sales_invoice/sales_invoice.js
@@ -18,21 +18,21 @@
 erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.extend({
 	onload: function() {
 		this._super();
-		
-		if(!this.frm.doc.__islocal) {
+
+		if(!this.frm.doc.__islocal && !this.frm.doc.customer && this.frm.doc.debit_to) {
 			// show debit_to in print format
-			if(!this.frm.doc.customer && this.frm.doc.debit_to) {
-				this.frm.set_df_property("debit_to", "print_hide", 0);
-			}
+			this.frm.set_df_property("debit_to", "print_hide", 0);
 		}
 		
 		// toggle to pos view if is_pos is 1 in user_defaults
-		if ((cint(wn.defaults.get_user_defaults("is_pos"))===1 || cur_frm.doc.is_pos) && 
-				cint(wn.defaults.get_user_defaults("fs_pos_view"))===1) {
-					if(this.frm.doc.__islocal && !this.frm.doc.amended_from && !this.frm.doc.customer) {
-						this.frm.set_value("is_pos", 1);
-						this.is_pos(function() {cur_frm.cscript.toggle_pos(true);});
-					}
+		if ((cint(wn.defaults.get_user_defaults("is_pos"))===1 || cur_frm.doc.is_pos)) {
+			if(this.frm.doc.__islocal && !this.frm.doc.amended_from && !this.frm.doc.customer) {
+				this.frm.set_value("is_pos", 1);
+				this.is_pos(function() {
+					if (cint(wn.defaults.get_user_defaults("fs_pos_view"))===1)
+						cur_frm.cscript.toggle_pos(true);
+				});
+			}
 		}
 		
 		// if document is POS then change default print format to "POS Invoice"
@@ -44,7 +44,7 @@
 	
 	refresh: function(doc, dt, dn) {
 		this._super();
-		
+
 		cur_frm.cscript.is_opening(doc, dt, dn);
 		cur_frm.dashboard.reset();
 
@@ -141,6 +141,10 @@
 					callback: function(r) {
 						if(!r.exc) {
 							me.frm.script_manager.trigger("update_stock");
+							me.set_default_values();
+							me.set_dynamic_labels();
+							me.calculate_taxes_and_totals();
+
 							if(callback_fn) callback_fn()
 						}
 					}
diff --git a/public/js/transaction.js b/public/js/transaction.js
index 1c8f681..2886e1c 100644
--- a/public/js/transaction.js
+++ b/public/js/transaction.js
@@ -39,7 +39,7 @@
 	onload_post_render: function() {
 		var me = this;
 		if(this.frm.doc.__islocal && this.frm.doc.company && !this.frm.doc.is_pos) {
-			if(!this.frm.doc.customer) {
+			if(!this.frm.doc.customer || !this.frm.doc.supplier) {
 				return this.frm.call({
 					doc: this.frm.doc,
 					method: "onload_post_render",
@@ -48,7 +48,7 @@
 						// remove this call when using client side mapper
 						me.set_default_values();
 						me.set_dynamic_labels();
-						me.calculate_taxes_and_totals()
+						me.calculate_taxes_and_totals();
 					}
 				});
 			} else {
@@ -171,7 +171,8 @@
 	conversion_rate: function() {
 		if(this.frm.doc.currency === this.get_company_currency()) {
 			this.frm.set_value("conversion_rate", 1.0);
-		} else if(this.frm.doc.currency === this.frm.doc.price_list_currency &&
+		}
+		if(this.frm.doc.currency === this.frm.doc.price_list_currency &&
 			this.frm.doc.plc_conversion_rate !== this.frm.doc.conversion_rate) {
 				this.frm.set_value("plc_conversion_rate", this.frm.doc.conversion_rate);
 		}