Skip to content

Commit

Permalink
fix: Cancel asset capitalisation record on cancellation of asset and …
Browse files Browse the repository at this point in the history
…vice-versa

(cherry picked from commit efe9f66)

# Conflicts:
#	erpnext/assets/doctype/asset_capitalization/asset_capitalization.py
  • Loading branch information
nabinhait authored and mergify[bot] committed Jan 17, 2024
1 parent bee90e5 commit 1dff960
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 3 deletions.
5 changes: 2 additions & 3 deletions erpnext/assets/doctype/asset/asset.json
Original file line number Diff line number Diff line change
Expand Up @@ -202,8 +202,7 @@
"fieldname": "purchase_date",
"fieldtype": "Date",
"label": "Purchase Date",
"mandatory_depends_on": "eval:!doc.is_existing_asset",
"read_only": 1,
"mandatory_depends_on": "eval:!doc.is_existing_asset && !doc.is_composite_asset",
"read_only_depends_on": "eval:!doc.is_existing_asset && !doc.is_composite_asset"
},
{
Expand Down Expand Up @@ -583,7 +582,7 @@
"link_fieldname": "target_asset"
}
],
"modified": "2024-01-05 17:36:53.131512",
"modified": "2024-01-15 17:35:49.226603",
"modified_by": "Administrator",
"module": "Assets",
"name": "Asset",
Expand Down
11 changes: 11 additions & 0 deletions erpnext/assets/doctype/asset/asset.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ def on_submit(self):
def on_cancel(self):
self.validate_cancellation()
self.cancel_movement_entries()
self.cancel_capitalization()
self.delete_depreciation_entries()
self.set_status()
self.ignore_linked_doctypes = ("GL Entry", "Stock Ledger Entry")
Expand Down Expand Up @@ -831,6 +832,16 @@ def cancel_movement_entries(self):
movement = frappe.get_doc("Asset Movement", movement.get("name"))
movement.cancel()

def cancel_capitalization(self):
asset_capitalization = frappe.db.get_value(
"Asset Capitalization",
{"target_asset": self.name, "docstatus": 1, "entry_type": "Capitalization"},
)

if asset_capitalization:
asset_capitalization = frappe.get_doc("Asset Capitalization", asset_capitalization)
asset_capitalization.cancel()

def delete_depreciation_entries(self):
if self.calculate_depreciation:
for d in self.get("schedules"):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,28 @@ def on_submit(self):
self.update_target_asset()

def on_cancel(self):
<<<<<<< HEAD
self.ignore_linked_doctypes = ("GL Entry", "Stock Ledger Entry", "Repost Item Valuation")
=======
self.ignore_linked_doctypes = (
"GL Entry",
"Stock Ledger Entry",
"Repost Item Valuation",
"Serial and Batch Bundle",
"Asset",
)
self.cancel_target_asset()
>>>>>>> efe9f6656f (fix: Cancel asset capitalisation record on cancellation of asset and vice-versa)
self.update_stock_ledger()
self.make_gl_entries()
self.restore_consumed_asset_items()

def cancel_target_asset(self):
if self.entry_type == "Capitalization" and self.target_asset:
asset_doc = frappe.get_doc("Asset", self.target_asset)
if asset_doc.docstatus == 1:
asset_doc.cancel()

def set_title(self):
self.title = self.target_asset_name or self.target_item_name or self.target_item_code

Expand Down

0 comments on commit 1dff960

Please sign in to comment.