From 1b5edcbbd8cf1d72080230ffd43251e9e66887dd Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Fri, 25 Mar 2016 11:22:15 +0530 Subject: [PATCH] [fix] holiday_list issues in maintenance schedule too --- erpnext/hr/doctype/employee/employee.py | 7 +++---- .../leave_application/leave_application.py | 19 ++++--------------- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py index db580f4d15..9e6afff8bb 100755 --- a/erpnext/hr/doctype/employee/employee.py +++ b/erpnext/hr/doctype/employee/employee.py @@ -229,14 +229,13 @@ def get_employees_who_are_born_today(): 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 a28da1993f..6882034b0d 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_leave_allocation_records(date, employee=None): 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