|
|
|
|
@ -1,7 +1,10 @@ |
|
|
|
|
from django.contrib import admin |
|
|
|
|
|
|
|
|
|
from django.contrib.auth.admin import UserAdmin |
|
|
|
|
from django.utils import timezone |
|
|
|
|
from django.contrib.admin.models import LogEntry, ADDITION, CHANGE, DELETION |
|
|
|
|
from django.utils.html import escape |
|
|
|
|
from django.urls import reverse |
|
|
|
|
from django.utils.safestring import mark_safe |
|
|
|
|
|
|
|
|
|
from .models import Club, TeamScore, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamRegistration, PlayerRegistration, Purchase, Court, DateInterval, FailedApiCall, Log, DeviceToken, DrawLog, UnregisteredTeam, UnregisteredPlayer |
|
|
|
|
from .forms import CustomUserCreationForm, CustomUserChangeForm |
|
|
|
|
@ -154,6 +157,50 @@ class UnregisteredPlayerAdmin(admin.ModelAdmin): |
|
|
|
|
list_filter = [] |
|
|
|
|
ordering = ['last_name', 'first_name'] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
action_flags = { |
|
|
|
|
ADDITION: 'Addition', |
|
|
|
|
CHANGE: 'Change', |
|
|
|
|
DELETION: 'Deletion', |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@admin.register(LogEntry) |
|
|
|
|
class LogEntryAdmin(admin.ModelAdmin): |
|
|
|
|
date_hierarchy = 'action_time' |
|
|
|
|
list_filter = ['user', 'content_type', 'action_flag'] |
|
|
|
|
search_fields = ['object_repr', 'change_message'] |
|
|
|
|
list_display = ['action_time', 'user', 'content_type', 'object_link', 'action_flag_display', 'change_message'] |
|
|
|
|
readonly_fields = [field.name for field in LogEntry._meta.get_fields()] |
|
|
|
|
|
|
|
|
|
def has_add_permission(self, request): |
|
|
|
|
return False |
|
|
|
|
|
|
|
|
|
def has_change_permission(self, request, obj=None): |
|
|
|
|
return False |
|
|
|
|
|
|
|
|
|
def has_delete_permission(self, request, obj=None): |
|
|
|
|
return False |
|
|
|
|
|
|
|
|
|
def object_link(self, obj): |
|
|
|
|
if obj.action_flag == DELETION: |
|
|
|
|
link = escape(obj.object_repr) |
|
|
|
|
else: |
|
|
|
|
ct = obj.content_type |
|
|
|
|
try: |
|
|
|
|
link = '<a href="%s">%s</a>' % ( |
|
|
|
|
reverse('admin:%s_%s_change' % (ct.app_label, ct.model), |
|
|
|
|
args=[obj.object_id]), |
|
|
|
|
escape(obj.object_repr), |
|
|
|
|
) |
|
|
|
|
except: |
|
|
|
|
link = escape(obj.object_repr) |
|
|
|
|
return mark_safe(link) |
|
|
|
|
object_link.short_description = 'Object' |
|
|
|
|
|
|
|
|
|
def action_flag_display(self, obj): |
|
|
|
|
return action_flags.get(obj.action_flag, '') |
|
|
|
|
action_flag_display.short_description = 'Action' |
|
|
|
|
|
|
|
|
|
admin.site.register(CustomUser, CustomUserAdmin) |
|
|
|
|
admin.site.register(Club, ClubAdmin) |
|
|
|
|
admin.site.register(Event, EventAdmin) |
|
|
|
|
|