From 6650ac8c36919fd0495d71a9b851827fcbbded01 Mon Sep 17 00:00:00 2001 From: khushi8112 Date: Tue, 28 Jul 2026 17:47:26 +0530 Subject: [PATCH] refactor: split make_depreciation_entry into public and internal helpers --- erpnext/assets/doctype/asset/depreciation.py | 28 ++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/erpnext/assets/doctype/asset/depreciation.py b/erpnext/assets/doctype/asset/depreciation.py index ea8059b68a5..561de38e217 100644 --- a/erpnext/assets/doctype/asset/depreciation.py +++ b/erpnext/assets/doctype/asset/depreciation.py @@ -81,7 +81,7 @@ def post_depreciation_entries(date=None): ) try: - make_depreciation_entry( + _make_depreciation_entry( asset_depr_schedule_name, date, sch_start_idx, @@ -139,7 +139,7 @@ def get_depreciable_asset_depr_schedules_data(date): def make_depreciation_entry_for_all_asset_depr_schedules(asset_doc, date=None): for row in asset_doc.get("finance_books"): asset_depr_schedule_name = get_asset_depr_schedule_name(asset_doc.name, "Active", row.finance_book) - make_depreciation_entry(asset_depr_schedule_name, date) + _make_depreciation_entry(asset_depr_schedule_name, date) def get_acc_frozen_upto(): @@ -193,6 +193,30 @@ def make_depreciation_entry( credit_and_debit_accounts=None, depreciation_cost_center_and_depreciation_series=None, accounting_dimensions=None, +): + asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule_name) + frappe.has_permission("Asset Depreciation Schedule", "write", asset_depr_schedule_doc, throw=True) + frappe.has_permission("Asset", "write", asset_depr_schedule_doc.asset, throw=True) + + return _make_depreciation_entry( + asset_depr_schedule_name, + date, + sch_start_idx, + sch_end_idx, + credit_and_debit_accounts, + depreciation_cost_center_and_depreciation_series, + accounting_dimensions, + ) + + +def _make_depreciation_entry( + asset_depr_schedule_name, + date=None, + sch_start_idx=None, + sch_end_idx=None, + credit_and_debit_accounts=None, + depreciation_cost_center_and_depreciation_series=None, + accounting_dimensions=None, ): frappe.has_permission("Journal Entry", throw=True)