42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
|
|
from django.contrib import admin
|
||
|
|
from .models import Region, ModeratorApplication, ModeratorPermission, ModeratorSupport, PermissionRestriction
|
||
|
|
|
||
|
|
|
||
|
|
@admin.register(Region)
|
||
|
|
class RegionAdmin(admin.ModelAdmin):
|
||
|
|
list_display = ['name', 'level', 'parent', 'is_active', 'created_at']
|
||
|
|
list_filter = ['level', 'is_active']
|
||
|
|
search_fields = ['name']
|
||
|
|
ordering = ['level', 'name']
|
||
|
|
|
||
|
|
|
||
|
|
@admin.register(ModeratorApplication)
|
||
|
|
class ModeratorApplicationAdmin(admin.ModelAdmin):
|
||
|
|
list_display = ['applicant', 'region', 'status', 'support_count', 'required_support', 'deadline', 'created_at']
|
||
|
|
list_filter = ['status', 'region']
|
||
|
|
search_fields = ['applicant__username', 'region__name']
|
||
|
|
ordering = ['-created_at']
|
||
|
|
|
||
|
|
|
||
|
|
@admin.register(ModeratorPermission)
|
||
|
|
class ModeratorPermissionAdmin(admin.ModelAdmin):
|
||
|
|
list_display = ['moderator', 'region', 'rank', 'status', 'created_at']
|
||
|
|
list_filter = ['rank', 'status']
|
||
|
|
search_fields = ['moderator__username', 'region__name']
|
||
|
|
ordering = ['-created_at']
|
||
|
|
|
||
|
|
|
||
|
|
@admin.register(ModeratorSupport)
|
||
|
|
class ModeratorSupportAdmin(admin.ModelAdmin):
|
||
|
|
list_display = ['supporter', 'application', 'created_at']
|
||
|
|
search_fields = ['supporter__username', 'application__region__name']
|
||
|
|
ordering = ['-created_at']
|
||
|
|
|
||
|
|
|
||
|
|
@admin.register(PermissionRestriction)
|
||
|
|
class PermissionRestrictionAdmin(admin.ModelAdmin):
|
||
|
|
list_display = ['restricted_moderator', 'restriction_type', 'operator', 'started_at', 'ended_at']
|
||
|
|
list_filter = ['restriction_type']
|
||
|
|
search_fields = ['restricted_moderator__username', 'operator__username']
|
||
|
|
ordering = ['-started_at']
|