From 6b21deedae06e9ba8cb5b4e96bf3fa4b62c894e9 Mon Sep 17 00:00:00 2001 From: anandbaburajan Date: Thu, 29 Sep 2022 15:37:04 +0530 Subject: [PATCH] chore: refactor by just using a filter --- erpnext/assets/doctype/asset/asset.py | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py index 2b0602193d8..f4cb63b2ed7 100644 --- a/erpnext/assets/doctype/asset/asset.py +++ b/erpnext/assets/doctype/asset/asset.py @@ -643,15 +643,13 @@ class Asset(AccountsController): self.db_set("status", status) def get_status(self): - """Returns status based on whether it is draft, submitted, sold, scrapped or depreciated""" + """Returns status based on whether it is draft, submitted, scrapped or depreciated""" if self.docstatus == 0: status = "Draft" elif self.docstatus == 1: status = "Submitted" - if self.is_sold(): - status = "Sold" - elif self.journal_entry_for_scrap: + if self.journal_entry_for_scrap: status = "Scrapped" elif self.finance_books: idx = self.get_default_finance_book_idx() or 0 @@ -667,21 +665,6 @@ 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) @@ -836,7 +819,9 @@ class Asset(AccountsController): def update_maintenance_status(): - assets = frappe.get_all("Asset", filters={"docstatus": 1, "maintenance_required": 1}) + assets = frappe.get_all( + "Asset", filters={"docstatus": 1, "maintenance_required": 1, "disposal_date": ("is", "not set")} + ) for asset in assets: asset = frappe.get_doc("Asset", asset.name)