diff --git a/erpnext/hr/doctype/interview/interview.py b/erpnext/hr/doctype/interview/interview.py index 8f0ff021335..a1d5c0249ba 100644 --- a/erpnext/hr/doctype/interview/interview.py +++ b/erpnext/hr/doctype/interview/interview.py @@ -94,8 +94,8 @@ class Interview(Document): @frappe.whitelist() def reschedule_interview(self, scheduled_on, from_time, to_time): original_date = self.scheduled_on - from_time = self.from_time - to_time = self.to_time + original_from_time = self.from_time + original_to_time = self.to_time self.db_set({"scheduled_on": scheduled_on, "from_time": from_time, "to_time": to_time}) self.notify_update() @@ -107,7 +107,12 @@ class Interview(Document): recipients=recipients, subject=_("Interview: {0} Rescheduled").format(self.name), message=_("Your Interview session is rescheduled from {0} {1} - {2} to {3} {4} - {5}").format( - original_date, from_time, to_time, self.scheduled_on, self.from_time, self.to_time + original_date, + original_from_time, + original_to_time, + self.scheduled_on, + self.from_time, + self.to_time, ), reference_doctype=self.doctype, reference_name=self.name, diff --git a/erpnext/hr/doctype/interview/test_interview.py b/erpnext/hr/doctype/interview/test_interview.py index 840a5ad919d..1062003dd8c 100644 --- a/erpnext/hr/doctype/interview/test_interview.py +++ b/erpnext/hr/doctype/interview/test_interview.py @@ -8,7 +8,7 @@ import unittest import frappe from frappe import _ from frappe.core.doctype.user_permission.test_user_permission import create_user -from frappe.utils import add_days, getdate, nowtime +from frappe.utils import add_days, get_time, getdate, nowtime from erpnext.hr.doctype.designation.test_designation import create_designation from erpnext.hr.doctype.interview.interview import DuplicateInterviewRoundError @@ -26,18 +26,23 @@ class TestInterview(unittest.TestCase): def test_notification_on_rescheduling(self): job_applicant = create_job_applicant() interview = create_interview_and_dependencies( - job_applicant.name, scheduled_on=add_days(getdate(), -4) + job_applicant.name, + scheduled_on=add_days(getdate(), -4), + from_time="10:00:00", + to_time="11:00:00", ) previous_scheduled_date = interview.scheduled_on frappe.db.sql("DELETE FROM `tabEmail Queue`") interview.reschedule_interview( - add_days(getdate(previous_scheduled_date), 2), from_time=nowtime(), to_time=nowtime() + add_days(getdate(previous_scheduled_date), 2), from_time="11:00:00", to_time="12:00:00" ) interview.reload() self.assertEqual(interview.scheduled_on, add_days(getdate(previous_scheduled_date), 2)) + self.assertEqual(get_time(interview.from_time), get_time("11:00:00")) + self.assertEqual(get_time(interview.to_time), get_time("12:00:00")) notification = frappe.get_all( "Email Queue", filters={"message": ("like", "%Your Interview session is rescheduled from%")} diff --git a/erpnext/hr/utils.py b/erpnext/hr/utils.py index b80226b224c..d256f34732e 100644 --- a/erpnext/hr/utils.py +++ b/erpnext/hr/utils.py @@ -224,7 +224,7 @@ def delete_employee_work_history(details, employee, date): filters["from_date"] = date if filters: frappe.db.delete("Employee Internal Work History", filters) - employee.reload() + employee.save() @frappe.whitelist()