[FIX] LEAVE: Prevent duplicate compensatory leave types by excluding current instance in model validation

This commit is contained in:
Horilla
2025-06-30 14:56:41 +05:30
parent 8a74adc6e8
commit 0da929ff0c

View File

@@ -281,8 +281,14 @@ class LeaveType(HorillaModel):
def clean(self, *args, **kwargs): def clean(self, *args, **kwargs):
if self.is_compensatory_leave: if self.is_compensatory_leave:
if LeaveType.objects.filter(is_compensatory_leave=True).count() >= 1: if (
raise ValidationError(_("Compensatory Leave Request already exists.")) LeaveType.objects.filter(is_compensatory_leave=True)
.exclude(pk=self.pk)
.exists()
):
raise ValidationError(
{"name": _("Compensatory Leave Request already exists.")}
)
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if ( if (