merge
diff --git a/data/master.sql.gz b/data/master.sql.gz
index 8b9fdb9..e8f45a9 100644
--- a/data/master.sql.gz
+++ b/data/master.sql.gz
Binary files differ
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt b/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt
index 5ec5552..450052d 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2012-04-13 11:56:18',
 		'docstatus': 0,
-		'modified': '2012-05-04 11:56:59',
+		'modified': '2012-05-08 17:17:51',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
@@ -136,7 +136,6 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'depends_on': u'eval:doc.retail_transaction!="Yes"',
 		'description': u'To manage multiple series please go to Setup > Manage Series',
 		'doctype': u'DocField',
 		'fieldname': u'naming_series',
diff --git a/erpnext/selling/doctype/sales_order/sales_order.txt b/erpnext/selling/doctype/sales_order/sales_order.txt
index ea86285..ca24ce2 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.txt
+++ b/erpnext/selling/doctype/sales_order/sales_order.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2012-04-13 11:56:28',
+		'creation': '2012-05-09 10:56:36',
 		'docstatus': 0,
-		'modified': '2012-04-30 20:07:31',
+		'modified': '2012-05-09 11:06:28',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
@@ -60,34 +60,11 @@
 
 	# DocPerm
 	{
-		'amend': 0,
-		'cancel': 0,
-		'create': 0,
-		'doctype': u'DocPerm',
-		'permlevel': 1,
-		'role': u'Sales Manager',
-		'submit': 0,
-		'write': 0
-	},
-
-	# DocPerm
-	{
 		'amend': 1,
 		'cancel': 1,
 		'create': 1,
 		'doctype': u'DocPerm',
-		'permlevel': 0,
-		'role': u'Sales Manager',
-		'submit': 1,
-		'write': 1
-	},
-
-	# DocPerm
-	{
-		'amend': 1,
-		'cancel': 1,
-		'create': 1,
-		'doctype': u'DocPerm',
+		'match': u'owner',
 		'permlevel': 0,
 		'role': u'Sales User',
 		'submit': 1,
@@ -96,53 +73,6 @@
 
 	# DocPerm
 	{
-		'amend': 0,
-		'cancel': 0,
-		'create': 0,
-		'doctype': u'DocPerm',
-		'permlevel': 1,
-		'role': u'Sales User',
-		'submit': 0,
-		'write': 0
-	},
-
-	# DocPerm
-	{
-		'doctype': u'DocPerm',
-		'match': u'customer_name',
-		'permlevel': 0,
-		'role': u'Customer'
-	},
-
-	# DocPerm
-	{
-		'doctype': u'DocPerm',
-		'permlevel': 2,
-		'role': u'Accounts User',
-		'write': 1
-	},
-
-	# DocPerm
-	{
-		'amend': 1,
-		'cancel': 1,
-		'create': 1,
-		'doctype': u'DocPerm',
-		'permlevel': 0,
-		'role': u'Maintenance Manager',
-		'submit': 1,
-		'write': 1
-	},
-
-	# DocPerm
-	{
-		'doctype': u'DocPerm',
-		'permlevel': 1,
-		'role': u'Maintenance Manager'
-	},
-
-	# DocPerm
-	{
 		'amend': 1,
 		'cancel': 1,
 		'create': 1,
@@ -155,9 +85,99 @@
 
 	# DocPerm
 	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
 		'doctype': u'DocPerm',
 		'permlevel': 1,
-		'role': u'Maintenance User'
+		'role': u'Maintenance Manager',
+		'submit': 0,
+		'write': 0
+	},
+
+	# DocPerm
+	{
+		'amend': 1,
+		'cancel': 1,
+		'create': 1,
+		'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'Maintenance Manager',
+		'submit': 1,
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'amend': 1,
+		'cancel': 1,
+		'create': 1,
+		'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'Sales Manager',
+		'submit': 1,
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
+		'doctype': u'DocPerm',
+		'permlevel': 1,
+		'role': u'Sales Manager',
+		'submit': 0,
+		'write': 0
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
+		'doctype': u'DocPerm',
+		'permlevel': 2,
+		'role': u'Accounts User',
+		'submit': 0,
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
+		'doctype': u'DocPerm',
+		'match': u'customer',
+		'permlevel': 0,
+		'role': u'Customer',
+		'submit': 0,
+		'write': 0
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
+		'doctype': u'DocPerm',
+		'permlevel': 1,
+		'role': u'Sales User',
+		'submit': 0,
+		'write': 0
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
+		'doctype': u'DocPerm',
+		'permlevel': 1,
+		'role': u'Maintenance User',
+		'submit': 0,
+		'write': 0
 	},
 
 	# DocField
@@ -371,6 +391,30 @@
 
 	# DocField
 	{
+		'doctype': u'DocField',
+		'fieldname': u'shipping_address_name',
+		'fieldtype': u'Data',
+		'hidden': 1,
+		'in_filter': 1,
+		'label': u'Shipping Address Name',
+		'options': u'Address',
+		'permlevel': 1,
+		'print_hide': 1
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'shipping_address',
+		'fieldtype': u'Small Text',
+		'in_filter': 0,
+		'label': u'Shipping Address',
+		'permlevel': 1,
+		'print_hide': 1
+	},
+
+	# DocField
+	{
 		'colour': u'White:FFF',
 		'doctype': u'DocField',
 		'fieldname': u'items',
@@ -931,30 +975,6 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
-		'fieldname': u'shipping_address_name',
-		'fieldtype': u'Data',
-		'hidden': 1,
-		'in_filter': 1,
-		'label': u'Shipping Address Name',
-		'options': u'Address',
-		'permlevel': 1,
-		'print_hide': 1
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'shipping_address',
-		'fieldtype': u'Small Text',
-		'in_filter': 0,
-		'label': u'Shipping Address',
-		'permlevel': 1,
-		'print_hide': 1
-	},
-
-	# DocField
-	{
 		'colour': u'White:FFF',
 		'description': u'Filling in additional information about the Sales Order will help you analyze your data better.',
 		'doctype': u'DocField',
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 3024da5..bad4dcf 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
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:35',
 		'docstatus': 0,
-		'modified': '2012-04-02 13:05:03',
+		'modified': '2012-05-08 11:50:18',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
@@ -131,16 +131,6 @@
 	{
 		'checking_operator': u'=',
 		'doctype': u'Field Mapper Detail',
-		'from_field': u'basic_rate',
-		'map': u'Yes',
-		'match_id': 1,
-		'to_field': u'basic_rate'
-	},
-
-	# Field Mapper Detail
-	{
-		'checking_operator': u'=',
-		'doctype': u'Field Mapper Detail',
 		'from_field': u'export_rate',
 		'map': u'Yes',
 		'match_id': 1,
@@ -149,16 +139,6 @@
 
 	# Field Mapper Detail
 	{
-		'checking_operator': u'=',
-		'doctype': u'Field Mapper Detail',
-		'from_field': u'basic_rate',
-		'map': u'Yes',
-		'match_id': 1,
-		'to_field': u'basic_rate'
-	},
-
-	# Field Mapper Detail
-	{
 		'doctype': u'Field Mapper Detail',
 		'from_field': u'eval: flt(obj.qty) - flt(obj.delivered_qty)',
 		'map': u'Yes',
@@ -231,15 +211,6 @@
 		'to_field': u'incentives'
 	},
 
-	# Field Mapper Detail
-	{
-		'doctype': u'Field Mapper Detail',
-		'from_field': u'allocated_amount',
-		'map': u'Yes',
-		'match_id': 0,
-		'to_field': u'customer_mobile_no'
-	},
-
 	# Table Mapper Detail
 	{
 		'doctype': u'Table Mapper Detail',
@@ -265,30 +236,6 @@
 	# Table Mapper Detail
 	{
 		'doctype': u'Table Mapper Detail',
-		'from_field': u'other_charges',
-		'from_table': u'Sales Taxes and Charges',
-		'match_id': 2,
-		'to_field': u'other_charges',
-		'to_table': u'Sales Taxes and Charges',
-		'validation_logic': u'name is not null'
-	},
-
-	# Table Mapper Detail
-	{
-		'doctype': u'Table Mapper Detail',
-		'from_field': u'sales_order_details',
-		'from_table': u'Sales Order Item',
-		'match_id': 1,
-		'reference_doctype_key': u'prevdoc_doctype',
-		'reference_key': u'prevdoc_detail_docname',
-		'to_field': u'delivery_note_details',
-		'to_table': u'Delivery Note Item',
-		'validation_logic': u'qty > ifnull(delivered_qty,0) and docstatus = 1'
-	},
-
-	# Table Mapper Detail
-	{
-		'doctype': u'Table Mapper Detail',
 		'from_field': u'sales_order_details',
 		'from_table': u'Sales Order Item',
 		'match_id': 1,
diff --git a/public/js/all-app.js b/public/js/all-app.js
index 28d1547..47c9ba1 100644
--- a/public/js/all-app.js
+++ b/public/js/all-app.js
@@ -2110,8 +2110,8 @@
 _e.email_as_field='email_id';_e.email_as_dt='Contact';_e.email_as_in='email_id,contact_name';sendmail=function(emailto,emailfrom,cc,subject,message,fmt,with_attachments){var fn=function(html){$c('webnotes.utils.email_lib.send_form',{'sendto':emailto,'sendfrom':emailfrom?emailfrom:'','cc':cc?cc:'','subject':subject,'message':replace_newlines(message),'body':html,'full_domain':wn.urllib.get_base_url(),'with_attachments':with_attachments?1:0,'dt':cur_frm.doctype,'dn':cur_frm.docname},function(r,rtxt){});}
 _p.build(fmt,fn);}
 _e.make=function(){var d=new Dialog(440,440,"Send Email");var email_go=function(){var emailfrom=d.widgets['From'].value;var emailto=d.widgets['To'].value;if(!emailfrom)
-emailfrom=user_email;var email_list=emailto.split(/[,|;]/);var valid=1;for(var i=0;i<email_list.length;i++){if(!validate_email(email_list[i])){msgprint('error:'+email_list[i]+' is not a valid email id');valid=0;}}
-if(emailfrom&&!validate_email(emailfrom)){msgprint('error:'+emailfrom+' is not a valid email id. To change the default please click on Profile on the top right of the screen and change it.');return;}
+emailfrom=user_email;emailto=emailto.replace(/ /g,"");var email_list=emailto.split(/[,|;]/);var valid=1;for(var i=0;i<email_list.length;i++){if(!email_list[i]){email_list.splice(i,1);}else if(!validate_email(email_list[i])){msgprint('error:'+email_list[i]+' is not a valid email id');valid=0;}}
+emailto=email_list.join(",");if(emailfrom&&!validate_email(emailfrom)){msgprint('error:'+emailfrom+' is not a valid email id. To change the default please click on Profile on the top right of the screen and change it.');return;}
 if(!valid)return;var cc=emailfrom;if(!emailfrom){emailfrom=wn.control_panel.auto_email_id;cc='';}
 sendmail(emailto,emailfrom,emailfrom,d.widgets['Subject'].value,d.widgets['Message'].value,sel_val(cur_frm.print_sel),d.widgets['Send With Attachments'].checked);_e.dialog.hide();}
 d.onhide=function(){}