chore: renaming functions and variables again, and continuing refactoring AssetValueAdjustment
diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py
index e3e8a13..3955784 100644
--- a/erpnext/assets/doctype/asset/asset.py
+++ b/erpnext/assets/doctype/asset/asset.py
@@ -29,11 +29,12 @@
)
from erpnext.assets.doctype.asset_category.asset_category import get_asset_category_account
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
- cancel_asset_depreciation_schedules,
- convert_draft_asset_depreciation_schedules_into_active,
- get_asset_depreciation_schedule,
- make_draft_asset_depreciation_schedules,
- update_draft_asset_depreciation_schedules,
+ cancel_asset_depr_schedules,
+ convert_draft_asset_depr_schedules_into_active,
+ get_asset_depr_schedule,
+ get_depr_schedule_from_asset_depr_schedule_of_asset,
+ make_draft_asset_depr_schedules,
+ update_draft_asset_depr_schedules,
)
from erpnext.controllers.accounts_controller import AccountsController
@@ -47,7 +48,7 @@
self.set_missing_values()
if not self.split_from:
self.prepare_depreciation_data()
- update_draft_asset_depreciation_schedules(self)
+ update_draft_asset_depr_schedules(self)
self.validate_gross_and_purchase_amount()
self.validate_expected_value_after_useful_life()
@@ -59,13 +60,13 @@
self.make_asset_movement()
if not self.booked_fixed_asset and self.validate_make_gl_entry():
self.make_gl_entries()
- convert_draft_asset_depreciation_schedules_into_active(self)
+ convert_draft_asset_depr_schedules_into_active(self)
def on_cancel(self):
self.validate_cancellation()
self.cancel_movement_entries()
self.delete_depreciation_entries()
- cancel_asset_depreciation_schedules(self)
+ cancel_asset_depr_schedules(self)
self.set_status()
self.ignore_linked_doctypes = ("GL Entry", "Stock Ledger Entry")
make_reverse_gl_entries(voucher_type="Asset", voucher_no=self.name)
@@ -73,7 +74,7 @@
def after_insert(self):
if not self.split_from:
- make_draft_asset_depreciation_schedules(self)
+ make_draft_asset_depr_schedules(self)
def validate_asset_and_reference(self):
if self.purchase_invoice or self.purchase_receipt:
@@ -246,7 +247,7 @@
return value_after_depreciation
def get_from_date(self, finance_book):
- asset_depr_schedule = get_asset_depreciation_schedule(self.name, finance_book)
+ asset_depr_schedule = get_asset_depr_schedule(self.name, finance_book)
if not asset_depr_schedule:
return self.available_for_use_date
@@ -357,18 +358,16 @@
return depreciation_amount_for_last_row
def get_depreciation_amount_for_first_row(self, finance_book):
- asset_depr_schedule = get_asset_depreciation_schedule(self.name, finance_book)
-
- asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule)
-
- return asset_depr_schedule_doc.get("depreciation_schedule")[0].depreciation_amount
+ return get_depr_schedule_from_asset_depr_schedule_of_asset(self.name, finance_book)[
+ 0
+ ].depreciation_amount
def get_value_after_depreciation(self, idx):
return flt(self.get("finance_books")[cint(idx) - 1].value_after_depreciation)
def validate_expected_value_after_useful_life(self):
for row in self.get("finance_books"):
- asset_depr_schedule = get_asset_depreciation_schedule(self.name, row.finance_book)
+ asset_depr_schedule = get_asset_depr_schedule(self.name, row.finance_book)
if not asset_depr_schedule:
return
@@ -426,7 +425,7 @@
def delete_depreciation_entries(self):
for row in self.get("finance_books"):
- asset_depr_schedule = get_asset_depreciation_schedule(self.name, row.finance_book)
+ asset_depr_schedule = get_asset_depr_schedule(self.name, row.finance_book)
if not asset_depr_schedule:
return
diff --git a/erpnext/assets/doctype/asset/depreciation.py b/erpnext/assets/doctype/asset/depreciation.py
index 664838d..39ebc8d 100644
--- a/erpnext/assets/doctype/asset/depreciation.py
+++ b/erpnext/assets/doctype/asset/depreciation.py
@@ -11,7 +11,7 @@
)
from erpnext.accounts.doctype.journal_entry.journal_entry import make_reverse_journal_entry
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
- get_temp_asset_depreciation_schedule_doc,
+ get_temp_asset_depr_schedule_doc,
)
@@ -514,13 +514,13 @@
row = asset_doc.finance_books[idx - 1]
- temp_asset_depreciation_schedule = get_temp_asset_depreciation_schedule_doc(
+ temp_asset_depreciation_schedule = get_temp_asset_depr_schedule_doc(
asset_doc, row, getdate(disposal_date)
)
- depr_schedule = temp_asset_depreciation_schedule.get("depreciation_schedule")
-
- accumulated_depr_amount = depr_schedule[-1].accumulated_depreciation_amount
+ accumulated_depr_amount = temp_asset_depreciation_schedule.get("depreciation_schedule")[
+ -1
+ ].accumulated_depreciation_amount
return flt(
flt(asset_doc.gross_purchase_amount) - accumulated_depr_amount,
diff --git a/erpnext/assets/doctype/asset/test_asset.py b/erpnext/assets/doctype/asset/test_asset.py
index e25d890..5ef8123 100644
--- a/erpnext/assets/doctype/asset/test_asset.py
+++ b/erpnext/assets/doctype/asset/test_asset.py
@@ -882,7 +882,7 @@
"""Tests if get_depreciation_amount() returns the right value."""
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
- get_depreciation_amount
+ get_depreciation_amount,
)
asset = create_asset(item_code="Macbook Pro", available_for_use_date="2019-12-31")
@@ -902,8 +902,8 @@
depreciation_amount = get_depreciation_amount(asset, 100000, asset.finance_books[0])
self.assertEqual(depreciation_amount, 30000)
- def test_make_depreciation_schedule(self):
- """Tests if make_depreciation_schedule() returns the right values."""
+ def test_make_depr_schedule(self):
+ """Tests if make_depr_schedule() returns the right values."""
asset = create_asset(
item_code="Macbook Pro",
@@ -1194,8 +1194,8 @@
depr_expense_account.parent_account = "Expenses - _TC"
depr_expense_account.save()
- def test_clear_depreciation_schedule(self):
- """Tests if clear_depreciation_schedule() works as expected."""
+ def test_clear_depr_schedule(self):
+ """Tests if clear_depr_schedule() works as expected."""
asset = create_asset(
item_code="Macbook Pro",
@@ -1211,11 +1211,11 @@
post_depreciation_entries(date="2021-06-01")
asset.load_from_db()
- asset.clear_depreciation_schedule()
+ asset.clear_depr_schedule()
self.assertEqual(len(asset.schedules), 1)
- def test_clear_depreciation_schedule_for_multiple_finance_books(self):
+ def test_clear_depr_schedule_for_multiple_finance_books(self):
asset = create_asset(item_code="Macbook Pro", available_for_use_date="2019-12-31", do_not_save=1)
asset.calculate_depreciation = 1
@@ -1254,7 +1254,7 @@
post_depreciation_entries(date="2020-04-01")
asset.load_from_db()
- asset.clear_depreciation_schedule()
+ asset.clear_depr_schedule()
self.assertEqual(len(asset.schedules), 6)
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 144b94d..43f7b4a 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
@@ -20,46 +20,44 @@
pass
-def make_draft_asset_depreciation_schedules(asset_doc, date_of_disposal=None, date_of_return=None):
+def make_draft_asset_depr_schedules(asset_doc, date_of_disposal=None, date_of_return=None):
for row in asset_doc.get("finance_books"):
asset_depr_schedule_doc = frappe.new_doc("Asset Depreciation Schedule")
- prepare_draft_asset_depreciation_schedule_data(
+ prepare_draft_asset_depr_schedule_data(
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
)
asset_depr_schedule_doc.insert()
-def update_draft_asset_depreciation_schedules(
- asset_doc, date_of_disposal=None, date_of_return=None
-):
+def update_draft_asset_depr_schedules(asset_doc, date_of_disposal=None, date_of_return=None):
for row in asset_doc.get("finance_books"):
- asset_depr_schedule = get_asset_depreciation_schedule(asset_doc.name, row.finance_book)
+ asset_depr_schedule = get_asset_depr_schedule(asset_doc.name, row.finance_book)
if not asset_depr_schedule:
return
asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule)
- prepare_draft_asset_depreciation_schedule_data(
+ prepare_draft_asset_depr_schedule_data(
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
)
asset_depr_schedule_doc.save()
-def prepare_draft_asset_depreciation_schedule_data(
+def prepare_draft_asset_depr_schedule_data(
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
):
- set_draft_asset_depreciation_schedule_details(asset_depr_schedule_doc, asset_doc.name, row)
- make_depreciation_schedule(asset_depr_schedule_doc, asset_doc, row, date_of_disposal)
+ set_draft_asset_depr_schedule_details(asset_depr_schedule_doc, asset_doc.name, row)
+ make_depr_schedule(asset_depr_schedule_doc, asset_doc, row, date_of_disposal)
set_accumulated_depreciation(
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
)
-def set_draft_asset_depreciation_schedule_details(asset_depr_schedule_doc, asset, row):
+def set_draft_asset_depr_schedule_details(asset_depr_schedule_doc, asset, row):
asset_depr_schedule_doc.asset = asset
asset_depr_schedule_doc.finance_book = row.finance_book
asset_depr_schedule_doc.depreciation_method = row.depreciation_method
@@ -70,9 +68,9 @@
asset_depr_schedule_doc.status = "Draft"
-def convert_draft_asset_depreciation_schedules_into_active(asset_doc):
+def convert_draft_asset_depr_schedules_into_active(asset_doc):
for row in asset_doc.get("finance_books"):
- asset_depr_schedule_name = get_asset_depreciation_schedule(asset_doc.name, row.finance_book)
+ asset_depr_schedule_name = get_asset_depr_schedule(asset_doc.name, row.finance_book)
if not asset_depr_schedule_name:
return
@@ -84,48 +82,48 @@
asset_depr_schedule.submit()
-def make_new_active_asset_depreciation_schedules_and_cancel_old_ones(
+def make_new_active_asset_depr_schedules_and_cancel_current_ones(
asset_doc, date_of_disposal=None, date_of_return=None, notes=None
):
for row in asset_doc.get("finance_books"):
- old_asset_depr_schedule = get_asset_depreciation_schedule(asset_doc.name, row.finance_book)
+ current_asset_depr_schedule = get_asset_depr_schedule(asset_doc.name, row.finance_book)
- if not old_asset_depr_schedule:
+ if not current_asset_depr_schedule:
return
- old_asset_depr_schedule_doc = frappe.get_doc(
- "Asset Depreciation Schedule", old_asset_depr_schedule
+ current_asset_depr_schedule_doc = frappe.get_doc(
+ "Asset Depreciation Schedule", current_asset_depr_schedule
)
- asset_depr_schedule_doc = frappe.copy_doc(old_asset_depr_schedule_doc, ignore_no_copy=False)
+ new_asset_depr_schedule_doc = frappe.copy_doc(
+ current_asset_depr_schedule_doc, ignore_no_copy=False
+ )
- old_asset_depr_schedule.cancel()
+ current_asset_depr_schedule_doc.cancel()
- make_depreciation_schedule(asset_depr_schedule_doc, asset_doc, row, date_of_disposal)
+ make_depr_schedule(new_asset_depr_schedule_doc, asset_doc, row, date_of_disposal)
set_accumulated_depreciation(
- asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
+ new_asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
)
- asset_depr_schedule_doc.notes = notes
+ new_asset_depr_schedule_doc.notes = notes
- asset_depr_schedule_doc.submit()
+ new_asset_depr_schedule_doc.submit()
-def get_temp_asset_depreciation_schedule_doc(
- asset_doc, row, date_of_disposal=None, date_of_return=None
-):
+def get_temp_asset_depr_schedule_doc(asset_doc, row, date_of_disposal=None, date_of_return=None):
asset_depr_schedule_doc = frappe.new_doc("Asset Depreciation Schedule")
- prepare_draft_asset_depreciation_schedule_data(
+ prepare_draft_asset_depr_schedule_data(
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
)
return asset_depr_schedule_doc
-def cancel_asset_depreciation_schedules(asset_doc):
+def cancel_asset_depr_schedules(asset_doc):
for row in asset_doc.get("finance_books"):
- asset_depr_schedule = get_asset_depreciation_schedule(asset_doc.name, row.finance_book)
+ asset_depr_schedule = get_asset_depr_schedule(asset_doc.name, row.finance_book)
if not asset_depr_schedule:
return
@@ -135,7 +133,7 @@
asset_depr_schedule_doc.cancel()
-def get_asset_depreciation_schedule(asset, finance_book):
+def get_asset_depr_schedule(asset, finance_book):
return frappe.db.get_value(
doctype="Asset Depreciation Schedule",
filters=[
@@ -146,7 +144,13 @@
)
-def make_depreciation_schedule(asset_depr_schedule_doc, asset_doc, row, date_of_disposal):
+def get_depr_schedule_from_asset_depr_schedule_of_asset(asset, finance_book):
+ asset_depr_schedule = get_asset_depr_schedule(asset, finance_book)
+ asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule)
+ return asset_depr_schedule_doc.get("depreciation_schedule")
+
+
+def make_depr_schedule(asset_depr_schedule_doc, asset_doc, row, date_of_disposal):
if row.depreciation_method != "Manual" and not asset_depr_schedule_doc.get(
"depreciation_schedule"
):
@@ -155,12 +159,12 @@
if not asset_doc.available_for_use_date:
return
- start = clear_depreciation_schedule(asset_depr_schedule_doc)
+ start = clear_depr_schedule(asset_depr_schedule_doc)
- _make_depreciation_schedule(asset_depr_schedule_doc, asset_doc, row, start, date_of_disposal)
+ _make_depr_schedule(asset_depr_schedule_doc, asset_doc, row, start, date_of_disposal)
-def clear_depreciation_schedule(asset_depr_schedule_doc):
+def clear_depr_schedule(asset_depr_schedule_doc):
start = []
num_of_depreciations_completed = 0
depr_schedule = []
@@ -189,7 +193,7 @@
return start
-def _make_depreciation_schedule(asset_depr_schedule_doc, asset_doc, row, start, date_of_disposal):
+def _make_depr_schedule(asset_depr_schedule_doc, asset_doc, row, start, date_of_disposal):
asset_doc.validate_asset_finance_books(row)
value_after_depreciation = asset_doc._get_value_after_depreciation(row)
diff --git a/erpnext/assets/doctype/asset_repair/asset_repair.py b/erpnext/assets/doctype/asset_repair/asset_repair.py
index ca6225f..962e7fb 100644
--- a/erpnext/assets/doctype/asset_repair/asset_repair.py
+++ b/erpnext/assets/doctype/asset_repair/asset_repair.py
@@ -9,7 +9,7 @@
from erpnext.accounts.general_ledger import make_gl_entries
from erpnext.assets.doctype.asset.asset import get_asset_account
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
- get_asset_depreciation_schedule,
+ get_depr_schedule_from_asset_depr_schedule_of_asset,
)
from erpnext.controllers.accounts_controller import AccountsController
@@ -282,11 +282,10 @@
asset.number_of_depreciations_booked
)
- asset_depr_schedule = get_asset_depreciation_schedule(asset.name, row.finance_book)
- depr_schedule = asset_depr_schedule.get("depreciation_schedule")
+ depr_schedule = get_depr_schedule_from_asset_depr_schedule_of_asset(asset.name, row.finance_book)
# the Schedule Date in the final row of the old Depreciation Schedule
- last_schedule_date = asset_depr_schedule[len(asset_depr_schedule) - 1].schedule_date
+ last_schedule_date = depr_schedule[len(depr_schedule) - 1].schedule_date
# the Schedule Date in the final row of the new Depreciation Schedule
asset.to_date = add_months(last_schedule_date, extra_months)
@@ -316,11 +315,10 @@
asset.number_of_depreciations_booked
)
- asset_depr_schedule = get_asset_depreciation_schedule(asset.name, row.finance_book)
- depr_schedule = asset_depr_schedule.get("depreciation_schedule")
+ depr_schedule = get_depr_schedule_from_asset_depr_schedule_of_asset(asset.name, row.finance_book)
# the Schedule Date in the final row of the modified Depreciation Schedule
- last_schedule_date = asset_depr_schedule[len(asset_depr_schedule) - 1].schedule_date
+ last_schedule_date = depr_schedule[len(depr_schedule) - 1].schedule_date
# the Schedule Date in the final row of the original Depreciation Schedule
asset.to_date = add_months(last_schedule_date, -extra_months)
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 e61c8f7..bba61e6 100644
--- a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py
+++ b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py
@@ -5,15 +5,16 @@
import frappe
from frappe import _
from frappe.model.document import Document
-from frappe.utils import cint, date_diff, flt, formatdate, getdate
+from frappe.utils import date_diff, flt, formatdate, getdate
from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
get_checks_for_pl_and_bs_accounts,
)
from erpnext.assets.doctype.asset.depreciation import get_depreciation_accounts
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
- get_asset_depreciation_schedule,
+ get_asset_depr_schedule,
get_depreciation_amount,
+ set_accumulated_depreciation,
)
@@ -115,8 +116,17 @@
for d in asset.finance_books:
d.value_after_depreciation = asset_value
- asset_depr_schedule = get_asset_depreciation_schedule(asset.name, d.finance_book)
- depr_schedule = asset_depr_schedule.get("depreciation_schedule")
+ current_asset_depr_schedule = get_asset_depr_schedule(asset.name, d.finance_book)
+
+ current_asset_depr_schedule_doc = frappe.get_doc(
+ "Asset Depreciation Schedule", current_asset_depr_schedule
+ )
+
+ new_asset_depr_schedule_doc = frappe.copy_doc(
+ current_asset_depr_schedule_doc, ignore_no_copy=False
+ )
+
+ depr_schedule = new_asset_depr_schedule_doc.get("depreciation_schedule")
if d.depreciation_method in ("Straight Line", "Manual"):
end_date = max(s.schedule_date for s in depr_schedule)
@@ -128,7 +138,7 @@
value_after_depreciation = d.value_after_depreciation
for data in depr_schedule:
- if cint(data.finance_book_id) == d.idx and not data.journal_entry:
+ if not data.journal_entry:
if d.depreciation_method in ("Straight Line", "Manual"):
days = date_diff(data.schedule_date, from_date)
depreciation_amount = days * rate_per_day
@@ -142,10 +152,16 @@
d.db_update()
- asset.set_accumulated_depreciation(ignore_booked_entry=True)
- for asset_data in asset.schedules:
- if not asset_data.journal_entry:
- asset_data.db_update()
+ set_accumulated_depreciation(new_asset_depr_schedule_doc, asset, d, ignore_booked_entry=True)
+ for asset_data in depr_schedule:
+ if not asset_data.journal_entry:
+ asset_data.db_update()
+
+ current_asset_depr_schedule_doc.cancel()
+
+ new_asset_depr_schedule_doc.notes = "Asset value adjustment"
+
+ new_asset_depr_schedule_doc.submit()
@frappe.whitelist()