Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com> fix(Dunning): logic for fetching text (#43160)
This commit is contained in:
@@ -129,17 +129,29 @@ def calculate_interest_and_amount(outstanding_amount, rate_of_interest, dunning_
|
|||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_dunning_letter_text(dunning_type, doc, language=None):
|
def get_dunning_letter_text(dunning_type: str, doc: str | dict, language: str | None = None) -> dict:
|
||||||
|
DOCTYPE = "Dunning Letter Text"
|
||||||
|
FIELDS = ["body_text", "closing_text", "language"]
|
||||||
|
|
||||||
if isinstance(doc, str):
|
if isinstance(doc, str):
|
||||||
doc = json.loads(doc)
|
doc = json.loads(doc)
|
||||||
|
|
||||||
|
if not language:
|
||||||
|
language = doc.get("language")
|
||||||
|
|
||||||
if language:
|
if language:
|
||||||
filters = {"parent": dunning_type, "language": language}
|
|
||||||
else:
|
|
||||||
filters = {"parent": dunning_type, "is_default_language": 1}
|
|
||||||
letter_text = frappe.db.get_value(
|
letter_text = frappe.db.get_value(
|
||||||
"Dunning Letter Text", filters, ["body_text", "closing_text", "language"], as_dict=1
|
DOCTYPE, {"parent": dunning_type, "language": language}, FIELDS, as_dict=1
|
||||||
)
|
)
|
||||||
if letter_text:
|
|
||||||
|
if not letter_text:
|
||||||
|
letter_text = frappe.db.get_value(
|
||||||
|
DOCTYPE, {"parent": dunning_type, "is_default_language": 1}, FIELDS, as_dict=1
|
||||||
|
)
|
||||||
|
|
||||||
|
if not letter_text:
|
||||||
|
return {}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"body_text": frappe.render_template(letter_text.body_text, doc),
|
"body_text": frappe.render_template(letter_text.body_text, doc),
|
||||||
"closing_text": frappe.render_template(letter_text.closing_text, doc),
|
"closing_text": frappe.render_template(letter_text.closing_text, doc),
|
||||||
|
|||||||
Reference in New Issue
Block a user