From d513af37f3be8b50060dd343921919139aadeaaa Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 21:22:02 +0530 Subject: [PATCH] feat(util): add provision to get holidays except weekly offs from holiday list (backport #1011) (#1029) --------- Co-authored-by: Rucha Mahabal --- hrms/utils/holiday_list.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/hrms/utils/holiday_list.py b/hrms/utils/holiday_list.py index e813e35f83..1a69eb5352 100644 --- a/hrms/utils/holiday_list.py +++ b/hrms/utils/holiday_list.py @@ -1,11 +1,21 @@ import frappe -def get_holiday_dates_between(holiday_list: str, start_date: str, end_date: str) -> list: +def get_holiday_dates_between( + holiday_list: str, + start_date: str, + end_date: str, + skip_weekly_offs: bool = False, +) -> list: Holiday = frappe.qb.DocType("Holiday") - return ( + query = ( frappe.qb.from_(Holiday) .select(Holiday.holiday_date) .where((Holiday.parent == holiday_list) & (Holiday.holiday_date.between(start_date, end_date))) .orderby(Holiday.holiday_date) - ).run(pluck=True) + ) + + if skip_weekly_offs: + query = query.where(Holiday.weekly_off == 0) + + return query.run(pluck=True)