diff --git a/AKModel/models.py b/AKModel/models.py index ea5461bfa54bbafe3a4b357b044eb07fef19ca7c..c51b75566c43840c679de07e3a9231acf6e5365b 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -957,6 +957,7 @@ class AKSlot(models.Model): conflict_slots = AKSlot.objects.filter(ak__in=self.ak.conflicts.all()) dependency_slots = AKSlot.objects.filter(ak__in=self.ak.prerequisites.all()) + other_ak_slots = AKSlot.objects.filter(ak=self.ak).exclude(pk=self.pk) ceil_offet_eps = decimal.Decimal(1e-4) @@ -965,7 +966,9 @@ class AKSlot(models.Model): "id": str(self.pk), "duration": math.ceil(self.duration * self.slots_in_an_hour - ceil_offet_eps), "properties": { - "conflicts": [str(conflict.pk) for conflict in conflict_slots.all()], + "conflicts": + [str(conflict.pk) for conflict in conflict_slots.all()] + + [str(second_slot.pk) for second_slot in other_ak_slots.all()], "dependencies": [str(dep.pk) for dep in dependency_slots.all()], }, "room_constraints": [constraint.name @@ -978,6 +981,7 @@ class AKSlot(models.Model): "description": self.ak.description, "reso": self.ak.reso, "duration_in_hours": float(self.duration), + "django_ak_id": str(self.ak.pk), }, }