Source code for oioioi.ipauthsync.controllers
from oioioi.contests.controllers import ContestController
from oioioi.participants.controllers import OnsiteRegistrationController
from oioioi.participants.utils import is_onsite_contest
[docs]class IpAuthSyncControllerMixin(object):
"""ContestController mixin that sets up the ipauthsync app."""
[docs] def mixins_for_admin(self):
from oioioi.ipauthsync.admin import ContestAdminWithIpAuthSyncInlineMixin
mixins = super(IpAuthSyncControllerMixin, self).mixins_for_admin()
if is_onsite_contest(self.contest):
mixins = mixins + (ContestAdminWithIpAuthSyncInlineMixin,)
return mixins
ContestController.mix_in(IpAuthSyncControllerMixin)
[docs]class IpAuthSyncRegistrationControllerMixin(object):
"""RegistrationController mixin that adds a functionality to validate IP
address.
"""
[docs] def ipauthsync_validate_ip(self, region, ip, user):
"""Validates IP reported by a region server.
Should raise an exception if the returned IP does not look like
a correct IP address from the given region.
"""
pass
OnsiteRegistrationController.mix_in(IpAuthSyncRegistrationControllerMixin)