Source code for oioioi.ipdnsauth.models

from django.contrib.auth.models import User
from django.db import models

from django.utils.translation import gettext_lazy as _

from oioioi.base.utils.deps import check_django_app_dependencies

check_django_app_dependencies(__name__, ['oioioi.contestexcl'])



[docs]class IpToUser(models.Model): """Represents mapping for automatic authorization based on IP address."""
[docs] ip_addr = models.GenericIPAddressField( unique=True, unpack_ipv4=True, verbose_name=_("IP address") )
[docs] user = models.ForeignKey(User, on_delete=models.CASCADE)
[docs] class Meta(object):
[docs] verbose_name = _("IP autoauth mapping")
[docs] verbose_name_plural = _("IP autoauth mappings")
[docs] def __str__(self): return str(self.ip_addr)
[docs]class DnsToUser(models.Model): """Represents mapping for automatic authorization based on DNS hostname."""
[docs] dns_name = models.CharField( unique=True, max_length=255, verbose_name=_("DNS hostname") )
[docs] user = models.ForeignKey(User, on_delete=models.CASCADE)
[docs] class Meta(object):
[docs] verbose_name = _("DNS autoauth mapping")
[docs] verbose_name_plural = _("DNS autoauth mappings")
[docs] def __str__(self): return str(self.dns_name)