Source code for oioioi.similarsubmits.models

from django.db import models
from django.utils.translation import gettext_lazy as _

from oioioi.base.utils.deps import check_django_app_dependencies
from oioioi.contests.models import Contest, Submission

check_django_app_dependencies(__name__, ['oioioi.disqualification'], strict=True)


[docs]class SubmissionsSimilarityGroup(models.Model):
[docs] contest = models.ForeignKey( Contest, verbose_name=_("contest"), on_delete=models.CASCADE )
[docs] comment = models.TextField(blank=True, verbose_name=_("admin comment"))
[docs] class Meta(object):
[docs] verbose_name = _("submissions similarity")
[docs] verbose_name_plural = _("submissions similarities")
[docs]class SubmissionsSimilarityEntry(models.Model):
[docs] submission = models.ForeignKey( Submission, verbose_name=_("submission"), related_name='similarities', on_delete=models.CASCADE, )
[docs] group = models.ForeignKey( SubmissionsSimilarityGroup, verbose_name=_("group"), related_name='submissions', on_delete=models.CASCADE, )
[docs] guilty = models.BooleanField(default=True, verbose_name=_("guilty"))
[docs] class Meta(object):
[docs] verbose_name = _("submissions similarity entry")
[docs] verbose_name_plural = _("submissions similarity entries")
[docs] unique_together = (('submission', 'group'),)