Source code for oioioi.contestlogo.admin

from django.urls import reverse
from django.utils.translation import gettext_lazy as _

from oioioi.base import admin
from oioioi.base.utils import make_html_link
from oioioi.contestlogo.models import ContestIcon, ContestLogo
from oioioi.contests.admin import ContestAdmin


[docs]class ContestLogoInline(admin.TabularInline):
[docs] model = ContestLogo
[docs] readonly_fields = ['logo_link']
[docs] exclude = ['updated_at']
[docs] category = _("Advanced")
[docs] logo_link.short_description = _("Filename")
[docs]class ContestLogoAdminMixin(object): """Adds :class:`~oioioi.contestlogo.models.ContestLogo` to an admin panel.""" def __init__(self, *args, **kwargs): super(ContestLogoAdminMixin, self).__init__(*args, **kwargs) self.inlines = tuple(self.inlines) + (ContestLogoInline,)
ContestAdmin.mix_in(ContestLogoAdminMixin)
[docs]class ContestIconInline(admin.TabularInline):
[docs] model = ContestIcon
[docs] extra = 0
[docs] readonly_fields = ['icon_link']
[docs] exclude = ['updated_at']
[docs] category = _("Advanced")
[docs] icon_link.short_description = _("Filename")
[docs]class ContestIconAdminMixin(object): """Adds :class:`~oioioi.contestlogo.models.ContestIcon` to an admin panel.""" def __init__(self, *args, **kwargs): super(ContestIconAdminMixin, self).__init__(*args, **kwargs) self.inlines = tuple(self.inlines) + (ContestIconInline,)
ContestAdmin.mix_in(ContestIconAdminMixin)