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

Refactor

parent 6df70c28
No related branches found
No related tags found
2 merge requests!4Draft: Add object import from JSON data,!3Merge into fork's `main` branch
...@@ -86,9 +86,9 @@ class AKJSONExportView(AdminViewMixin, FilterByEventSlugMixin, ListView): ...@@ -86,9 +86,9 @@ class AKJSONExportView(AdminViewMixin, FilterByEventSlugMixin, ListView):
} }
ak_fixed = { ak_fixed = {
ak: values.get() ak_id: values.get()
for ak in ak_availabilities.keys() for ak_id in ak_availabilities.keys()
if (values := AKSlot.objects.select_related().filter(ak__pk=ak, fixed=True)).exists() if (values := AKSlot.objects.select_related().filter(ak__pk=ak_id, fixed=True)).exists()
} }
def _test_slot_contained(slot: Availability, availabilities: List[Availability]) -> bool: def _test_slot_contained(slot: Availability, availabilities: List[Availability]) -> bool:
...@@ -97,11 +97,11 @@ class AKJSONExportView(AdminViewMixin, FilterByEventSlugMixin, ListView): ...@@ -97,11 +97,11 @@ class AKJSONExportView(AdminViewMixin, FilterByEventSlugMixin, ListView):
def _test_event_covered(slot: Availability, availabilities: List[Availability]) -> bool: def _test_event_covered(slot: Availability, availabilities: List[Availability]) -> bool:
return not Availability.is_event_covered(self.event, availabilities) return not Availability.is_event_covered(self.event, availabilities)
def _test_fixed_ak(ak, slot) -> bool: def _test_fixed_ak(ak_id, slot: Availability) -> bool:
if not ak in ak_fixed: if not ak_id in ak_fixed:
return False return False
fixed_slot = Availability(self.event, start=ak_fixed[ak].start, end=ak_fixed[ak].end) fixed_slot = Availability(self.event, start=ak_fixed[ak_id].start, end=ak_fixed[ak_id].end)
return fixed_slot.overlaps(slot, strict=True) return fixed_slot.overlaps(slot, strict=True)
def _test_add_constraint(slot: Availability, availabilities: List[Availability]) -> bool: def _test_add_constraint(slot: Availability, availabilities: List[Availability]) -> bool:
...@@ -118,17 +118,17 @@ class AKJSONExportView(AdminViewMixin, FilterByEventSlugMixin, ListView): ...@@ -118,17 +118,17 @@ class AKJSONExportView(AdminViewMixin, FilterByEventSlugMixin, ListView):
if self.event.reso_deadline is None or slot.end < self.event.reso_deadline: if self.event.reso_deadline is None or slot.end < self.event.reso_deadline:
constraints.append("resolution") constraints.append("resolution")
for ak, availabilities in ak_availabilities.items(): for ak_id, availabilities in ak_availabilities.items():
if _test_add_constraint(slot, availabilities) or _test_fixed_ak(ak, slot): if _test_add_constraint(slot, availabilities) or _test_fixed_ak(ak_id, slot):
constraints.append(f"availability-ak-{ak}") constraints.append(f"availability-ak-{ak_id}")
for person, availabilities in person_availabilities.items(): for person_id, availabilities in person_availabilities.items():
if _test_add_constraint(slot, availabilities): if _test_add_constraint(slot, availabilities):
constraints.append(f"availability-person-{person}") constraints.append(f"availability-person-{person_id}")
for person, availabilities in room_availabilities.items(): for room_id, availabilities in room_availabilities.items():
if _test_add_constraint(slot, availabilities): if _test_add_constraint(slot, availabilities):
constraints.append(f"availability-room-{room}") constraints.append(f"availability-room-{room_id}")
current_block.append({ current_block.append({
"id": str(slot_index), "id": str(slot_index),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment