diff --git a/shiftregister/fallback/models.py b/shiftregister/fallback/models.py index fa5b7ce..c7b46b1 100644 --- a/shiftregister/fallback/models.py +++ b/shiftregister/fallback/models.py @@ -40,7 +40,9 @@ class TeamMember(models.Model): return urlsafe_b64encode(self.id.to_bytes(3, byteorder="big")).decode("utf-8") def assign_random_shifts(self): - needs_fallback = Q(deleted=False, calendar__needs_fallback=True) + needs_fallback = Q( + deleted=False, calendar__needs_fallback=True, calendar__restricted=False + ) current_tz = timezone.get_current_timezone() # create a datetime combining the last date having fallback shifts @@ -67,6 +69,9 @@ class TeamMember(models.Model): self._assign_from_bucket(night_shifts) self._assign_from_bucket(shit_shifts) + for calendar in Calendar.objects.filter(needs_fallback=True, restricted=True): + self._assign_from_bucket(Q(deleted=False, calendar=calendar)) + def _assign_from_bucket(self, bucket_selector): bucket = Event.objects.filter(bucket_selector).annotate( fallback_count=Count("fallbackassignment"),