Add helper functions to find the teacher of a user
This commit is contained in:
parent
371c5cd276
commit
9e4784e5d8
|
|
@ -37,6 +37,14 @@ class User(AbstractUser):
|
||||||
def users_in_same_school_class(self):
|
def users_in_same_school_class(self):
|
||||||
return User.objects.filter(school_classes__users=self.pk)
|
return User.objects.filter(school_classes__users=self.pk)
|
||||||
|
|
||||||
|
def get_teacher(self):
|
||||||
|
if self.user_roles.filter(role__key='teacher').exists():
|
||||||
|
return self
|
||||||
|
elif self.school_classes.count()>0:
|
||||||
|
return self.school_classes.first().get_teacher()
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
|
||||||
def selected_class(self):
|
def selected_class(self):
|
||||||
try:
|
try:
|
||||||
settings = UserSetting.objects.get(user=self)
|
settings = UserSetting.objects.get(user=self)
|
||||||
|
|
@ -65,6 +73,9 @@ class SchoolClass(models.Model):
|
||||||
def is_user_in_schoolclass(self, user):
|
def is_user_in_schoolclass(self, user):
|
||||||
return user.is_superuser or user.school_classes.filter(pk=self.id).count() > 0
|
return user.is_superuser or user.school_classes.filter(pk=self.id).count() > 0
|
||||||
|
|
||||||
|
def get_teacher(self):
|
||||||
|
return self.users.filter(user_roles__role__key='teacher').first()
|
||||||
|
|
||||||
|
|
||||||
class Role(models.Model):
|
class Role(models.Model):
|
||||||
key = models.CharField(_('Key'), max_length=100, blank=False, null=False, unique=True)
|
key = models.CharField(_('Key'), max_length=100, blank=False, null=False, unique=True)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue