You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
4.8 KiB
116 lines
4.8 KiB
from django.contrib import admin
|
|
|
|
from tournaments.models import team_registration
|
|
from tournaments.models.device_token import DeviceToken
|
|
|
|
from .models import Club, TeamScore, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamRegistration, PlayerRegistration, Purchase, Court, DateInterval, FailedApiCall, Log, ModelLog
|
|
from django.contrib.auth.admin import UserAdmin
|
|
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
|
|
|
|
from .forms import CustomUserCreationForm, CustomUserChangeForm
|
|
|
|
from .filters import TeamScoreTournamentListFilter, MatchTournamentListFilter, SimpleTournamentListFilter, MatchTypeListFilter, SimpleIndexListFilter
|
|
|
|
|
|
class CustomUserAdmin(UserAdmin):
|
|
form = CustomUserChangeForm
|
|
add_form = CustomUserCreationForm
|
|
model = CustomUser
|
|
list_display = ['email', 'username', 'is_active', 'is_staff', 'first_name', 'last_name', 'date_joined', 'event_count']
|
|
fieldsets = [
|
|
(None, {'fields': ['id', 'username', 'email', 'password', 'first_name', 'last_name', 'is_active',
|
|
'clubs', 'country', 'phone', 'licence_id', 'umpire_code',
|
|
'summons_message_body', 'summons_message_signature', 'summons_available_payment_methods',
|
|
'summons_display_format', 'summons_display_entry_fee', 'summons_use_full_custom_message',
|
|
'match_formats_default_duration', 'bracket_match_format_preference', 'group_stage_match_format_preference',
|
|
'loser_bracket_match_format_preference', 'device_id'
|
|
]}),
|
|
]
|
|
add_fieldsets = [
|
|
(
|
|
None,
|
|
{
|
|
"classes": ["wide"],
|
|
"fields": ['username', 'email', 'password1', 'password2', 'first_name', 'last_name', 'clubs', 'country', 'phone', 'licence_id', 'umpire_code', ],
|
|
},
|
|
),
|
|
]
|
|
|
|
class EventAdmin(admin.ModelAdmin):
|
|
list_display = ['creation_date', 'name', 'club', 'creator']
|
|
list_filter = ['creator']
|
|
|
|
class TournamentAdmin(admin.ModelAdmin):
|
|
list_display = ['display_name', 'event', 'is_private', 'start_date', 'payment', 'is_canceled']
|
|
list_filter = ['is_deleted']
|
|
|
|
class TeamRegistrationAdmin(admin.ModelAdmin):
|
|
list_display = ['player_names', 'group_stage_position', 'name', 'tournament']
|
|
list_filter = [SimpleTournamentListFilter]
|
|
|
|
class TeamScoreAdmin(admin.ModelAdmin):
|
|
list_display = ['team_registration', 'score', 'walk_out', 'match']
|
|
list_filter = [TeamScoreTournamentListFilter]
|
|
|
|
class RoundAdmin(admin.ModelAdmin):
|
|
list_display = ['tournament', 'name', 'index', 'parent']
|
|
list_filter = [SimpleTournamentListFilter, SimpleIndexListFilter]
|
|
search_fields = ['id']
|
|
|
|
class PlayerRegistrationAdmin(admin.ModelAdmin):
|
|
list_display = ['first_name', 'last_name', 'licence_id', 'rank']
|
|
search_fields = ('first_name', 'last_name')
|
|
|
|
class MatchAdmin(admin.ModelAdmin):
|
|
list_display = ['__str__', 'round', 'group_stage', 'start_date', 'index']
|
|
list_filter = [MatchTypeListFilter, MatchTournamentListFilter, SimpleIndexListFilter]
|
|
|
|
class GroupStageAdmin(admin.ModelAdmin):
|
|
list_display = ['tournament', 'index', 'start_date']
|
|
list_filter = [SimpleTournamentListFilter]
|
|
|
|
class ClubAdmin(admin.ModelAdmin):
|
|
list_display = ['name', 'acronym', 'city', 'creator', 'events_count', 'broadcast_code']
|
|
search_fields = ('name', 'acronym')
|
|
|
|
class PurchaseAdmin(admin.ModelAdmin):
|
|
list_display = ['user', 'identifier', 'product_id', 'quantity', 'purchase_date', 'revocation_date']
|
|
|
|
class CourtAdmin(admin.ModelAdmin):
|
|
list_display = ['index', 'name', 'club']
|
|
|
|
class DateIntervalAdmin(admin.ModelAdmin):
|
|
list_display = ['court_index', 'event']
|
|
|
|
class FailedApiCallAdmin(admin.ModelAdmin):
|
|
list_display = ['date', 'user', 'type', 'error']
|
|
list_filter = ['user']
|
|
|
|
class LogAdmin(admin.ModelAdmin):
|
|
list_display = ['date', 'user', 'message']
|
|
list_filter = ['user']
|
|
|
|
class DeviceTokenAdmin(admin.ModelAdmin):
|
|
list_display = ['user', 'value']
|
|
|
|
class ModelLogAdmin(admin.ModelAdmin):
|
|
list_display = ['user', 'date', 'operation', 'model_id', 'model_name']
|
|
list_filter = ['user']
|
|
|
|
admin.site.register(CustomUser, CustomUserAdmin)
|
|
admin.site.register(Club, ClubAdmin)
|
|
admin.site.register(Event, EventAdmin)
|
|
admin.site.register(Round, RoundAdmin)
|
|
admin.site.register(GroupStage, GroupStageAdmin)
|
|
admin.site.register(Match, MatchAdmin)
|
|
admin.site.register(TeamScore, TeamScoreAdmin)
|
|
admin.site.register(TeamRegistration, TeamRegistrationAdmin)
|
|
admin.site.register(Tournament, TournamentAdmin)
|
|
admin.site.register(PlayerRegistration, PlayerRegistrationAdmin)
|
|
admin.site.register(Purchase, PurchaseAdmin)
|
|
admin.site.register(Court, CourtAdmin)
|
|
admin.site.register(DateInterval, DateIntervalAdmin)
|
|
admin.site.register(FailedApiCall, FailedApiCallAdmin)
|
|
admin.site.register(Log, LogAdmin)
|
|
admin.site.register(DeviceToken, DeviceTokenAdmin)
|
|
admin.site.register(ModelLog, ModelLogAdmin)
|
|
|