From defd5541b060dd901171fcb2ffc0029c75931b26 Mon Sep 17 00:00:00 2001 From: Khushi Rawat <142375893+khushi8112@users.noreply.github.com> Date: Wed, 14 Aug 2024 00:03:35 +0530 Subject: [PATCH] fix: resolved conflict (cherry picked from commit c085b6159b3a122852f403aad22ae35999f82a09) --- .../asset_depreciation_schedule.py | 10 ++++++++-- erpnext/assets/doctype/asset_repair/asset_repair.js | 9 +++++++++ erpnext/assets/doctype/asset_repair/asset_repair.py | 8 ++++++-- .../asset_value_adjustment/asset_value_adjustment.py | 10 +++++++--- 4 files changed, 30 insertions(+), 7 deletions(-) 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 d7dcfac3aab..bad89e93259 100644 --- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py +++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py @@ -509,7 +509,10 @@ class AssetDepreciationSchedule(Document): continue if not accumulated_depreciation: - if i > 0 and asset_doc.flags.decrease_in_asset_value_due_to_value_adjustment: + if i > 0 and ( + asset_doc.flags.decrease_in_asset_value_due_to_value_adjustment + or asset_doc.flags.increase_in_asset_value_due_to_repair + ): accumulated_depreciation = self.get("depreciation_schedule")[ i - 1 ].accumulated_depreciation_amount @@ -677,7 +680,7 @@ def get_straight_line_or_manual_depr_amount( # if the Depreciation Schedule is being modified after Asset Repair due to increase in asset value elif asset.flags.increase_in_asset_value_due_to_repair: return (flt(row.value_after_depreciation) - flt(row.expected_value_after_useful_life)) / flt( - row.total_number_of_depreciations + number_of_pending_depreciations ) # if the Depreciation Schedule is being modified after Asset Value Adjustment due to decrease in asset value elif asset.flags.decrease_in_asset_value_due_to_value_adjustment: @@ -1041,6 +1044,7 @@ def make_new_active_asset_depr_schedules_and_cancel_current_ones( date_of_return=None, value_after_depreciation=None, ignore_booked_entry=False, + difference_amount=None, ): for row in asset_doc.get("finance_books"): current_asset_depr_schedule_doc = get_asset_depr_schedule_doc( @@ -1055,6 +1059,8 @@ def make_new_active_asset_depr_schedules_and_cancel_current_ones( ) new_asset_depr_schedule_doc = frappe.copy_doc(current_asset_depr_schedule_doc) + if asset_doc.flags.decrease_in_asset_value_due_to_value_adjustment and not value_after_depreciation: + value_after_depreciation = row.value_after_depreciation + difference_amount if asset_doc.flags.increase_in_asset_value_due_to_repair and row.depreciation_method in ( "Written Down Value", diff --git a/erpnext/assets/doctype/asset_repair/asset_repair.js b/erpnext/assets/doctype/asset_repair/asset_repair.js index 9284c86bd92..67ce6e6f7ef 100644 --- a/erpnext/assets/doctype/asset_repair/asset_repair.js +++ b/erpnext/assets/doctype/asset_repair/asset_repair.js @@ -29,6 +29,15 @@ frappe.ui.form.on("Asset Repair", { }; }); + frm.set_query("purchase_invoice", function () { + return { + filters: { + company: frm.doc.company, + docstatus: 1, + }, + }; + }); + frm.set_query("warehouse", "stock_items", function () { return { filters: { diff --git a/erpnext/assets/doctype/asset_repair/asset_repair.py b/erpnext/assets/doctype/asset_repair/asset_repair.py index 903e68e32e0..4e73148828d 100644 --- a/erpnext/assets/doctype/asset_repair/asset_repair.py +++ b/erpnext/assets/doctype/asset_repair/asset_repair.py @@ -117,7 +117,9 @@ class AssetRepair(AccountsController): get_link_to_form(self.doctype, self.name), ) self.asset_doc.flags.ignore_validate_update_after_submit = True - make_new_active_asset_depr_schedules_and_cancel_current_ones(self.asset_doc, notes) + make_new_active_asset_depr_schedules_and_cancel_current_ones( + self.asset_doc, notes, ignore_booked_entry=True + ) self.asset_doc.save() add_asset_activity( @@ -154,7 +156,9 @@ class AssetRepair(AccountsController): get_link_to_form(self.doctype, self.name), ) self.asset_doc.flags.ignore_validate_update_after_submit = True - make_new_active_asset_depr_schedules_and_cancel_current_ones(self.asset_doc, notes) + make_new_active_asset_depr_schedules_and_cancel_current_ones( + self.asset_doc, notes, ignore_booked_entry=True + ) self.asset_doc.save() add_asset_activity( diff --git a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py index 8dfed9cba8a..9b0212b037f 100644 --- a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py +++ b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py @@ -57,7 +57,7 @@ class AssetValueAdjustment(Document): def on_cancel(self): frappe.get_doc("Journal Entry", self.journal_entry).cancel() - self.update_asset(self.current_asset_value) + self.update_asset() add_asset_activity( self.asset, _("Asset's value adjusted after cancellation of Asset Value Adjustment {0}").format( @@ -145,7 +145,7 @@ class AssetValueAdjustment(Document): self.db_set("journal_entry", je.name) - def update_asset(self, asset_value): + def update_asset(self, asset_value=None): asset = frappe.get_doc("Asset", self.asset) if not asset.calculate_depreciation: @@ -171,7 +171,11 @@ class AssetValueAdjustment(Document): ) make_new_active_asset_depr_schedules_and_cancel_current_ones( - asset, notes, value_after_depreciation=asset_value, ignore_booked_entry=True + asset, + notes, + value_after_depreciation=asset_value, + ignore_booked_entry=True, + difference_amount=self.difference_amount, ) asset.flags.ignore_validate_update_after_submit = True asset.save()