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

Address findings

parent bf157dc3
No related branches found
No related tags found
1 merge request!7Encapsulate discretization in Event::discretize_timeslots
Pipeline #269196 passed
This commit is part of merge request !7. Comments created here will be created in the context of that merge request.
...@@ -383,6 +383,16 @@ class Event(models.Model): ...@@ -383,6 +383,16 @@ class Event(models.Model):
) )
def discretize_timeslots(self, *, slots_in_an_hour: float = 1.0) -> Iterable[TimeslotBlock]: def discretize_timeslots(self, *, slots_in_an_hour: float = 1.0) -> Iterable[TimeslotBlock]:
""""Choose discretization scheme.
Uses default_time_slots if the event has any DefaultSlot, otherwise uniform_time_slots.
:param slots_in_an_hour: The percentage of an hour covered by a single slot.
Determines the discretization granularity.
:yield: Block of optimizer timeslots as the discretization result.
:ytype: list of TimeslotBlock
"""
if DefaultSlot.objects.filter(event=self).exists(): if DefaultSlot.objects.filter(event=self).exists():
# discretize default slots if they exists # discretize default slots if they exists
yield from merge_blocks(self.default_time_slots(slots_in_an_hour=slots_in_an_hour)) yield from merge_blocks(self.default_time_slots(slots_in_an_hour=slots_in_an_hour))
......
...@@ -9,7 +9,7 @@ from django.views.generic import ListView, DetailView ...@@ -9,7 +9,7 @@ from django.views.generic import ListView, DetailView
from AKModel.availability.models import Availability from AKModel.availability.models import Availability
from AKModel.metaviews.admin import AdminViewMixin, FilterByEventSlugMixin, EventSlugMixin, IntermediateAdminView, \ from AKModel.metaviews.admin import AdminViewMixin, FilterByEventSlugMixin, EventSlugMixin, IntermediateAdminView, \
IntermediateAdminActionView IntermediateAdminActionView
from AKModel.models import AKRequirement, AKSlot, DefaultSlot, Event, AKOrgaMessage, AK, Room, AKOwner, merge_blocks from AKModel.models import AKRequirement, AKSlot, Event, AKOrgaMessage, AK, Room, AKOwner
class AKRequirementOverview(AdminViewMixin, FilterByEventSlugMixin, ListView): class AKRequirementOverview(AdminViewMixin, FilterByEventSlugMixin, ListView):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment