Source code for oioioi.teachers.models
from django.conf import settings
from django.contrib.auth.models import User
from django.core.exceptions import ImproperlyConfigured
from django.db import models
from django.utils.translation import gettext_lazy as _
from oioioi.base.utils import generate_key
from oioioi.base.utils.deps import check_django_app_dependencies
from oioioi.contests.models import Contest
check_django_app_dependencies(__name__, ['oioioi.participants'])
if 'oioioi.teachers.auth.TeacherAuthBackend' not in settings.AUTHENTICATION_BACKENDS:
raise ImproperlyConfigured(
"When using teacher module you have to activate TeacherAuthBackend"
)
[docs]class Teacher(models.Model):
[docs] user = models.OneToOneField(
User, primary_key=True, verbose_name=_("user"), on_delete=models.CASCADE
)
[docs]class RegistrationConfig(models.Model):
def __init__(self, *args, **kwargs):
super(RegistrationConfig, self).__init__(*args, **kwargs)
if not self.teacher_key:
self.teacher_key = generate_key()
if not self.pupil_key:
self.pupil_key = generate_key()