chore: add some validation, shorten some function names
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index e661d0b..2bbfe34 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_depr_schedule_from_asset_depr_schedule_of_asset,
+ get_depr_schedule,
)
from erpnext.controllers.accounts_controller import AccountsController
@@ -287,9 +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_depr_schedule_from_asset_depr_schedule_of_asset(
- asset.name, row.finance_book
- )
+ depr_schedule = get_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/asset.js b/erpnext/assets/doctype/asset/asset.js
index aa73a22..aa3af3b 100644
--- a/erpnext/assets/doctype/asset/asset.js
+++ b/erpnext/assets/doctype/asset/asset.js
@@ -209,7 +209,7 @@
if (frm.doc.finance_books.length == 1) {
depr_schedule = (await frappe.call(
- "erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule.get_depr_schedule_from_asset_depr_schedule_of_asset",
+ "erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule.get_depr_schedule",
{
asset_name: frm.doc.name,
finance_book: frm.doc.finance_books[0].finance_book || null
diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py
index a9fed1c..47f88b0 100644
--- a/erpnext/assets/doctype/asset/asset.py
+++ b/erpnext/assets/doctype/asset/asset.py
@@ -32,8 +32,8 @@
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
cancel_asset_depr_schedules,
convert_draft_asset_depr_schedules_into_active,
- get_asset_depr_schedule_doc_of_asset,
- get_depr_schedule_from_asset_depr_schedule_of_asset,
+ get_asset_depr_schedule_doc,
+ get_depr_schedule,
make_draft_asset_depr_schedules,
set_draft_asset_depr_schedule_details,
update_draft_asset_depr_schedules,
@@ -50,6 +50,7 @@
self.set_missing_values()
if not self.split_from:
self.prepare_depreciation_data()
+ update_draft_asset_depr_schedules(self)
self.validate_gross_and_purchase_amount()
self.validate_expected_value_after_useful_life()
@@ -98,7 +99,6 @@
if self.calculate_depreciation:
self.value_after_depreciation = 0
self.set_depreciation_rate()
- update_draft_asset_depr_schedules(self)
else:
self.finance_books = []
self.value_after_depreciation = flt(self.gross_purchase_amount) - flt(
@@ -350,13 +350,11 @@
return depreciation_amount_for_last_row
def get_depreciation_amount_for_first_row(self, finance_book):
- return get_depr_schedule_from_asset_depr_schedule_of_asset(self.name, finance_book)[
- 0
- ].depreciation_amount
+ return get_depr_schedule(self.name, finance_book)[0].depreciation_amount
def validate_expected_value_after_useful_life(self):
for row in self.get("finance_books"):
- depr_schedule = get_depr_schedule_from_asset_depr_schedule_of_asset(self.name, row.finance_book)
+ depr_schedule = get_depr_schedule(self.name, row.finance_book)
if not depr_schedule:
continue
@@ -412,7 +410,7 @@
def delete_depreciation_entries(self):
for row in self.get("finance_books"):
- depr_schedule = get_depr_schedule_from_asset_depr_schedule_of_asset(self.name, row.finance_book)
+ depr_schedule = get_depr_schedule(self.name, row.finance_book)
for d in depr_schedule.get("depreciation_schedule"):
if d.journal_entry:
@@ -900,9 +898,7 @@
expected_value_after_useful_life,
)
- current_asset_depr_schedule_doc = get_asset_depr_schedule_doc_of_asset(
- asset.name, row.finance_book
- )
+ current_asset_depr_schedule_doc = get_asset_depr_schedule_doc(asset.name, row.finance_book)
new_asset_depr_schedule_doc = frappe.copy_doc(current_asset_depr_schedule_doc)
set_draft_asset_depr_schedule_details(new_asset_depr_schedule_doc, asset, row)
@@ -947,9 +943,7 @@
(row.expected_value_after_useful_life * split_qty) / asset.asset_quantity
)
- current_asset_depr_schedule_doc = get_asset_depr_schedule_doc_of_asset(
- asset.name, row.finance_book
- )
+ current_asset_depr_schedule_doc = get_asset_depr_schedule_doc(asset.name, row.finance_book)
new_asset_depr_schedule_doc = frappe.copy_doc(current_asset_depr_schedule_doc)
set_draft_asset_depr_schedule_details(new_asset_depr_schedule_doc, new_asset, row)
@@ -973,9 +967,7 @@
new_asset.set_status()
for row in new_asset.get("finance_books"):
- depr_schedule = get_depr_schedule_from_asset_depr_schedule_of_asset(
- new_asset.name, row.finance_book
- )
+ depr_schedule = get_depr_schedule(new_asset.name, row.finance_book)
for term in depr_schedule:
# Update references in JV
if term.journal_entry:
diff --git a/erpnext/assets/doctype/asset/depreciation.py b/erpnext/assets/doctype/asset/depreciation.py
index b7d5511..514fd86 100644
--- a/erpnext/assets/doctype/asset/depreciation.py
+++ b/erpnext/assets/doctype/asset/depreciation.py
@@ -12,7 +12,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_asset_depr_schedule_name,
- get_depr_schedule_from_asset_depr_schedule_of_asset,
+ get_depr_schedule,
get_temp_asset_depr_schedule_doc,
make_new_active_asset_depr_schedules_and_cancel_current_ones,
)
@@ -300,7 +300,7 @@
def reverse_depreciation_entry_made_after_disposal(asset, date):
for row in asset.get("finance_books"):
- depr_schedule = get_depr_schedule_from_asset_depr_schedule_of_asset(asset, row.finance_book)
+ depr_schedule = get_depr_schedule(asset, row.finance_book)
for schedule_idx, schedule in enumerate(depr_schedule):
if schedule.schedule_date == date:
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 61e8ba2..71ce992 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
@@ -2,6 +2,7 @@
# For license information, please see license.txt
import frappe
+from frappe import _
from frappe.model.document import Document
from frappe.utils import (
add_days,
@@ -17,7 +18,18 @@
class AssetDepreciationSchedule(Document):
- pass
+ def validate(self):
+ self.validate_another_asset_depr_schedule_does_not_exist()
+
+ def validate_another_asset_depr_schedule_does_not_exist(self):
+ asset_depr_schedule_name = get_asset_depr_schedule_name(self.asset, self.finance_book)
+
+ if asset_depr_schedule_name:
+ frappe.throw(
+ _("Asset Depreciation Schedule for Asset {0} and Finance Book {1} already exists.").format(
+ self.asset, self.finance_book
+ )
+ )
def make_draft_asset_depr_schedules(asset_doc, date_of_disposal=None, date_of_return=None):
@@ -33,7 +45,7 @@
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_doc = get_asset_depr_schedule_doc_of_asset(asset_doc.name, row.finance_book)
+ asset_depr_schedule_doc = get_asset_depr_schedule_doc(asset_doc.name, row.finance_book)
prepare_draft_asset_depr_schedule_data(
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
@@ -67,7 +79,7 @@
def convert_draft_asset_depr_schedules_into_active(asset_doc):
for row in asset_doc.get("finance_books"):
- asset_depr_schedule_doc = get_asset_depr_schedule_doc_of_asset(asset_doc.name, row.finance_book)
+ asset_depr_schedule_doc = get_asset_depr_schedule_doc(asset_doc.name, row.finance_book)
asset_depr_schedule_doc.status = "Active"
@@ -78,9 +90,7 @@
asset_doc, notes, date_of_disposal=None, date_of_return=None
):
for row in asset_doc.get("finance_books"):
- current_asset_depr_schedule_doc = get_asset_depr_schedule_doc_of_asset(
- asset_doc.name, row.finance_book
- )
+ current_asset_depr_schedule_doc = get_asset_depr_schedule_doc(asset_doc.name, row.finance_book)
new_asset_depr_schedule_doc = frappe.copy_doc(current_asset_depr_schedule_doc)
@@ -106,7 +116,7 @@
def cancel_asset_depr_schedules(asset_doc):
for row in asset_doc.get("finance_books"):
- asset_depr_schedule_doc = get_asset_depr_schedule_doc_of_asset(asset_doc.name, row.finance_book)
+ asset_depr_schedule_doc = get_asset_depr_schedule_doc(asset_doc.name, row.finance_book)
asset_depr_schedule_doc.status = "Cancelled"
@@ -129,13 +139,13 @@
@frappe.whitelist()
-def get_depr_schedule_from_asset_depr_schedule_of_asset(asset_name, finance_book):
- asset_depr_schedule_doc = get_asset_depr_schedule_doc_of_asset(asset_name, finance_book)
+def get_depr_schedule(asset_name, finance_book):
+ asset_depr_schedule_doc = get_asset_depr_schedule_doc(asset_name, finance_book)
return asset_depr_schedule_doc.get("depreciation_schedule")
-def get_asset_depr_schedule_doc_of_asset(asset_name, finance_book):
+def get_asset_depr_schedule_doc(asset_name, finance_book):
asset_depr_schedule_name = get_asset_depr_schedule_name(asset_name, finance_book)
if not asset_depr_schedule_name:
diff --git a/erpnext/assets/doctype/asset_repair/asset_repair.py b/erpnext/assets/doctype/asset_repair/asset_repair.py
index 31fd0f6..2396df9 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_depr_schedule_from_asset_depr_schedule_of_asset,
+ get_depr_schedule,
make_new_active_asset_depr_schedules_and_cancel_current_ones,
)
from erpnext.controllers.accounts_controller import AccountsController
@@ -285,7 +285,7 @@
asset.number_of_depreciations_booked
)
- depr_schedule = get_depr_schedule_from_asset_depr_schedule_of_asset(asset.name, row.finance_book)
+ depr_schedule = get_depr_schedule(asset.name, row.finance_book)
# the Schedule Date in the final row of the old Depreciation Schedule
last_schedule_date = depr_schedule[len(depr_schedule) - 1].schedule_date
@@ -318,7 +318,7 @@
asset.number_of_depreciations_booked
)
- depr_schedule = get_depr_schedule_from_asset_depr_schedule_of_asset(asset.name, row.finance_book)
+ depr_schedule = get_depr_schedule(asset.name, row.finance_book)
# the Schedule Date in the final row of the modified Depreciation Schedule
last_schedule_date = depr_schedule[len(depr_schedule) - 1].schedule_date