fix: Mark attendance from employee attendance tool (#19627)

This commit is contained in:
Mangesh-Khairnar 2019-11-21 17:58:18 +05:30 committed by Anurag Mishra
parent 6a743be1de
commit 1a92eb14ed

View File

@ -6,6 +6,7 @@ from __future__ import unicode_literals
import frappe
import json
from frappe.model.document import Document
from frappe.utils import getdate
class EmployeeAttendanceTool(Document):
@ -43,17 +44,26 @@ def get_employees(date, department = None, branch = None, company = None):
@frappe.whitelist()
def mark_employee_attendance(employee_list, status, date, leave_type=None, company=None):
employee_list = json.loads(employee_list)
for employee in employee_list:
attendance = frappe.new_doc("Attendance")
attendance.employee = employee['employee']
attendance.employee_name = employee['employee_name']
attendance.attendance_date = date
attendance.status = status
if status == "On Leave" and leave_type:
attendance.leave_type = leave_type
if company:
attendance.company = company
leave_type = leave_type
else:
attendance.company = frappe.db.get_value("Employee", employee['employee'], "Company")
leave_type = None
if not company:
company = frappe.db.get_value("Employee", employee['employee'], "Company")
attendance=frappe.get_doc(dict(
doctype='Attendance',
employee=employee.get('employee'),
employee_name=employee.get('employee_name'),
attendance_date=getdate(date),
status=status,
leave_type=leave_type,
company=company
))
attendance.insert()
attendance.submit()