mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2025-06-23 13:56:37 +02:00
Improve admin interface
Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
@ -3,31 +3,95 @@
|
||||
|
||||
from django.contrib import admin
|
||||
from django.contrib.admin import ModelAdmin
|
||||
from polymorphic.admin import PolymorphicChildModelAdmin, PolymorphicParentModelAdmin
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from polymorphic.admin import PolymorphicChildModelAdmin, PolymorphicChildModelFilter, PolymorphicParentModelAdmin
|
||||
|
||||
from .models import CoachRegistration, Payment, Registration, StudentRegistration, VolunteerRegistration
|
||||
from .models import CoachRegistration, Payment, ParticipantRegistration, Registration, \
|
||||
StudentRegistration, VolunteerRegistration
|
||||
|
||||
|
||||
@admin.register(Registration)
|
||||
class RegistrationAdmin(PolymorphicParentModelAdmin):
|
||||
child_models = (StudentRegistration, CoachRegistration, VolunteerRegistration,)
|
||||
list_display = ("user", "type", "email_confirmed",)
|
||||
list_display = ('user', 'first_name', 'last_name', 'type', 'email_confirmed',)
|
||||
list_filter = (PolymorphicChildModelFilter, 'email_confirmed',)
|
||||
search_fields = ('user__first_name', 'user__last_name', 'user__email',)
|
||||
polymorphic_list = True
|
||||
|
||||
@admin.display(description=_('first name'), ordering='user__first_name')
|
||||
def first_name(self, record):
|
||||
return record.user.first_name
|
||||
|
||||
@admin.display(description=_('last name'), ordering='user__last_name')
|
||||
def last_name(self, record):
|
||||
return record.user.last_name
|
||||
|
||||
@admin.register(ParticipantRegistration)
|
||||
class ParticipantRegistrationAdmin(PolymorphicChildModelAdmin):
|
||||
list_display = ('user', 'first_name', 'last_name', 'type', 'team', 'email_confirmed',)
|
||||
list_filter = ('email_confirmed',)
|
||||
search_fields = ('user__first_name', 'user__last_name', 'user__email',)
|
||||
autocomplete_fields = ('user', 'team',)
|
||||
|
||||
@admin.display(description=_('first name'), ordering='user__first_name')
|
||||
def first_name(self, record):
|
||||
return record.user.first_name
|
||||
|
||||
@admin.display(description=_('last name'), ordering='user__last_name')
|
||||
def last_name(self, record):
|
||||
return record.user.last_name
|
||||
|
||||
|
||||
@admin.register(StudentRegistration)
|
||||
class StudentRegistrationAdmin(PolymorphicChildModelAdmin):
|
||||
pass
|
||||
list_display = ('user', 'first_name', 'last_name', 'team', 'email_confirmed',)
|
||||
list_filter = ('email_confirmed',)
|
||||
search_fields = ('user__first_name', 'user__last_name', 'user__email',)
|
||||
autocomplete_fields = ('user', 'team',)
|
||||
|
||||
@admin.display(description=_('first name'), ordering='user__first_name')
|
||||
def first_name(self, record):
|
||||
return record.user.first_name
|
||||
|
||||
@admin.display(description=_('last name'), ordering='user__last_name')
|
||||
def last_name(self, record):
|
||||
return record.user.last_name
|
||||
|
||||
|
||||
@admin.register(CoachRegistration)
|
||||
class CoachRegistrationAdmin(PolymorphicChildModelAdmin):
|
||||
pass
|
||||
list_display = ('user', 'first_name', 'last_name', 'team', 'email_confirmed',)
|
||||
list_filter = ('email_confirmed',)
|
||||
search_fields = ('user__first_name', 'user__last_name', 'user__email',)
|
||||
autocomplete_fields = ('user', 'team',)
|
||||
|
||||
@admin.display(description=_('first name'), ordering='user__first_name')
|
||||
def first_name(self, record):
|
||||
return record.user.first_name
|
||||
|
||||
@admin.display(description=_('last name'), ordering='user__last_name')
|
||||
def last_name(self, record):
|
||||
return record.user.last_name
|
||||
|
||||
|
||||
@admin.register(VolunteerRegistration)
|
||||
class VolunteerRegistrationAdmin(PolymorphicChildModelAdmin):
|
||||
pass
|
||||
list_display = ('user', 'first_name', 'last_name', 'tournaments', 'email_confirmed',)
|
||||
list_filter = ('organized_tournaments', 'email_confirmed',)
|
||||
search_fields = ('user__first_name', 'user__last_name', 'user__email',)
|
||||
autocomplete_fields = ('user',)
|
||||
|
||||
@admin.display(description=_('first name'), ordering='user__first_name')
|
||||
def first_name(self, record):
|
||||
return record.user.first_name
|
||||
|
||||
@admin.display(description=_('last name'), ordering='user__last_name')
|
||||
def last_name(self, record):
|
||||
return record.user.last_name
|
||||
|
||||
@admin.display(description=_("tournaments"))
|
||||
def tournaments(self, record):
|
||||
return ', '.join(tr.name for tr in record.interesting_tournaments) or None
|
||||
|
||||
|
||||
@admin.register(Payment)
|
||||
@ -35,3 +99,4 @@ class PaymentAdmin(ModelAdmin):
|
||||
list_display = ('registration', 'type', 'valid', )
|
||||
search_fields = ('registration__user__last_name', 'registration__user__first_name', 'registration__user__email',)
|
||||
list_filter = ('type', 'valid',)
|
||||
autocomplete_fields = ('registration',)
|
||||
|
Reference in New Issue
Block a user