fix: Handling circular linking while cancelling asset capitalization
This commit is contained in:
@@ -322,7 +322,7 @@ frappe.ui.form.on('Asset', {
|
|||||||
},
|
},
|
||||||
|
|
||||||
make_schedules_editable: function(frm) {
|
make_schedules_editable: function(frm) {
|
||||||
if (frm.doc.finance_books.length) {
|
if (frm.doc.finance_books && frm.doc.finance_books.length) {
|
||||||
var is_manual_hence_editable = frm.doc.finance_books.filter(d => d.depreciation_method == "Manual").length > 0
|
var is_manual_hence_editable = frm.doc.finance_books.filter(d => d.depreciation_method == "Manual").length > 0
|
||||||
? true : false;
|
? true : false;
|
||||||
var is_shift_hence_editable = frm.doc.finance_books.filter(d => d.shift_based).length > 0
|
var is_shift_hence_editable = frm.doc.finance_books.filter(d => d.shift_based).length > 0
|
||||||
|
|||||||
@@ -508,7 +508,7 @@ def modify_depreciation_schedule_for_asset_repairs(asset):
|
|||||||
|
|
||||||
|
|
||||||
def reverse_depreciation_entry_made_after_disposal(asset, date):
|
def reverse_depreciation_entry_made_after_disposal(asset, date):
|
||||||
if not asset.calculate_depreciation:
|
if not asset.calculate_depreciation or not asset.get("schedules"):
|
||||||
return
|
return
|
||||||
|
|
||||||
row = -1
|
row = -1
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ frappe.provide("erpnext.assets");
|
|||||||
erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.stock.StockController {
|
erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.stock.StockController {
|
||||||
setup() {
|
setup() {
|
||||||
this.setup_posting_date_time_check();
|
this.setup_posting_date_time_check();
|
||||||
|
this.frm.ignore_doctypes_on_cancel_all = ["Asset Movement"];
|
||||||
}
|
}
|
||||||
|
|
||||||
onload() {
|
onload() {
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ class AssetCapitalization(StockController):
|
|||||||
"Stock Ledger Entry",
|
"Stock Ledger Entry",
|
||||||
"Repost Item Valuation",
|
"Repost Item Valuation",
|
||||||
"Asset",
|
"Asset",
|
||||||
|
"Asset Movement"
|
||||||
)
|
)
|
||||||
self.cancel_target_asset()
|
self.cancel_target_asset()
|
||||||
self.update_stock_ledger()
|
self.update_stock_ledger()
|
||||||
@@ -86,8 +87,11 @@ class AssetCapitalization(StockController):
|
|||||||
def cancel_target_asset(self):
|
def cancel_target_asset(self):
|
||||||
if self.entry_type == "Capitalization" and self.target_asset:
|
if self.entry_type == "Capitalization" and self.target_asset:
|
||||||
asset_doc = frappe.get_doc("Asset", self.target_asset)
|
asset_doc = frappe.get_doc("Asset", self.target_asset)
|
||||||
|
asset_doc.db_set("capitalized_in", None)
|
||||||
if asset_doc.docstatus == 1:
|
if asset_doc.docstatus == 1:
|
||||||
asset_doc.cancel()
|
asset_doc.cancel()
|
||||||
|
elif asset_doc.docstatus == 0:
|
||||||
|
asset_doc.delete()
|
||||||
|
|
||||||
def set_title(self):
|
def set_title(self):
|
||||||
self.title = self.target_asset_name or self.target_item_name or self.target_item_code
|
self.title = self.target_asset_name or self.target_item_name or self.target_item_code
|
||||||
|
|||||||
Reference in New Issue
Block a user