From cf1c8f4d0f50c0390329283189e04fe13d3aad55 Mon Sep 17 00:00:00 2001 From: Horilla Date: Mon, 16 Sep 2024 15:17:35 +0530 Subject: [PATCH] [UPDT] LEAVE: Add try except for django signal update_available --- leave/models.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/leave/models.py b/leave/models.py index 446382646..1fdc67bf6 100644 --- a/leave/models.py +++ b/leave/models.py @@ -1,4 +1,5 @@ import calendar +import logging import math import operator import threading @@ -37,6 +38,8 @@ from horilla_audit.models import HorillaAuditInfo, HorillaAuditLog from leave.methods import calculate_requested_days from leave.threading import LeaveClashThread +logger = logging.getLogger(__name__) + operator_mapping = { "equal": operator.eq, "notequal": operator.ne, @@ -1210,11 +1213,15 @@ def update_available(sender, instance, **kwargs): _sender = sender def update_leaves(): - available_leaves = instance.employee_id.available_leave.filter( - leave_type_id=instance.leave_type_id - ) - for assigned in available_leaves: - assigned.save() + try: + if instance.leave_type_id: + available_leaves = instance.employee_id.available_leave.filter( + leave_type_id=instance.leave_type_id + ) + for assigned in available_leaves: + assigned.save() + except Exception as e: + pass thread = threading.Thread(target=update_leaves) thread.start()