Skip to content
Snippets Groups Projects
Commit 17ef3a09 authored by Felix Blanke's avatar Felix Blanke
Browse files

Sort export lists to make dict eq test reliable

parent 0fc274f2
No related branches found
No related tags found
1 merge request!268Merge fork for interoperability of KoMa solver
......@@ -548,8 +548,8 @@ class Event(models.Model):
"blocks": [],
}
rooms = Room.objects.filter(event=self)
slots = AKSlot.objects.filter(event=self)
rooms = Room.objects.filter(event=self).order_by()
slots = AKSlot.objects.filter(event=self).order_by()
ak_availabilities = {
ak.pk: Availability.union(ak.availabilities.all())
......@@ -626,7 +626,7 @@ class Event(models.Model):
"start": timeslot.avail.start.astimezone(self.timezone).strftime("%Y-%m-%d %H:%M"),
"end": timeslot.avail.end.astimezone(self.timezone).strftime("%Y-%m-%d %H:%M"),
},
"fulfilled_time_constraints": time_constraints,
"fulfilled_time_constraints": sorted(time_constraints),
})
timeslots["blocks"].append(current_block)
......@@ -1092,6 +1092,7 @@ class Room(models.Model):
if not any(constr.startswith("proxy") for constr in data["fulfilled_room_constraints"]):
data["fulfilled_room_constraints"].append("no-proxy")
data["fulfilled_room_constraints"].sort()
return data
......@@ -1229,9 +1230,11 @@ class AKSlot(models.Model):
"duration": math.ceil(self.duration / self.event.export_slot - ceil_offet_eps),
"properties": {
"conflicts":
sorted(
[conflict.pk for conflict in conflict_slots.all()]
+ [second_slot.pk for second_slot in other_ak_slots.all()],
"dependencies": [dep.pk for dep in dependency_slots.all()],
+ [second_slot.pk for second_slot in other_ak_slots.all()]
),
"dependencies": sorted([dep.pk for dep in dependency_slots.all()]),
},
"room_constraints": [constraint.name
for constraint in self.ak.requirements.all()],
......@@ -1262,6 +1265,9 @@ class AKSlot(models.Model):
if not any(constr.startswith("proxy") for constr in data["room_constraints"]):
data["room_constraints"].append("no-proxy")
data["room_constraints"].sort()
data["time_constraints"].sort()
return data
class AKOrgaMessage(models.Model):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment