diff --git a/AKModel/models.py b/AKModel/models.py index 173c27459f09f085b3fd4216876ecce740736b6c..2a80cef73c97600fc5f8c4013fda227bbf397c49 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -383,6 +383,16 @@ class Event(models.Model): ) 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(): # discretize default slots if they exists yield from merge_blocks(self.default_time_slots(slots_in_an_hour=slots_in_an_hour)) diff --git a/AKModel/views/ak.py b/AKModel/views/ak.py index 859120bacdb493a2eb062bc2ad1ce355c0da0836..1d60717b94a124731c542824d2f75110bcdb2389 100644 --- a/AKModel/views/ak.py +++ b/AKModel/views/ak.py @@ -9,7 +9,7 @@ from django.views.generic import ListView, DetailView from AKModel.availability.models import Availability from AKModel.metaviews.admin import AdminViewMixin, FilterByEventSlugMixin, EventSlugMixin, IntermediateAdminView, \ 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):