Merge branch 'handlerupdate' of github.com:webnotes/erpnext into handlerupdate
diff --git a/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt b/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt
index 9ed756f..7a4544f 100644
--- a/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt
+++ b/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt
@@ -134,6 +134,16 @@
 		'to_field': 'serial_no'
 	},
 
+	# Field Mapper Detail
+	{
+		'checking_operator': u'=',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'export_rate',
+		'map': u'Yes',
+		'match_id': 1,
+		'to_field': u'export_rate'
+	},
+
 	# Table Mapper Detail
 	{
 		'doctype': 'Table Mapper Detail',
@@ -151,17 +161,6 @@
 		'match_id': 1,
 		'to_field': 'entries',
 		'to_table': 'RV Detail',
-		'validation_logic': 'amount > ifnull(billed_amt, 0) and docstatus = 1'
-	},
-
-	# Table Mapper Detail
-	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'delivery_note_details',
-		'from_table': 'Delivery Note Detail',
-		'match_id': 1,
-		'to_field': 'entries',
-		'to_table': 'RV Detail',
 		'validation_logic': '(ifnull(amount, 0) = 0 or amount > ifnull(billed_amt, 0)) and docstatus = 1'
 	},
 
@@ -186,4 +185,4 @@
 		'to_table': 'Sales Team',
 		'validation_logic': 'name is not null'
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt b/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt
index 630fb15..fb180ff 100644
--- a/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt
+++ b/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt
@@ -136,6 +136,16 @@
 		'to_field': 'incentives'
 	},
 
+	# Field Mapper Detail
+	{
+		'checking_operator': u'=',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'export_rate',
+		'map': u'Yes',
+		'match_id': 1,
+		'to_field': u'export_rate'
+	},
+
 	# Table Mapper Detail
 	{
 		'doctype': 'Table Mapper Detail',
@@ -188,4 +198,4 @@
 		'to_table': 'Sales Team',
 		'validation_logic': 'name is not null'
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt
index 546d997..9d84f21 100644
--- a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt
+++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt
@@ -935,7 +935,7 @@
 		'oldfieldname': u'in_words_export',
 		'oldfieldtype': u'Data',
 		'permlevel': 1,
-		'print_hide': 1
+		'print_hide': 0
 	},
 
 	# DocField
@@ -1518,4 +1518,4 @@
 		'permlevel': 0,
 		'print_hide': 1
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/patches/jan_mar_2012/mapper_fix.py b/erpnext/patches/jan_mar_2012/mapper_fix.py
new file mode 100644
index 0000000..c651c5e
--- /dev/null
+++ b/erpnext/patches/jan_mar_2012/mapper_fix.py
@@ -0,0 +1,3 @@
+def execute():
+	import webnotes
+	webnotes.conn.sql("delete from `tabTable Mapper Detail` where to_table = 'RV Detail' and parent = 'Delivery Note-Receivable Voucher' and validation_logic = 'amount > ifnull(billed_amt, 0) and docstatus = 1'")
diff --git a/erpnext/patches/jan_mar_2012/reload_mapper.py b/erpnext/patches/jan_mar_2012/reload_mapper.py
new file mode 100644
index 0000000..a6e3102
--- /dev/null
+++ b/erpnext/patches/jan_mar_2012/reload_mapper.py
@@ -0,0 +1,9 @@
+def execute():
+	import webnotes
+	from webnotes.modules.module_manager import reload_doc
+
+	reload_doc('stock', 'DocType Mapper', 'Sales Order-Delivery Note')
+	reload_doc('accounts', 'DocType Mapper', 'Sales Order-Receivable Voucher')
+	reload_doc('accounts', 'DocType Mapper', 'Delivery Note-Receivable Voucher')
+
+	webnotes.conn.sql("delete from `tabField Mapper Detail` where parent = 'Sales Order-Delivery Note' and from_field = 'basic_rate' and to_field = 'basic_rate'")
diff --git a/erpnext/patches/patch_list.py b/erpnext/patches/patch_list.py
index 3bf4b6a..5e6a504 100644
--- a/erpnext/patches/patch_list.py
+++ b/erpnext/patches/patch_list.py
@@ -207,5 +207,15 @@
 		'patch_file': 'update_se_fld_options',
 		'description': 'Purpose SE: Others to Other' 
 	},
+	{
+		'patch_module': 'patches.jan_mar_2012',
+		'patch_file': 'reload_mapper',
+		'description': 'SO-DN, SO-Rv, DN-RV'
+	},
+	{
+		'patch_module': 'patches.jan_mar_2012',
+		'patch_file': 'mapper_fix',
+		'description': 'DN-RV duplicate table entry'
+	},
 
 ]
