Skip to content

Commit 87854a9

Browse files
authored
Merge pull request #1026 from thecourseforum/time-filter-fix
fixed time filter not working when date is empty
2 parents a0bebd2 + 9a1eb26 commit 87854a9

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

tcf_website/models/models.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -666,9 +666,12 @@ def filter_by_time(cls, days=None, start_time=None, end_time=None):
666666
"""Filter courses by available times."""
667667
query = cls.objects.all()
668668

669+
# Get the latest semester
670+
current_semester = Semester.latest()
671+
672+
section_conditions = Q(section__semester=current_semester)
673+
669674
if days:
670-
# Get the latest semester
671-
current_semester = Semester.latest()
672675

673676
# Map day codes to field names
674677
day_map = {
@@ -680,21 +683,18 @@ def filter_by_time(cls, days=None, start_time=None, end_time=None):
680683
}
681684

682685
# Get unavailable days
683-
unavailable_days = {day_map[d] for d in days if d in day_map} # {monday, wednesday}
686+
unavailable_days = {day_map[d] for d in days if d in day_map}
684687

685688
# Filter for sections that don't meet on unavailable days
686-
section_conditions = Q(section__semester=current_semester)
687-
688689
for day in unavailable_days:
689690
section_conditions &= Q(**{f"section__sectiontime__{day}": False})
690691

691-
if start_time:
692-
section_conditions &= Q(section__sectiontime__start_time__gte=start_time)
693-
if end_time:
694-
section_conditions &= Q(section__sectiontime__end_time__lte=end_time)
695-
696-
query = query.filter(section_conditions)
692+
if start_time:
693+
section_conditions &= Q(section__sectiontime__start_time__gte=start_time)
694+
if end_time:
695+
section_conditions &= Q(section__sectiontime__end_time__lte=end_time)
697696

697+
query = query.filter(section_conditions)
698698
return query.distinct()
699699

700700
class Meta:

0 commit comments

Comments
 (0)