hints.py 1.56 KiB
import datetime
from timetable.models import Hint
def get_all_hints_by_date(date):
hints = filter_date(date)
return hints
def get_all_hints_by_class_and_time_period(_class, from_date, to_date):
hints_tmp = get_all_hints_by_time_period(from_date, to_date)
hints_match = []
for hint in hints_tmp:
if _class.id in [x.class_id for x in hint.classes.all()]:
hints_match.append(hint)
return hints_match
def get_all_hints_for_teachers_by_time_period(from_date, to_date):
hints_tmp = get_all_hints_by_time_period(from_date, to_date)
hints_match = []
for hint in hints_tmp:
if hint.teachers:
hints_match.append(hint)
return hints_match
def get_all_hints_not_for_teachers_by_time_period(from_date, to_date):
hints_tmp = get_all_hints_by_time_period(from_date, to_date)
hints_match = []
for hint in hints_tmp:
if not hint.teachers:
hints_match.append(hint)
return hints_match
def get_all_hints_by_time_period(from_date, to_date):
print(from_date, to_date)
delta = to_date - from_date
print(delta.days + 1)
week_days = [from_date + datetime.timedelta(days=i) for i in range(delta.days + 1)]
hints = []
for week_day in week_days:
hints_tmp = get_all_hints_by_date(week_day)
for hint in hints_tmp:
if hint not in hints:
hints.append(hint)
print(hints)
return hints
def filter_date(date):
hints = Hint.objects.filter(from_date__lte=date, to_date__gte=date).order_by("from_date", "classes")
return hints