Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/patches/may_2013/p06_make_notes.py b/patches/may_2013/p06_make_notes.py
index b60642c..29bfe25 100644
--- a/patches/may_2013/p06_make_notes.py
+++ b/patches/may_2013/p06_make_notes.py
@@ -13,17 +13,27 @@
 				name = question.question[:180]
 				if webnotes.conn.exists("Note", name):
 					webnotes.delete_doc("Note", name)
-				note = webnotes.bean({
+
+				similar_questions = webnotes.conn.sql_list("""select name from `tabQuestion`
+					where question like %s""", "%s%%" % name)
+				answers = [markdown2.markdown(c) for c in webnotes.conn.sql_list("""
+						select answer from tabAnswer where question in (%s)""" % \
+						", ".join(["%s"]*len(similar_questions)), similar_questions)]
+
+				webnotes.bean({
 					"doctype":"Note",
 					"title": name,
-					"content": "<hr>".join([markdown2.markdown(c) for c in webnotes.conn.sql_list("""
-						select answer from tabAnswer where question=%s""", question.name)]),
+					"content": "<hr>".join(answers),
 					"owner": question.owner,
 					"creation": question.creation,
 					"public": 1
 				}).insert()
+			
 			except NameError:
 				pass
+			except Exception, e:
+				if e.args[0] != 1062:
+					raise e
 
 	webnotes.delete_doc("DocType", "Question")
 	webnotes.delete_doc("DocType", "Answer")
diff --git a/public/js/transaction.js b/public/js/transaction.js
index 118594c..1d06a9f 100644
--- a/public/js/transaction.js
+++ b/public/js/transaction.js
@@ -6,9 +6,9 @@
 
 erpnext.TransactionController = erpnext.stock.StockController.extend({
 	onload: function() {
+		var me = this;
 		if(this.frm.doc.__islocal) {
-			var me = this,
-				today = get_today(),
+			var today = get_today(),
 				currency = wn.defaults.get_default("currency");
 			
 			$.each({
@@ -30,6 +30,14 @@
 			
 			me.frm.script_manager.trigger("company");
 		}
+		
+		if(this.other_fname) {
+			this[this.other_fname + "_remove"] = this.calculate_taxes_and_totals;
+		}
+		
+		if(this.fname) {
+			this[this.fname + "_remove"] = this.calculate_taxes_and_totals;
+		}
 	},
 	
 	onload_post_render: function() {
@@ -311,9 +319,14 @@
 				function(item_code, tax_data) {
 					if(!item_tax[item_code]) item_tax[item_code] = {};
 					if($.isArray(tax_data)) {
-						var tax_rate = tax_data[0] == null ? "" : (flt(tax_data[0], tax_rate_precision) + "%"),
-							tax_amount = format_currency(flt(tax_data[1], tax_amount_precision), company_currency,
-								tax_amount_precision);
+						var tax_rate = "";
+						if(tax_data[0] != null) {
+							tax_rate = (tax.charge_type === "Actual") ?
+								format_currency(flt(tax_data[0], tax_amount_precision), company_currency, tax_amount_precision) :
+								(flt(tax_data[0], tax_rate_precision) + "%");
+						}
+						var tax_amount = format_currency(flt(tax_data[1], tax_amount_precision), company_currency,
+							tax_amount_precision);
 						
 						item_tax[item_code][tax.name] = [tax_rate, tax_amount];
 					} else {