mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-26 21:35:19 +00:00
fix: render missing terms before printing (#58358)
(cherry picked from commit 59d80b29c4)
This commit is contained in:
@@ -738,6 +738,8 @@ class AccountsController(TransactionBase):
|
|||||||
self.validate_non_invoice_documents_schedule()
|
self.validate_non_invoice_documents_schedule()
|
||||||
|
|
||||||
def before_print(self, settings=None):
|
def before_print(self, settings=None):
|
||||||
|
self.set_missing_terms()
|
||||||
|
|
||||||
if self.doctype in [
|
if self.doctype in [
|
||||||
"Purchase Order",
|
"Purchase Order",
|
||||||
"Sales Order",
|
"Sales Order",
|
||||||
@@ -761,6 +763,16 @@ class AccountsController(TransactionBase):
|
|||||||
set_print_templates_for_item_table(self, settings)
|
set_print_templates_for_item_table(self, settings)
|
||||||
set_print_templates_for_taxes(self, settings)
|
set_print_templates_for_taxes(self, settings)
|
||||||
|
|
||||||
|
def set_missing_terms(self):
|
||||||
|
if not self.get("tc_name") or self.get("terms"):
|
||||||
|
return
|
||||||
|
|
||||||
|
from erpnext.setup.doctype.terms_and_conditions.terms_and_conditions import (
|
||||||
|
get_terms_and_conditions,
|
||||||
|
)
|
||||||
|
|
||||||
|
self.terms = get_terms_and_conditions(self.tc_name, self.as_dict())
|
||||||
|
|
||||||
def calculate_paid_amount(self):
|
def calculate_paid_amount(self):
|
||||||
if hasattr(self, "is_pos") or hasattr(self, "is_paid"):
|
if hasattr(self, "is_pos") or hasattr(self, "is_paid"):
|
||||||
is_paid = self.get("is_pos") or self.get("is_paid")
|
is_paid = self.get("is_pos") or self.get("is_paid")
|
||||||
|
|||||||
@@ -85,18 +85,10 @@ class BuyingController(SubcontractingController):
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
if (
|
if self.get("company") and not self.get("terms"):
|
||||||
self.get("company")
|
if not self.get("tc_name"):
|
||||||
and (
|
self.tc_name = frappe.get_value("Company", self.company, "default_buying_terms")
|
||||||
default_buying_terms := frappe.get_value(
|
self.set_missing_terms()
|
||||||
"Company", self.get("company"), "default_buying_terms"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
and not self.get("tc_name")
|
|
||||||
and not self.get("terms")
|
|
||||||
):
|
|
||||||
self.tc_name = default_buying_terms
|
|
||||||
self.terms = frappe.get_value("Terms and Conditions", self.get("tc_name"), "terms")
|
|
||||||
|
|
||||||
def validate_posting_date_with_po(self):
|
def validate_posting_date_with_po(self):
|
||||||
po_list = {x.purchase_order for x in self.items if x.purchase_order}
|
po_list = {x.purchase_order for x in self.items if x.purchase_order}
|
||||||
|
|||||||
@@ -43,18 +43,10 @@ class SellingController(StockController):
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
if (
|
if self.get("company") and not self.get("terms"):
|
||||||
self.get("company")
|
if not self.get("tc_name"):
|
||||||
and (
|
self.tc_name = frappe.get_value("Company", self.company, "default_selling_terms")
|
||||||
default_selling_terms := frappe.get_value(
|
self.set_missing_terms()
|
||||||
"Company", self.get("company"), "default_selling_terms"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
and not self.get("tc_name")
|
|
||||||
and not self.get("terms")
|
|
||||||
):
|
|
||||||
self.tc_name = default_selling_terms
|
|
||||||
self.terms = frappe.get_value("Terms and Conditions", self.get("tc_name"), "terms")
|
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
super().validate()
|
super().validate()
|
||||||
|
|||||||
Reference in New Issue
Block a user