chore: refactor by just using a filter

This commit is contained in:
anandbaburajan
2022-09-29 15:37:04 +05:30
parent 430a4c98a0
commit 6b21deedae

View File

@@ -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)