Merge pull request #2429 from ankitjavalkarwork/expclaimname

Add configurable naming series to Expense claim
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 9b473c1..09f303f 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -247,7 +247,7 @@
 	def update_item(obj, target, source_parent):
 		target.amount = flt(obj.amount) - flt(obj.billed_amt)
 		target.base_amount = target.amount * flt(source_parent.conversion_rate)
-		target.qty = target.amount / flt(obj.rate) if flt(obj.rate) else flt(obj.qty)
+		target.qty = target.amount / flt(obj.rate) if (flt(obj.rate) and flt(obj.billed_amt)) else flt(obj.qty)
 
 	doc = get_mapped_doc("Purchase Order", source_name,	{
 		"Purchase Order": {
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py
index 7c905a6..f30fe02 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.py
@@ -156,7 +156,7 @@
 					/ cint(self.total_days_in_month), 2)
 			elif not self.payment_days:
 				d.e_modified_amount = 0
-			else:
+			elif not d.e_modified_amount:
 				d.e_modified_amount = d.e_amount
 			self.gross_pay += flt(d.e_modified_amount)
 
@@ -168,7 +168,7 @@
 					/ cint(self.total_days_in_month), 2)
 			elif not self.payment_days:
 				d.d_modified_amount = 0
-			else:
+			elif not d.d_modified_amount:
 				d.d_modified_amount = d.d_amount
 
 			self.total_deduction += flt(d.d_modified_amount)
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index bffa581..498aec1 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -329,7 +329,7 @@
 	def update_item(source, target, source_parent):
 		target.amount = flt(source.amount) - flt(source.billed_amt)
 		target.base_amount = target.amount * flt(source_parent.conversion_rate)
-		target.qty = source.rate and target.amount / flt(source.rate) or source.qty
+		target.qty = target.amount / flt(source.rate) if (source.rate and source.billed_amt) else source.qty
 
 	doclist = get_mapped_doc("Sales Order", source_name, {
 		"Sales Order": {
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.js b/erpnext/setup/page/setup_wizard/setup_wizard.js
index 04b917f..939eae6 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.js
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.js
@@ -59,15 +59,18 @@
 				title: __("Select Your Language"),
 				icon: "icon-globe",
 				fields: [
-					{"fieldname": "language", "label": __("Language"), "fieldtype": "Select",
+					{
+						"fieldname": "language", "label": __("Language"), "fieldtype": "Select",
 						options: ["english", "العربية", "deutsch", "ελληνικά", "español", "français", "हिंदी", "hrvatski",
-						"italiano", "nederlands", "polski", "português brasileiro", "português", "српски", "தமிழ்",
-						"ไทย", "中国(简体)", "中國(繁體)"], reqd:1},
+							"italiano", "nederlands", "polski", "português brasileiro", "português", "српски", "தமிழ்",
+							"ไทย", "中国(简体)", "中國(繁體)"],
+						reqd:1, "default": "english"
+					},
 				],
 				help: __("Welcome to ERPNext. Please select your language to begin the Setup Wizard."),
 				onload: function(slide) {
 					slide.get_input("language").on("change", function() {
-						var lang = $(this).val();
+						var lang = $(this).val() || "english";
 						frappe._messages = {};
 						frappe.call({
 							method: "erpnext.setup.page.setup_wizard.setup_wizard.load_messages",
diff --git a/erpnext/stock/doctype/serial_no/serial_no.py b/erpnext/stock/doctype/serial_no/serial_no.py
index 14c409b..87c3caf 100644
--- a/erpnext/stock/doctype/serial_no/serial_no.py
+++ b/erpnext/stock/doctype/serial_no/serial_no.py
@@ -253,8 +253,9 @@
 		from frappe.model.naming import make_autoname
 		serial_nos = []
 		for i in xrange(cint(sle.actual_qty)):
-			serial_nos.append(make_autoname(item_det.serial_no_series))
+			serial_nos.append(make_autoname(item_det.serial_no_series, "Serial No"))
 		frappe.db.set(sle, "serial_no", "\n".join(serial_nos))
+		validate_serial_no(sle, item_det)
 
 	if sle.serial_no:
 		serial_nos = get_serial_nos(sle.serial_no)
diff --git a/erpnext/translations/tr.csv b/erpnext/translations/tr.csv
index 174c03f..65195de 100644
--- a/erpnext/translations/tr.csv
+++ b/erpnext/translations/tr.csv
@@ -1,27 +1,27 @@
- (Half Day),

- and year: ,

+ (Half Day),(Yarım Gün)

+ and year: ,ve yıl:

 """ does not exists","""Mevcut değildir"

 %  Delivered,% Teslim Edildi

-% Amount Billed,Faturalı% Tutar

-% Billed,% Faturalı

+% Amount Billed,% Tutar Faturalandı

+% Billed,% Faturalandı

 % Completed,% Tamamlandı

 % Delivered,% Teslim Edildi

-% Installed,% Yüklü

-% Received,% Alınan

-% of materials billed against this Purchase Order.,"Malzemelerin%, bu Satınalma Siparişi karşı fatura."

-% of materials billed against this Sales Order,Bu Satış Siparişi karşı hesap malzemelerin%

-% of materials delivered against this Delivery Note,Bu İrsaliye karşı teslim malzemelerin%

-% of materials delivered against this Sales Order,Bu Satış Siparişi teslim karşı malzemelerin%

-% of materials ordered against this Material Request,Bu Malzeme Request karşı emretti malzemelerin%

-% of materials received against this Purchase Order,Malzemelerin% bu Satınalma Siparişi karşı alınan

-'Actual Start Date' can not be greater than 'Actual End Date',"'Fiili Başlangıç ​​Tarihi', 'Gerçek Bitiş Tarihi' den büyük olamaz"

-'Based On' and 'Group By' can not be same,'Dayalı' ve 'Grup tarafından' aynı olamaz

-'Days Since Last Order' must be greater than or equal to zero,'Son Sipariş yana Gün' den büyük veya sıfıra eşit olmalıdır

-'Entries' cannot be empty,'Yazılar' boş olamaz

-'Expected Start Date' can not be greater than 'Expected End Date',"'Beklenen Başlangıç ​​Tarihi', 'Beklenen Bitiş Tarihi' den büyük olamaz"

-'From Date' is required,'Date' gereklidir

-'From Date' must be after 'To Date','Tarihten itibaren' Tarihi 'sonra olmalıdır

-'Has Serial No' can not be 'Yes' for non-stock item,'Seri No Has' non-stok kalemi için 'Evet' olamaz

+% Installed,% Yüklendi

+% Received,% Alındı

+% of materials billed against this Purchase Order.,% Malzeme bu Satınalma Siparişi karşı faturalandı.

+% of materials billed against this Sales Order,% Malzeme bu Satış Siparişi karşı faturalandı

+% of materials delivered against this Delivery Note,% Malzeme Bu İrsaliye karşı teslim edildi

+% of materials delivered against this Sales Order,% Malzeme Bu Satış Siparişine istinaden teslim edildi. 

+% of materials ordered against this Material Request,% malzeme bu Malzeme İsteğine istinaden sipariş verildi  

+% of materials received against this Purchase Order,% Malzeme bu Satınalma Siparişine istinaden ulaştı

+'Actual Start Date' can not be greater than 'Actual End Date',"'Fiili Başlangıç Tarihi', 'Fiili Bitiş Tarihi' den büyük olamaz"

+'Based On' and 'Group By' can not be same,'Temel' ve 'Grup tarafından' aynı olamaz

+'Days Since Last Order' must be greater than or equal to zero,'Son Siparişten bu yana Gün' sıfırdan den büyük veya eşit olmalıdır

+'Entries' cannot be empty,'Girişler' boş olamaz

+'Expected Start Date' can not be greater than 'Expected End Date',"'Beklenen Başlangıç Tarihi', 'Beklenen Bitiş Tarihi' den büyük olamaz"

+'From Date' is required,'Başlangıç tarihi' gereklidir

+'From Date' must be after 'To Date',"'Başlangıç tarihi','Bitiş Tarihi'nden sonra olmalıdır"

+'Has Serial No' can not be 'Yes' for non-stock item,'Seri No' stoklanmayan ürünler için 'Evet' olamaz

 'Notification Email Addresses' not specified for recurring invoice,Faturayı yinelenen için belirlenen 'Bildirim E-posta Adresleri'

 'Profit and Loss' type account {0} not allowed in Opening Entry,'Kar ve Zarar' tipi hesap {0} kaydı Açılış izin yok

 'To Case No.' cannot be less than 'From Case No.','Dava No To' 'Dava No Kimden' den az olamaz