Skip to content
Snippets Groups Projects

Dashboard widget for SMART PLAN

Merged Jonathan Weth requested to merge feature/smart-plan-dashboard-widget into master
All threads resolved!
3 files
+ 90
60
Compare changes
  • Side-by-side
  • Inline
Files
3
from aleksis.core.models import Person
from typing import Optional, Union
from aleksis.core.models import Person, Group
from .models import Lesson, LessonPeriod
@@ -10,6 +12,32 @@ def is_teacher(self):
return self.lesson_periods_as_teacher.exists()
@Person.property
def timetable_type(self) -> Optional[str]:
""" Return which type of timetable this user has """
if self.is_teacher:
return "teacher"
elif self.primary_group:
return "group"
else:
return None
@Person.property
def timetable_object(self) -> Optional[Union[Group, Person]]:
""" Return the object which has the user's timetable """
type_ = self.timetable_type
if type_ == "teacher":
return self
elif type_ == "group":
return self.primary_group
else:
return None
@Person.property
def lessons_as_participant(self):
""" Return a `QuerySet` containing all `Lesson`s this person
Loading