diff --git a/erpnext/selling/doctype/quotation/quotation.txt b/erpnext/selling/doctype/quotation/quotation.txt
index c8e3ecb..39a7327 100644
--- a/erpnext/selling/doctype/quotation/quotation.txt
+++ b/erpnext/selling/doctype/quotation/quotation.txt
@@ -875,7 +875,7 @@
 		'oldfieldname': u'in_words_export',
 		'oldfieldtype': u'Data',
 		'permlevel': 1,
-		'print_hide': 1,
+		'print_hide': 0,
 		'width': u'200px'
 	},
 
@@ -1199,4 +1199,4 @@
 		'permlevel': 0,
 		'print_hide': 1
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/selling/doctype/sales_order/sales_order.txt b/erpnext/selling/doctype/sales_order/sales_order.txt
index a82f970..7a11bda 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.txt
+++ b/erpnext/selling/doctype/sales_order/sales_order.txt
@@ -963,7 +963,7 @@
 		'oldfieldname': u'in_words_export',
 		'oldfieldtype': u'Data',
 		'permlevel': 1,
-		'print_hide': 1,
+		'print_hide': 0,
 		'width': u'200px'
 	},
 
@@ -1333,4 +1333,4 @@
 		'permlevel': 0,
 		'print_hide': 1
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/setup/doctype/other_charges/other_charges.js b/erpnext/setup/doctype/other_charges/other_charges.js
index a6f457d..85bdb79 100644
--- a/erpnext/setup/doctype/other_charges/other_charges.js
+++ b/erpnext/setup/doctype/other_charges/other_charges.js
@@ -36,6 +36,10 @@
 	return '';
 }
 
+cur_frm.pformat.in_words_export = function(doc) {
+	return '';
+}
+
 cur_frm.pformat.other_charges= function(doc){
   //function to make row of table
 	var make_row = function(title,val,bold){
@@ -89,7 +93,7 @@
 			out += make_row('Rounded Total',fmt_money(doc.rounded_total_export),1);
 		}
 
-		if(doc.in_words_export){
+		if(doc.in_words_export && !print_hide_dict['in_words_export']){
 			out +='</table></td></tr>';
 			out += '<tr><td colspan = "2">';
 			out += '<table><tr><td style="width:25%;"><b>In Words</b></td>'
diff --git a/erpnext/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt b/erpnext/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt
index fcadcd4..43e800f 100644
--- a/erpnext/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt
+++ b/erpnext/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt
@@ -131,10 +131,10 @@
 	{
 		'checking_operator': u'=',
 		'doctype': u'Field Mapper Detail',
-		'from_field': u'basic_rate',
+		'from_field': u'export_rate',
 		'map': u'Yes',
 		'match_id': 1,
-		'to_field': u'basic_rate'
+		'to_field': u'export_rate'
 	},
 
 	# Field Mapper Detail
@@ -264,4 +264,4 @@
 		'to_table': u'Delivery Note',
 		'validation_logic': u'docstatus = 1'
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py
index dc847f6..de2d131 100644
--- a/erpnext/stock/doctype/bin/bin.py
+++ b/erpnext/stock/doctype/bin/bin.py
@@ -337,12 +337,12 @@
 				and t1.docstatus != 2
 			""", self.doc.item_code)
 
-			if ((flt(ret[0]['re_order_level']) > flt(current_qty)) and ret[0]['re_order_level']):
-				self.create_auto_indent(ret[0], doc_type, doc_name)
+			if ((flt(ret[0]['re_order_level']) > flt(current_qty[0][0])) and ret[0]['re_order_level']):
+				self.create_auto_indent(ret[0], doc_type, doc_name, current_qty[0][0])
 
 	
 
-	def create_auto_indent(self, i , doc_type, doc_name):
+	def create_auto_indent(self, i , doc_type, doc_name, cur_qty):
 		"""	Create indent on reaching reorder level	"""
 
 		indent = Document('Indent')
@@ -361,7 +361,7 @@
 		indent_details_child.item_name = i['item_name']
 		indent_details_child.description = i['description']
 		indent_details_child.item_group = i['item_group']
-		indent_details_child.qty = i['re_order_qty']
+		indent_details_child.qty = i['re_order_qty'] or (flt(i['re_order_level']) - flt(cur_qty))
 		indent_details_child.brand = i['brand']
 		indent_details_child.save()
 		indent_obj = get_obj('Indent',indent.name,with_children=1)
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.txt b/erpnext/stock/doctype/delivery_note/delivery_note.txt
index 4878c36..7bbd7d5 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.txt
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.txt
@@ -869,7 +869,7 @@
 		'oldfieldname': u'in_words_export',
 		'oldfieldtype': u'Data',
 		'permlevel': 1,
-		'print_hide': 1,
+		'print_hide': 0,
 		'width': u'150px'
 	},
 
@@ -1346,4 +1346,4 @@
 		'permlevel': 0,
 		'print_hide': 1
 	}
-]
\ No newline at end of file
+]