Skip to content

Commit

Permalink
fix: Employee Inactive status implications (#26244)
Browse files Browse the repository at this point in the history
  • Loading branch information
ruchamahabal authored Jun 29, 2021
1 parent 09b081c commit 91dcc07
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 1 deletion.
2 changes: 1 addition & 1 deletion erpnext/hr/doctype/attendance/attendance.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) {
cur_frm.fields_dict.employee.get_query = function(doc,cdt,cdn) {
return{
query: "erpnext.controllers.queries.employee_query"
}
}
}
5 changes: 5 additions & 0 deletions erpnext/hr/doctype/attendance/attendance.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ def validate(self):
validate_status(self.status, ["Present", "Absent", "On Leave", "Half Day", "Work From Home"])
self.validate_attendance_date()
self.validate_duplicate_record()
self.validate_employee_status()
self.check_leave_record()

def validate_attendance_date(self):
Expand All @@ -38,6 +39,10 @@ def validate_duplicate_record(self):
frappe.throw(_("Attendance for employee {0} is already marked for the date {1}").format(
frappe.bold(self.employee), frappe.bold(self.attendance_date)))

def validate_employee_status(self):
if frappe.db.get_value("Employee", self.employee, "status") == "Inactive":
frappe.throw(_("Cannot mark attendance for an Inactive employee {0}").format(self.employee))

def check_leave_record(self):
leave_record = frappe.db.sql("""
select leave_type, half_day, half_day_date
Expand Down
3 changes: 3 additions & 0 deletions erpnext/hr/doctype/attendance/attendance_list.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ frappe.listview_settings['Attendance'] = {
label: __('For Employee'),
fieldtype: 'Link',
options: 'Employee',
get_query: () => {
return {query: "erpnext.controllers.queries.employee_query"}
},
reqd: 1,
onchange: function() {
dialog.set_df_property("unmarked_days", "hidden", 1);
Expand Down
1 change: 1 addition & 0 deletions erpnext/payroll/doctype/payroll_entry/payroll_entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -459,6 +459,7 @@ def get_emp_list(sal_struct, cond, end_date, payroll_payable_account):
where
t1.name = t2.employee
and t2.docstatus = 1
and t1.status != 'Inactive'
%s order by t2.from_date desc
""" % cond, {"sal_struct": tuple(sal_struct), "from_date": end_date, "payroll_payable_account": payroll_payable_account}, as_dict=True)

Expand Down

0 comments on commit 91dcc07

Please sign in to comment.