Merge pull request #20475 from ParthKharwar/dev-work-from-home-application

feat: request for work from home marked in attendance
This commit is contained in:
Deepesh Garg 2020-02-01 19:06:40 +05:30 committed by GitHub
commit c3f28db5b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 2 deletions

View File

@ -38,6 +38,8 @@ class AttendanceRequest(Document):
attendance.employee_name = self.employee_name
if self.half_day and date_diff(getdate(self.half_day_date), getdate(attendance_date)) == 0:
attendance.status = "Half Day"
elif self.reason == "Work From Home":
attendance.status = "Work From Home"
else:
attendance.status = "Present"
attendance.attendance_date = attendance_date

View File

@ -13,7 +13,28 @@ class TestAttendanceRequest(unittest.TestCase):
for doctype in ["Attendance Request", "Attendance"]:
frappe.db.sql("delete from `tab{doctype}`".format(doctype=doctype))
def test_attendance_request(self):
def test_on_duty_attendance_request(self):
today = nowdate()
employee = get_employee()
attendance_request = frappe.new_doc("Attendance Request")
attendance_request.employee = employee.name
attendance_request.from_date = date(date.today().year, 1, 1)
attendance_request.to_date = date(date.today().year, 1, 2)
attendance_request.reason = "On Duty"
attendance_request.company = "_Test Company"
attendance_request.insert()
attendance_request.submit()
attendance = frappe.get_doc('Attendance', {
'employee': employee.name,
'attendance_date': date(date.today().year, 1, 1),
'docstatus': 1
})
self.assertEqual(attendance.status, 'Present')
attendance_request.cancel()
attendance.reload()
self.assertEqual(attendance.docstatus, 2)
def test_work_from_home_attendance_request(self):
today = nowdate()
employee = get_employee()
attendance_request = frappe.new_doc("Attendance Request")
@ -29,7 +50,7 @@ class TestAttendanceRequest(unittest.TestCase):
'attendance_date': date(date.today().year, 1, 1),
'docstatus': 1
})
self.assertEqual(attendance.status, 'Present')
self.assertEqual(attendance.status, 'Work From Home')
attendance_request.cancel()
attendance.reload()
self.assertEqual(attendance.docstatus, 2)