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()