"""
Конфигурация административной панели Django для моделей приложения core.
Определяет правила отображения, фильтрации и поиска в панели администратора
для документов, комментариев, профилей и системы наказаний.
"""
from django.contrib import admin
from .models import (
Document,
Comment,
UserPunishment,
Complaint,
Profile,
PasswordResetCode,
)
[документация]
@admin.register(Document)
class DocumentAdmin(admin.ModelAdmin):
"""Настройка админ-панели для управления документами."""
list_display = ("id", "title", "doc_type", "owner", "created_at", "updated_at")
search_fields = ("title", "owner__username")
list_filter = ("doc_type", "created_at")
[документация]
@admin.register(UserPunishment)
class UserPunishmentAdmin(admin.ModelAdmin):
"""Настройка админ-панели для управления банами и мутами пользователей."""
list_display = ("id", "user", "reports_count", "is_banned", "muted_until")
search_fields = ("user__username",)
list_filter = ("is_banned",)
[документация]
@admin.register(Complaint)
class ComplaintAdmin(admin.ModelAdmin):
"""Настройка админ-панели для просмотра и обработки жалоб."""
list_display = (
"id",
"reported_user",
"reporter",
"reason",
"created_at",
)
list_filter = ("created_at",)
search_fields = (
"reported_user__username",
"reporter__username",
"reason",
)
[документация]
@admin.register(Profile)
class ProfileAdmin(admin.ModelAdmin):
"""Настройка админ-панели для управления профилями и аватарами пользователей."""
list_display = ("id", "user", "avatar")
search_fields = ("user__username",)
[документация]
@admin.register(PasswordResetCode)
class PasswordResetCodeAdmin(admin.ModelAdmin):
"""Настройка админ-панели для отслеживания кодов восстановления паролей."""
list_display = ("id", "user", "code", "created_at")
search_fields = ("user__username", "code")