[fix] holiday_list issues in maintenance schedule too
diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
index db580f4..9e6afff 100755
--- a/erpnext/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -229,14 +229,13 @@
and status = 'Active'""", {"date": today()}, as_dict=True)
def get_holiday_list_for_employee(employee, raise_exception=True):
- employee = frappe.db.get_value("Employee", employee, ["holiday_list", "company"], as_dict=True)
- holiday_list = employee.holiday_list
+ holiday_list, company = frappe.db.get_value("Employee", employee, ["holiday_list", "company"])
if not holiday_list:
- holiday_list = frappe.db.get_value("Company", employee.company, "default_holiday_list")
+ holiday_list = frappe.db.get_value("Company", company, "default_holiday_list")
if not holiday_list and raise_exception:
- frappe.throw(_("Please set a Holiday List for either the Employee or the Company"))
+ frappe.throw(_('Please set a default Holiday List for Employee {0} or Company {0}').format(employee, company))
return holiday_list
diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py
index a28da19..6882034 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.py
+++ b/erpnext/hr/doctype/leave_application/leave_application.py
@@ -336,22 +336,11 @@
def get_holidays(employee, from_date, to_date):
'''get holidays between two dates for the given employee'''
- def get_from_holiday_list(from_date, to_date, holiday_list):
- return frappe.db.sql("""select count(distinct holiday_date) from `tabHoliday` h1, `tabHoliday List` h2
- where h1.parent = h2.name and h1.holiday_date between %s and %s
- and h2.name = %s""", (from_date, to_date, default_holiday_list))[0][0]
+ holiday_list = get_holiday_list_for_employee(employee)
- holiday_list, company = frappe.db.get_value('Employee', employee, ['holiday_list', 'company'])
- if holiday_list:
- holidays = get_from_holiday_list(from_date, to_date, holiday_list)
-
- else:
- default_holiday_list = frappe.db.get_value('Company', company, 'default_holiday_list')
-
- if default_holiday_list:
- holidays = get_from_holiday_list(from_date, to_date, default_holiday_list)
- else:
- frappe.throw(_('Please set a default holiday list for Employee {0} or Company {0}').format(employee, company))
+ holidays = frappe.db.sql("""select count(distinct holiday_date) from `tabHoliday` h1, `tabHoliday List` h2
+ where h1.parent = h2.name and h1.holiday_date between %s and %s
+ and h2.name = %s""", (from_date, to_date, holiday_list))[0][0]
return holidays