Merge branch 'develop'
This commit is contained in:
commit
06baf20edd
@ -1 +1 @@
|
|||||||
__version__ = '4.13.1'
|
__version__ = '4.14.0'
|
||||||
|
@ -71,7 +71,7 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
contact_person: function() {
|
contact_person: function() {
|
||||||
this.supplier_address();
|
erpnext.utils.get_contact_details(this.frm);
|
||||||
},
|
},
|
||||||
|
|
||||||
buying_price_list: function() {
|
buying_price_list: function() {
|
||||||
|
@ -124,10 +124,7 @@ def send_notification(new_rv):
|
|||||||
frappe.sendmail(new_rv.notification_email_address,
|
frappe.sendmail(new_rv.notification_email_address,
|
||||||
subject= _("New {0}: #{1}").format(new_rv.doctype, new_rv.name),
|
subject= _("New {0}: #{1}").format(new_rv.doctype, new_rv.name),
|
||||||
message = _("Please find attached {0} #{1}").format(new_rv.doctype, new_rv.name),
|
message = _("Please find attached {0} #{1}").format(new_rv.doctype, new_rv.name),
|
||||||
attachments = [{
|
attachments = [frappe.attach_print(new_rv.doctype, new_rv.name, file_name=new_rv.name)])
|
||||||
"fname": new_rv.name + ".pdf",
|
|
||||||
"fcontent": frappe.get_print_format(new_rv.doctype, new_rv.name, as_pdf=True)
|
|
||||||
}])
|
|
||||||
|
|
||||||
def notify_errors(doc, doctype, party, owner):
|
def notify_errors(doc, doctype, party, owner):
|
||||||
from frappe.utils.user import get_system_managers
|
from frappe.utils.user import get_system_managers
|
||||||
|
@ -4,7 +4,7 @@ app_publisher = "Web Notes Technologies Pvt. Ltd. and Contributors"
|
|||||||
app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations"
|
app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations"
|
||||||
app_icon = "icon-th"
|
app_icon = "icon-th"
|
||||||
app_color = "#e74c3c"
|
app_color = "#e74c3c"
|
||||||
app_version = "4.13.1"
|
app_version = "4.14.0"
|
||||||
|
|
||||||
error_report_email = "support@erpnext.com"
|
error_report_email = "support@erpnext.com"
|
||||||
|
|
||||||
|
@ -191,9 +191,6 @@ class SalarySlip(TransactionBase):
|
|||||||
if receiver:
|
if receiver:
|
||||||
subj = 'Salary Slip - ' + cstr(self.month) +'/'+cstr(self.fiscal_year)
|
subj = 'Salary Slip - ' + cstr(self.month) +'/'+cstr(self.fiscal_year)
|
||||||
sendmail([receiver], subject=subj, msg = _("Please see attachment"),
|
sendmail([receiver], subject=subj, msg = _("Please see attachment"),
|
||||||
attachments=[{
|
attachments=[frappe.attach_print(self.doctype, self.name, file_name=self.name)])
|
||||||
"fname": self.name + ".pdf",
|
|
||||||
"fcontent": frappe.get_print_format(self.doctype, self.name, as_pdf = True)
|
|
||||||
}])
|
|
||||||
else:
|
else:
|
||||||
msgprint(_("Company Email ID not found, hence mail not sent"))
|
msgprint(_("Company Email ID not found, hence mail not sent"))
|
||||||
|
@ -175,7 +175,7 @@
|
|||||||
"fieldtype": "Data",
|
"fieldtype": "Data",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"label": "PO No",
|
"label": "PO No",
|
||||||
"no_copy": 1,
|
"no_copy": 0,
|
||||||
"oldfieldname": "po_no",
|
"oldfieldname": "po_no",
|
||||||
"oldfieldtype": "Data",
|
"oldfieldtype": "Data",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
@ -1021,7 +1021,7 @@
|
|||||||
"idx": 1,
|
"idx": 1,
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"modified": "2014-12-12 12:35:09.652211",
|
"modified": "2014-12-16 10:36:47.295144",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Selling",
|
"module": "Selling",
|
||||||
"name": "Sales Order",
|
"name": "Sales Order",
|
||||||
|
@ -180,7 +180,7 @@
|
|||||||
"fieldtype": "Data",
|
"fieldtype": "Data",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"label": "Customer's Purchase Order No",
|
"label": "Customer's Purchase Order No",
|
||||||
"no_copy": 0,
|
"no_copy": 1,
|
||||||
"oldfieldname": "po_no",
|
"oldfieldname": "po_no",
|
||||||
"oldfieldtype": "Data",
|
"oldfieldtype": "Data",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
@ -1013,7 +1013,7 @@
|
|||||||
"idx": 1,
|
"idx": 1,
|
||||||
"in_create": 0,
|
"in_create": 0,
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"modified": "2014-12-12 12:36:59.262500",
|
"modified": "2014-12-16 10:37:08.934881",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Stock",
|
"module": "Stock",
|
||||||
"name": "Delivery Note",
|
"name": "Delivery Note",
|
||||||
|
@ -27,7 +27,7 @@ def get_bin_qty(item, warehouse):
|
|||||||
where item_code = %s and warehouse = %s""", (item, warehouse), as_dict = 1)
|
where item_code = %s and warehouse = %s""", (item, warehouse), as_dict = 1)
|
||||||
return det and det[0] or ''
|
return det and det[0] or ''
|
||||||
|
|
||||||
def update_packing_list_item(obj, packing_item_code, qty, warehouse, line, packing_list_idx):
|
def update_packing_list_item(obj, packing_item_code, qty, warehouse, line):
|
||||||
bin = get_bin_qty(packing_item_code, warehouse)
|
bin = get_bin_qty(packing_item_code, warehouse)
|
||||||
item = get_packing_item_details(packing_item_code)
|
item = get_packing_item_details(packing_item_code)
|
||||||
|
|
||||||
@ -54,9 +54,7 @@ def update_packing_list_item(obj, packing_item_code, qty, warehouse, line, packi
|
|||||||
pi.warehouse = warehouse
|
pi.warehouse = warehouse
|
||||||
if not pi.batch_no:
|
if not pi.batch_no:
|
||||||
pi.batch_no = cstr(line.get("batch_no"))
|
pi.batch_no = cstr(line.get("batch_no"))
|
||||||
pi.idx = packing_list_idx
|
|
||||||
|
|
||||||
packing_list_idx += 1
|
|
||||||
|
|
||||||
|
|
||||||
def make_packing_list(obj, item_table_fieldname):
|
def make_packing_list(obj, item_table_fieldname):
|
||||||
@ -64,13 +62,11 @@ def make_packing_list(obj, item_table_fieldname):
|
|||||||
|
|
||||||
if obj.get("_action") and obj._action == "update_after_submit": return
|
if obj.get("_action") and obj._action == "update_after_submit": return
|
||||||
|
|
||||||
packing_list_idx = 0
|
|
||||||
parent_items = []
|
parent_items = []
|
||||||
for d in obj.get(item_table_fieldname):
|
for d in obj.get(item_table_fieldname):
|
||||||
if frappe.db.get_value("Sales BOM", {"new_item_code": d.item_code}):
|
if frappe.db.get_value("Sales BOM", {"new_item_code": d.item_code}):
|
||||||
for i in get_sales_bom_items(d.item_code):
|
for i in get_sales_bom_items(d.item_code):
|
||||||
update_packing_list_item(obj, i['item_code'], flt(i['qty'])*flt(d.qty),
|
update_packing_list_item(obj, i['item_code'], flt(i['qty'])*flt(d.qty), d.warehouse, d)
|
||||||
d.warehouse, d, packing_list_idx)
|
|
||||||
|
|
||||||
if [d.item_code, d.name] not in parent_items:
|
if [d.item_code, d.name] not in parent_items:
|
||||||
parent_items.append([d.item_code, d.name])
|
parent_items.append([d.item_code, d.name])
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<div class="col-xs-5 text-right">
|
<div class="col-xs-5 text-right">
|
||||||
<label>{{ charge.get_formatted("description") }}</label></div>
|
<label>{{ charge.get_formatted("description") }}</label></div>
|
||||||
<div class="col-xs-7 text-right">
|
<div class="col-xs-7 text-right">
|
||||||
{{ frappe.format_value(charge.tax_amount / doc.conversion_rate,
|
{{ frappe.format_value(frappe.utils.flt(charge.tax_amount) / doc.conversion_rate,
|
||||||
table_meta.get_field("tax_amount"), doc, currency=doc.currency) }}
|
table_meta.get_field("tax_amount"), doc, currency=doc.currency) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3300,24 +3300,24 @@ website page link,الموقع رابط الصفحة
|
|||||||
{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} ميزانية الحساب {1} ضد مركز التكلفة {2} سيتجاوز التي كتبها {3}
|
{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} ميزانية الحساب {1} ضد مركز التكلفة {2} سيتجاوز التي كتبها {3}
|
||||||
{0} can not be negative,{0} لا يمكن أن تكون سلبية
|
{0} can not be negative,{0} لا يمكن أن تكون سلبية
|
||||||
{0} created,{0} خلق
|
{0} created,{0} خلق
|
||||||
{0} does not belong to Company {1},{0} لا تنتمي إلى شركة {1}
|
{0} does not belong to Company {1},{0} {لا تنتمي إلى شركة {1
|
||||||
{0} entered twice in Item Tax,{0} دخلت مرتين في ضريبة المدينة
|
{0} entered twice in Item Tax,{0} دخلت مرتين في ضريبة المدينة
|
||||||
{0} is an invalid email address in 'Notification Email Address',"{0} هو عنوان بريد إلكتروني غير صالح في ' عنوان البريد الإلكتروني إعلام """
|
{0} is an invalid email address in 'Notification Email Address',"{0} هو عنوان بريد إلكتروني غير صالح في ' عنوان البريد الإلكتروني إعلام """
|
||||||
{0} is mandatory,{0} إلزامي
|
{0} is mandatory,{0} إلزامي
|
||||||
{0} is mandatory for Item {1},{0} إلزامي القطعة ل {1}
|
{0} is mandatory for Item {1},{0} {إلزامي القطعة ل {1
|
||||||
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} إلزامي. ربما لا يتم إنشاء سجل سعر صرف العملة ل{1} إلى {2}.
|
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} إلزامي. ربما لا يتم إنشاء سجل سعر صرف العملة ل{1} إلى {2}.
|
||||||
{0} is not a stock Item,{0} ليس الأسهم الإغلاق
|
{0} is not a stock Item,{0} ليس الأسهم الإغلاق
|
||||||
{0} is not a valid Batch Number for Item {1},{0} ليس رقم الدفعة صالحة لل تفاصيل {1}
|
{0} is not a valid Batch Number for Item {1},{0} ليس رقم الدفعة صالحة لل تفاصيل {1}
|
||||||
{0} is not a valid Leave Approver. Removing row #{1}.,{0} ليس صحيحا اترك الموافق. إزالة الصف # {1}.
|
{0} is not a valid Leave Approver. Removing row #{1}.,{0} {ليس صحيحا اترك الموافق. إزالة الصف # {1.
|
||||||
{0} is not a valid email id,{0} ليس معرف بريد إلكتروني صحيح
|
{0} is not a valid email id,{0} ليس معرف بريد إلكتروني صحيح
|
||||||
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} الآن الافتراضي السنة المالية. يرجى تحديث المتصفح ل التغيير نافذ المفعول .
|
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} الآن الافتراضي السنة المالية. يرجى تحديث المتصفح ل التغيير نافذ المفعول .
|
||||||
{0} is required,{0} مطلوب
|
{0} is required,{0} مطلوب
|
||||||
{0} must be a Purchased or Sub-Contracted Item in row {1},{0} يجب أن يكون البند شراؤها أو التعاقد الفرعي في الصف {1}
|
{0} must be a Purchased or Sub-Contracted Item in row {1},{0} يجب أن يكون البند شراؤها أو التعاقد الفرعي في الصف {1}
|
||||||
{0} must be reduced by {1} or you should increase overflow tolerance,{0} يجب تخفيض كتبها {1} أو يجب زيادة الفائض التسامح
|
{0} must be reduced by {1} or you should increase overflow tolerance,{0} يجب تخفيض كتبها {1} أو يجب زيادة الفائض التسامح
|
||||||
{0} must have role 'Leave Approver',{0} يجب أن يكون دور ' اترك الموافق '
|
{0} must have role 'Leave Approver',{0} يجب أن يكون دور ' اترك الموافق '
|
||||||
{0} valid serial nos for Item {1},{0} غ المسلسل صالحة لل تفاصيل {1}
|
{0} valid serial nos for Item {1},{0} {غ المسلسل صالحة لل تفاصيل {1
|
||||||
{0} {1} against Bill {2} dated {3},{0} {1} ضد بيل {2} بتاريخ {3}
|
{0} {1} against Bill {2} dated {3},{0} {1} {ضد بيل {2} بتاريخ {3
|
||||||
{0} {1} against Invoice {2},{0} {1} ضد الفاتورة {2}
|
{0} {1} against Invoice {2},{0} {1} {ضد الفاتورة {2
|
||||||
{0} {1} has already been submitted,{0} {1} وقد تم بالفعل قدمت
|
{0} {1} has already been submitted,{0} {1} وقد تم بالفعل قدمت
|
||||||
{0} {1} has been modified. Please refresh.,{0} {1} تم تعديل . يرجى تحديث.
|
{0} {1} has been modified. Please refresh.,{0} {1} تم تعديل . يرجى تحديث.
|
||||||
{0} {1} is not submitted,{0} {1} لا تقدم
|
{0} {1} is not submitted,{0} {1} لا تقدم
|
||||||
|
|
@ -3317,7 +3317,7 @@ website page link,Ιστοσελίδα link της σελίδας
|
|||||||
{0} must be reduced by {1} or you should increase overflow tolerance,{0} πρέπει να μειωθεί κατά {1} ή θα πρέπει να αυξήσει την ανοχή υπερχείλισης
|
{0} must be reduced by {1} or you should increase overflow tolerance,{0} πρέπει να μειωθεί κατά {1} ή θα πρέπει να αυξήσει την ανοχή υπερχείλισης
|
||||||
{0} must have role 'Leave Approver',{0} πρέπει να έχει ρόλο « Αφήστε Έγκρισης »
|
{0} must have role 'Leave Approver',{0} πρέπει να έχει ρόλο « Αφήστε Έγκρισης »
|
||||||
{0} valid serial nos for Item {1},{0} έγκυρο σειριακό nos για τη θέση {1}
|
{0} valid serial nos for Item {1},{0} έγκυρο σειριακό nos για τη θέση {1}
|
||||||
{0} {1} against Bill {2} dated {3},{0} {1} εναντίον Bill {2} { 3 με ημερομηνία }
|
{0} {1} against Bill {2} dated {3},{0} {1} εναντίον Bill {2} {3} με ημερομηνία
|
||||||
{0} {1} against Invoice {2},{0} {1} κατά Τιμολόγιο {2}
|
{0} {1} against Invoice {2},{0} {1} κατά Τιμολόγιο {2}
|
||||||
{0} {1} has already been submitted,{0} {1} έχει ήδη υποβληθεί
|
{0} {1} has already been submitted,{0} {1} έχει ήδη υποβληθεί
|
||||||
{0} {1} has been modified. Please refresh.,{0} {1} έχει τροποποιηθεί . Παρακαλώ ανανεώσετε .
|
{0} {1} has been modified. Please refresh.,{0} {1} έχει τροποποιηθεί . Παρακαλώ ανανεώσετε .
|
||||||
|
|
@ -3322,7 +3322,7 @@ website page link,el vínculo web
|
|||||||
{0} must be reduced by {1} or you should increase overflow tolerance,{0} debe reducirse en {1} o se debe aumentar la tolerancia de desbordamiento
|
{0} must be reduced by {1} or you should increase overflow tolerance,{0} debe reducirse en {1} o se debe aumentar la tolerancia de desbordamiento
|
||||||
{0} must have role 'Leave Approver',{0} debe tener rol ' Dejar aprobador '
|
{0} must have role 'Leave Approver',{0} debe tener rol ' Dejar aprobador '
|
||||||
{0} valid serial nos for Item {1},{0} nn serie válidos para el elemento {1}
|
{0} valid serial nos for Item {1},{0} nn serie válidos para el elemento {1}
|
||||||
{0} {1} against Bill {2} dated {3},{0} {1} { 2 contra Bill } {3} de fecha
|
{0} {1} against Bill {2} dated {3},{0} {1} {2} contra Bill {3} de fecha
|
||||||
{0} {1} against Invoice {2},{0} {1} contra Factura {2}
|
{0} {1} against Invoice {2},{0} {1} contra Factura {2}
|
||||||
{0} {1} has already been submitted,{0} {1} ya ha sido presentado
|
{0} {1} has already been submitted,{0} {1} ya ha sido presentado
|
||||||
{0} {1} has been modified. Please refresh.,{0} {1} ha sido modificado. Por favor regenere .
|
{0} {1} has been modified. Please refresh.,{0} {1} ha sido modificado. Por favor regenere .
|
||||||
|
|
@ -3318,7 +3318,7 @@ website page link,Lien vers page web
|
|||||||
{0} must be reduced by {1} or you should increase overflow tolerance,{0} doit être réduite par {1} ou vous devez augmenter la tolérance de dépassement
|
{0} must be reduced by {1} or you should increase overflow tolerance,{0} doit être réduite par {1} ou vous devez augmenter la tolérance de dépassement
|
||||||
{0} must have role 'Leave Approver',Nouveau Stock UDM est nécessaire
|
{0} must have role 'Leave Approver',Nouveau Stock UDM est nécessaire
|
||||||
{0} valid serial nos for Item {1},BOM {0} pour objet {1} à la ligne {2} est inactif ou non soumis
|
{0} valid serial nos for Item {1},BOM {0} pour objet {1} à la ligne {2} est inactif ou non soumis
|
||||||
{0} {1} against Bill {2} dated {3},S'il vous plaît entrer le titre !
|
{0} {1} against Bill {2} dated {3},{0} {1} contre le projet de loi en date du {2} {3}
|
||||||
{0} {1} against Invoice {2},investissements
|
{0} {1} against Invoice {2},investissements
|
||||||
{0} {1} has already been submitted,"S'il vous plaît entrer » est sous-traitée "" comme Oui ou Non"
|
{0} {1} has already been submitted,"S'il vous plaît entrer » est sous-traitée "" comme Oui ou Non"
|
||||||
{0} {1} has been modified. Please refresh.,Point ou Entrepôt à la ligne {0} ne correspond pas à la Demande de Matériel
|
{0} {1} has been modified. Please refresh.,Point ou Entrepôt à la ligne {0} ne correspond pas à la Demande de Matériel
|
||||||
|
|
2
setup.py
2
setup.py
@ -1,7 +1,7 @@
|
|||||||
from setuptools import setup, find_packages
|
from setuptools import setup, find_packages
|
||||||
import os
|
import os
|
||||||
|
|
||||||
version = "4.13.1"
|
version = "4.14.0"
|
||||||
|
|
||||||
with open("requirements.txt", "r") as f:
|
with open("requirements.txt", "r") as f:
|
||||||
install_requires = f.readlines()
|
install_requires = f.readlines()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user