From d2d1b09c10614a85b079d36fbbba17b1caa514d7 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 26 Jan 2024 14:16:49 +0530 Subject: [PATCH] fix: consider holiday list for SLA --- .../crm_service_level_agreement.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.py b/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.py index c2072535..d8f3f669 100644 --- a/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.py +++ b/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.py @@ -114,7 +114,7 @@ class CRMServiceLevelAgreement(Document): ): res = get_datetime(start_at) time_needed = duration_seconds - holidays = [] + holidays = self.get_holidays() weekdays = get_weekdays() workdays = self.get_workdays() while time_needed: @@ -214,3 +214,12 @@ class CRMServiceLevelAgreement(Document): start_time, end_time = working_hours.get(day_of_week, (0, 0)) date_time = timedelta(hours=date_time.hour, minutes=date_time.minute, seconds=date_time.second) return start_time <= date_time < end_time + + def get_holidays(self): + res = [] + if not self.holiday_list: + return res + holiday_list = frappe.get_doc("CRM Holiday List", self.holiday_list) + for row in holiday_list.holidays: + res.append(row.date) + return res