mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-30 18:34:48 +00:00
chore: more refactoring
This commit is contained in:
@@ -24,7 +24,7 @@ from erpnext.accounts.utils import (
|
|||||||
get_stock_and_account_balance,
|
get_stock_and_account_balance,
|
||||||
)
|
)
|
||||||
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
|
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
|
from erpnext.controllers.accounts_controller import AccountsController
|
||||||
|
|
||||||
@@ -287,7 +287,7 @@ class JournalEntry(AccountsController):
|
|||||||
if d.reference_type == "Asset" and d.reference_name:
|
if d.reference_type == "Asset" and d.reference_name:
|
||||||
asset = frappe.get_doc("Asset", d.reference_name)
|
asset = frappe.get_doc("Asset", d.reference_name)
|
||||||
for row in asset.get("finance_books"):
|
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:
|
for s in depr_schedule:
|
||||||
if s.journal_entry == self.name:
|
if s.journal_entry == self.name:
|
||||||
|
|||||||
@@ -157,10 +157,11 @@
|
|||||||
"read_only": 1
|
"read_only": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"in_create": 1,
|
||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2022-12-15 16:28:44.585745",
|
"modified": "2022-12-26 20:32:43.342271",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Assets",
|
"module": "Assets",
|
||||||
"name": "Asset Depreciation Schedule",
|
"name": "Asset Depreciation Schedule",
|
||||||
|
|||||||
@@ -42,6 +42,12 @@ class AssetDepreciationSchedule(Document):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
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):
|
def make_draft_asset_depr_schedules_if_not_present(asset_doc):
|
||||||
for row in asset_doc.get("finance_books"):
|
for row in asset_doc.get("finance_books"):
|
||||||
@@ -121,6 +127,18 @@ def convert_draft_asset_depr_schedules_into_active(asset_doc):
|
|||||||
asset_depr_schedule_doc.submit()
|
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(
|
def make_new_active_asset_depr_schedules_and_cancel_current_ones(
|
||||||
asset_doc, notes, date_of_disposal=None, date_of_return=None
|
asset_doc, notes, date_of_disposal=None, date_of_return=None
|
||||||
):
|
):
|
||||||
@@ -165,18 +183,6 @@ def get_temp_asset_depr_schedule_doc(
|
|||||||
return asset_depr_schedule_doc
|
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):
|
def get_draft_or_active_asset_depr_schedule_name(asset_name, finance_book=None):
|
||||||
finance_book_filter = ["finance_book", "is", "not set"]
|
finance_book_filter = ["finance_book", "is", "not set"]
|
||||||
if finance_book:
|
if finance_book:
|
||||||
@@ -197,15 +203,23 @@ def get_cancelled_asset_depr_schedule_name(asset_name, finance_book=None):
|
|||||||
if finance_book:
|
if finance_book:
|
||||||
finance_book_filter = ["finance_book", "=", 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",
|
doctype="Asset Depreciation Schedule",
|
||||||
filters=[
|
filters=[
|
||||||
["asset", "=", asset_name],
|
["asset", "=", asset_name],
|
||||||
finance_book_filter,
|
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()
|
@frappe.whitelist()
|
||||||
def get_draft_or_active_depr_schedule(asset_name, finance_book=None):
|
def get_draft_or_active_depr_schedule(asset_name, finance_book=None):
|
||||||
|
|||||||
@@ -167,7 +167,6 @@ class AssetValueAdjustment(Document):
|
|||||||
if not asset_data.journal_entry:
|
if not asset_data.journal_entry:
|
||||||
asset_data.db_update()
|
asset_data.db_update()
|
||||||
|
|
||||||
new_asset_depr_schedule_doc.status = "Active"
|
|
||||||
new_asset_depr_schedule_doc.submit()
|
new_asset_depr_schedule_doc.submit()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ def execute():
|
|||||||
update_depreciation_schedules(asset.name, asset_depr_schedule_doc.name, fb_row.idx)
|
update_depreciation_schedules(asset.name, asset_depr_schedule_doc.name, fb_row.idx)
|
||||||
|
|
||||||
if asset.docstatus == 1:
|
if asset.docstatus == 1:
|
||||||
asset_depr_schedule_doc.status = "Active"
|
|
||||||
asset_depr_schedule_doc.submit()
|
asset_depr_schedule_doc.submit()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user