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