From 430a4c98a0e90fc1b9fdec137ff86f4497de421d Mon Sep 17 00:00:00 2001 From: anandbaburajan Date: Thu, 29 Sep 2022 08:58:33 +0530 Subject: [PATCH] chore: refactor by creating is_sold --- erpnext/assets/doctype/asset/asset.py | 29 +++++++++++++++------------ 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py index 653eb745552..2b0602193d8 100644 --- a/erpnext/assets/doctype/asset/asset.py +++ b/erpnext/assets/doctype/asset/asset.py @@ -649,19 +649,7 @@ class Asset(AccountsController): elif self.docstatus == 1: status = "Submitted" - item = frappe.qb.DocType("Sales Invoice Item").as_("item") - si = frappe.qb.DocType("Sales Invoice").as_("si") - - is_asset_sold = ( - frappe.qb.from_(item) - .select(item.parent) - .inner_join(si) - .on(item.parent == si.name) - .where(item.asset == self.name) - .where(si.docstatus == 1) - ).run() - - if is_asset_sold: + if self.is_sold(): status = "Sold" elif self.journal_entry_for_scrap: status = "Scrapped" @@ -679,6 +667,21 @@ class Asset(AccountsController): status = "Cancelled" return status + def is_sold(self): + item = frappe.qb.DocType("Sales Invoice Item").as_("item") + si = frappe.qb.DocType("Sales Invoice").as_("si") + + asset_sales_invoice = ( + frappe.qb.from_(item) + .select(item.parent) + .inner_join(si) + .on(item.parent == si.name) + .where(item.asset == self.name) + .where(si.docstatus == 1) + ).run() + + return True if asset_sales_invoice else False + def get_default_finance_book_idx(self): if not self.get("default_finance_book") and self.company: self.default_finance_book = erpnext.get_default_finance_book(self.company)