Merge pull request #43128 from frappe/mergify/bp/version-14-hotfix/pr-42801
fix(Delivery Note): translatability of validation errors (backport #42801)
This commit is contained in:
@@ -211,52 +211,33 @@ class DeliveryNote(SellingController):
|
|||||||
self.validate_sales_invoice_references()
|
self.validate_sales_invoice_references()
|
||||||
|
|
||||||
def validate_sales_order_references(self):
|
def validate_sales_order_references(self):
|
||||||
err_msg = ""
|
self._validate_dependent_item_fields(
|
||||||
for item in self.items:
|
"against_sales_order", "so_detail", _("References to Sales Orders are Incomplete")
|
||||||
if (item.against_sales_order and not item.so_detail) or (
|
)
|
||||||
not item.against_sales_order and item.so_detail
|
|
||||||
):
|
|
||||||
if not item.against_sales_order:
|
|
||||||
err_msg += (
|
|
||||||
_("'Sales Order' reference ({1}) is missing in row {0}").format(
|
|
||||||
frappe.bold(item.idx), frappe.bold("against_sales_order")
|
|
||||||
)
|
|
||||||
+ "<br>"
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
err_msg += (
|
|
||||||
_("'Sales Order Item' reference ({1}) is missing in row {0}").format(
|
|
||||||
frappe.bold(item.idx), frappe.bold("so_detail")
|
|
||||||
)
|
|
||||||
+ "<br>"
|
|
||||||
)
|
|
||||||
|
|
||||||
if err_msg:
|
|
||||||
frappe.throw(err_msg, title=_("References to Sales Orders are Incomplete"))
|
|
||||||
|
|
||||||
def validate_sales_invoice_references(self):
|
def validate_sales_invoice_references(self):
|
||||||
err_msg = ""
|
self._validate_dependent_item_fields(
|
||||||
for item in self.items:
|
"against_sales_invoice", "si_detail", _("References to Sales Invoices are Incomplete")
|
||||||
if (item.against_sales_invoice and not item.si_detail) or (
|
)
|
||||||
not item.against_sales_invoice and item.si_detail
|
|
||||||
):
|
|
||||||
if not item.against_sales_invoice:
|
|
||||||
err_msg += (
|
|
||||||
_("'Sales Invoice' reference ({1}) is missing in row {0}").format(
|
|
||||||
frappe.bold(item.idx), frappe.bold("against_sales_invoice")
|
|
||||||
)
|
|
||||||
+ "<br>"
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
err_msg += (
|
|
||||||
_("'Sales Invoice Item' reference ({1}) is missing in row {0}").format(
|
|
||||||
frappe.bold(item.idx), frappe.bold("si_detail")
|
|
||||||
)
|
|
||||||
+ "<br>"
|
|
||||||
)
|
|
||||||
|
|
||||||
if err_msg:
|
def _validate_dependent_item_fields(self, field_a: str, field_b: str, error_title: str):
|
||||||
frappe.throw(err_msg, title=_("References to Sales Invoices are Incomplete"))
|
errors = []
|
||||||
|
for item in self.items:
|
||||||
|
missing_label = None
|
||||||
|
if item.get(field_a) and not item.get(field_b):
|
||||||
|
missing_label = item.meta.get_label(field_b)
|
||||||
|
elif item.get(field_b) and not item.get(field_a):
|
||||||
|
missing_label = item.meta.get_label(field_a)
|
||||||
|
|
||||||
|
if missing_label and missing_label != "No Label":
|
||||||
|
errors.append(
|
||||||
|
_("The field {0} in row {1} is not set").format(
|
||||||
|
frappe.bold(_(missing_label)), frappe.bold(item.idx)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
if errors:
|
||||||
|
frappe.throw("<br>".join(errors), title=error_title)
|
||||||
|
|
||||||
def validate_proj_cust(self):
|
def validate_proj_cust(self):
|
||||||
"""check for does customer belong to same project as entered.."""
|
"""check for does customer belong to same project as entered.."""
|
||||||
|
|||||||
Reference in New Issue
Block a user