From 820ccba9a4fa3d3aa2121bb8678f7ff4ab8c037b Mon Sep 17 00:00:00 2001 From: SowmyaArunachalam Date: Fri, 19 Dec 2025 22:20:03 +0530 Subject: [PATCH 1/2] fix(task): calculate end date if not available --- erpnext/projects/doctype/task/task.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py index 2ad0980e967..ba06dccb0b9 100755 --- a/erpnext/projects/doctype/task/task.py +++ b/erpnext/projects/doctype/task/task.py @@ -98,7 +98,7 @@ class Task(NestedSet): self.validate_parent_project_dates() def set_default_end_date_if_missing(self): - if self.exp_start_date and self.expected_time: + if self.exp_start_date and self.expected_time and not self.exp_end_date: self.exp_end_date = add_to_date(self.exp_start_date, hours=self.expected_time) def validate_parent_expected_end_date(self): From b8434ecfb027fc550c9174ee85634c1a61d31b6b Mon Sep 17 00:00:00 2001 From: SowmyaArunachalam Date: Fri, 19 Dec 2025 23:27:51 +0530 Subject: [PATCH 2/2] test(task): validate expected end date --- erpnext/projects/doctype/task/test_task.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/erpnext/projects/doctype/task/test_task.py b/erpnext/projects/doctype/task/test_task.py index f042d17082b..30e35362aa9 100644 --- a/erpnext/projects/doctype/task/test_task.py +++ b/erpnext/projects/doctype/task/test_task.py @@ -158,6 +158,12 @@ class TestTask(ERPNextTestSuite): self.assertRaises(ParentIsGroupError, child_task.save) + def test_expected_end_date(self): + task = create_task("Testing End Date", add_days(nowdate(), 1), add_days(nowdate(), 5)) + task.expected_time = 72 + task.save() + self.assertEqual(getdate(task.exp_end_date), getdate(add_days(nowdate(), 5))) + def create_task( subject,