Source code for oioioi.complaints.admin

from django.utils.translation import gettext_lazy as _

from oioioi.base import admin
from oioioi.complaints.models import ComplaintsConfig
from oioioi.contests.admin import ContestAdmin
from oioioi.contests.utils import is_contest_admin


[docs]class ComplaintsConfigInline(admin.TabularInline):
[docs] model = ComplaintsConfig
[docs] category = _("Advanced")
[docs] def has_add_permission(self, request, obj=None): return is_contest_admin(request)
[docs] def has_change_permission(self, request, obj=None): return is_contest_admin(request)
[docs] def has_delete_permission(self, request, obj=None): return is_contest_admin(request)
[docs]class ComplaintsAdminMixin(object): """Adds :class:`~oioioi.complaints.models.ComplaintConfig` to an admin panel. """ def __init__(self, *args, **kwargs): super(ComplaintsAdminMixin, self).__init__(*args, **kwargs) self.inlines = tuple(self.inlines) + (ComplaintsConfigInline,)
ContestAdmin.mix_in(ComplaintsAdminMixin)