chore: more refactoring
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index b9463bc..d69777a 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -24,7 +24,7 @@
get_stock_and_account_balance,
)
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
- get_cancelled_depr_schedule,
+ get_draft_or_active_depr_schedule,
)
from erpnext.controllers.accounts_controller import AccountsController
@@ -287,7 +287,7 @@
if d.reference_type == "Asset" and d.reference_name:
asset = frappe.get_doc("Asset", d.reference_name)
for row in asset.get("finance_books"):
- depr_schedule = get_cancelled_depr_schedule(asset.name, row.finance_book)
+ depr_schedule = get_draft_or_active_depr_schedule(asset.name, row.finance_book)
for s in depr_schedule:
if s.journal_entry == self.name:
diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
index 14e849b..f6f594c 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
@@ -157,10 +157,11 @@
"read_only": 1
}
],
+ "in_create": 1,
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
- "modified": "2022-12-15 16:28:44.585745",
+ "modified": "2022-12-26 20:32:43.342271",
"modified_by": "Administrator",
"module": "Assets",
"name": "Asset Depreciation Schedule",
diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
index 47965cf..d004bdb 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
@@ -42,6 +42,12 @@
)
)
+ def on_submit(self):
+ self.db_set("status", "Active")
+
+ def on_cancel(self):
+ self.db_set("status", "Cancelled")
+
def make_draft_asset_depr_schedules_if_not_present(asset_doc):
for row in asset_doc.get("finance_books"):
@@ -121,6 +127,18 @@
asset_depr_schedule_doc.submit()
+def cancel_asset_depr_schedules(asset_doc):
+ for row in asset_doc.get("finance_books"):
+ asset_depr_schedule_doc = get_draft_or_active_asset_depr_schedule_doc(
+ asset_doc.name, row.finance_book
+ )
+
+ if not asset_depr_schedule_doc:
+ continue
+
+ asset_depr_schedule_doc.cancel()
+
+
def make_new_active_asset_depr_schedules_and_cancel_current_ones(
asset_doc, notes, date_of_disposal=None, date_of_return=None
):
@@ -165,18 +183,6 @@
return asset_depr_schedule_doc
-def cancel_asset_depr_schedules(asset_doc):
- for row in asset_doc.get("finance_books"):
- asset_depr_schedule_doc = get_draft_or_active_asset_depr_schedule_doc(
- asset_doc.name, row.finance_book
- )
-
- if not asset_depr_schedule_doc:
- continue
-
- asset_depr_schedule_doc.cancel()
-
-
def get_draft_or_active_asset_depr_schedule_name(asset_name, finance_book=None):
finance_book_filter = ["finance_book", "is", "not set"]
if finance_book:
@@ -197,15 +203,23 @@
if finance_book:
finance_book_filter = ["finance_book", "=", finance_book]
- return frappe.db.get_value(
+ cancelled_asset_depr_schedule_names = frappe.db.get_all(
doctype="Asset Depreciation Schedule",
filters=[
["asset", "=", asset_name],
finance_book_filter,
- ["docstatus", "=", "2"],
+ ["status", "=", "Cancelled"],
],
+ order_by="creation desc",
+ limit=1,
+ pluck="name",
)
+ if cancelled_asset_depr_schedule_names:
+ return cancelled_asset_depr_schedule_names[0]
+
+ return
+
@frappe.whitelist()
def get_draft_or_active_depr_schedule(asset_name, finance_book=None):
diff --git a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py
index 3ead832..90ecfec 100644
--- a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py
+++ b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py
@@ -167,7 +167,6 @@
if not asset_data.journal_entry:
asset_data.db_update()
- new_asset_depr_schedule_doc.status = "Active"
new_asset_depr_schedule_doc.submit()
diff --git a/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py b/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py
index 14d3689..8dcbb2a 100644
--- a/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py
+++ b/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py
@@ -30,7 +30,6 @@
update_depreciation_schedules(asset.name, asset_depr_schedule_doc.name, fb_row.idx)
if asset.docstatus == 1:
- asset_depr_schedule_doc.status = "Active"
asset_depr_schedule_doc.submit()