fix: Mark attendance from employee attendance tool (#19627)
This commit is contained in:
		
							parent
							
								
									6a743be1de
								
							
						
					
					
						commit
						1a92eb14ed
					
				| @ -6,6 +6,7 @@ from __future__ import unicode_literals | |||||||
| import frappe | import frappe | ||||||
| import json | import json | ||||||
| from frappe.model.document import Document | from frappe.model.document import Document | ||||||
|  | from frappe.utils import getdate | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class EmployeeAttendanceTool(Document): | class EmployeeAttendanceTool(Document): | ||||||
| @ -43,17 +44,26 @@ def get_employees(date, department = None, branch = None, company = None): | |||||||
| 
 | 
 | ||||||
| @frappe.whitelist() | @frappe.whitelist() | ||||||
| def mark_employee_attendance(employee_list, status, date, leave_type=None, company=None): | def mark_employee_attendance(employee_list, status, date, leave_type=None, company=None): | ||||||
|  | 
 | ||||||
| 	employee_list = json.loads(employee_list) | 	employee_list = json.loads(employee_list) | ||||||
| 	for employee in 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: | 		if status == "On Leave" and leave_type: | ||||||
| 			attendance.leave_type = leave_type | 			leave_type = leave_type | ||||||
| 		if company: |  | ||||||
| 			attendance.company = company |  | ||||||
| 		else: | 		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() | 		attendance.submit() | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user