From 5a82b723c29acbdfdc57626aa4c3b52eb5bf321f Mon Sep 17 00:00:00 2001 From: khushi8112 Date: Tue, 29 Jul 2025 15:17:30 +0530 Subject: [PATCH] fix: post gl entry on completion date of asset repair --- erpnext/assets/doctype/asset_repair/asset_repair.json | 6 ++++-- erpnext/assets/doctype/asset_repair/asset_repair.py | 10 +++++----- .../assets/doctype/asset_repair/test_asset_repair.py | 3 ++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/erpnext/assets/doctype/asset_repair/asset_repair.json b/erpnext/assets/doctype/asset_repair/asset_repair.json index a28afa280de..16f3da9b988 100644 --- a/erpnext/assets/doctype/asset_repair/asset_repair.json +++ b/erpnext/assets/doctype/asset_repair/asset_repair.json @@ -74,6 +74,7 @@ "fieldname": "completion_date", "fieldtype": "Datetime", "label": "Completion Date", + "mandatory_depends_on": "eval:doc.repair_status==\"Completed\"", "no_copy": 1 }, { @@ -249,7 +250,7 @@ "index_web_pages_for_search": 1, "is_submittable": 1, "links": [], - "modified": "2025-06-29 22:30:00.589597", + "modified": "2025-07-29 15:14:34.044564", "modified_by": "Administrator", "module": "Assets", "name": "Asset Repair", @@ -287,10 +288,11 @@ "write": 1 } ], + "row_format": "Dynamic", "sort_field": "modified", "sort_order": "DESC", "states": [], "title_field": "asset_name", "track_changes": 1, "track_seen": 1 -} +} \ No newline at end of file diff --git a/erpnext/assets/doctype/asset_repair/asset_repair.py b/erpnext/assets/doctype/asset_repair/asset_repair.py index 2ac2803fd53..358945edf87 100644 --- a/erpnext/assets/doctype/asset_repair/asset_repair.py +++ b/erpnext/assets/doctype/asset_repair/asset_repair.py @@ -70,7 +70,7 @@ class AssetRepair(AccountsController): ) def validate_dates(self): - if self.completion_date and (self.failure_date > self.completion_date): + if self.completion_date and (getdate(self.failure_date) > getdate(self.completion_date)): frappe.throw( _("Completion Date can not be before Failure Date. Please adjust the dates accordingly.") ) @@ -303,7 +303,7 @@ class AssetRepair(AccountsController): "voucher_type": self.doctype, "voucher_no": self.name, "cost_center": self.cost_center, - "posting_date": getdate(), + "posting_date": self.completion_date, "against_voucher_type": "Purchase Invoice", "against_voucher": self.purchase_invoice, "company": self.company, @@ -322,7 +322,7 @@ class AssetRepair(AccountsController): "voucher_type": self.doctype, "voucher_no": self.name, "cost_center": self.cost_center, - "posting_date": getdate(), + "posting_date": self.completion_date, "company": self.company, }, item=self, @@ -356,7 +356,7 @@ class AssetRepair(AccountsController): "voucher_type": self.doctype, "voucher_no": self.name, "cost_center": self.cost_center, - "posting_date": getdate(), + "posting_date": self.completion_date, "company": self.company, }, item=self, @@ -373,7 +373,7 @@ class AssetRepair(AccountsController): "voucher_type": self.doctype, "voucher_no": self.name, "cost_center": self.cost_center, - "posting_date": getdate(), + "posting_date": self.completion_date, "against_voucher_type": "Stock Entry", "against_voucher": stock_entry.name, "company": self.company, diff --git a/erpnext/assets/doctype/asset_repair/test_asset_repair.py b/erpnext/assets/doctype/asset_repair/test_asset_repair.py index 5c0a18baccb..f5630b48d64 100644 --- a/erpnext/assets/doctype/asset_repair/test_asset_repair.py +++ b/erpnext/assets/doctype/asset_repair/test_asset_repair.py @@ -4,7 +4,7 @@ import unittest import frappe -from frappe.utils import add_months, flt, get_first_day, nowdate, nowtime, today +from frappe.utils import add_days, add_months, flt, get_first_day, nowdate, nowtime, today from erpnext.assets.doctype.asset.asset import ( get_asset_account, @@ -359,6 +359,7 @@ def create_asset_repair(**args): if args.submit: asset_repair.repair_status = "Completed" + asset_repair.completion_date = add_days(args.failure_date, 1) asset_repair.cost_center = frappe.db.get_value("Company", asset.company, "cost_center") if args.stock_consumption: