File size: 1,523 Bytes
fafd0bb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from .models import User, UserProfile, UserAvatar, UserCountry, UserUniversity

@admin.register(User)
class UserAdmin(BaseUserAdmin):
    list_display = ('email', 'role', 'points', 'is_staff', 'is_active', 'created_at')
    list_filter = ('role', 'is_staff', 'is_active', 'created_at')
    search_fields = ('email',)
    ordering = ('email',)
    fieldsets = (
        (None, {'fields': ('email', 'password')}),
        ('Personal info', {'fields': ('role', 'points')}),
        ('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
        ('Important dates', {'fields': ('last_login', 'created_at', 'updated_at')}),
    )
    readonly_fields = ('created_at', 'updated_at', 'last_login')

@admin.register(UserProfile)
class UserProfileAdmin(admin.ModelAdmin):
    list_display = ('user', 'name', 'is_current', 'created_at')
    search_fields = ('user__email', 'name')
    list_filter = ('is_current', 'created_at')

@admin.register(UserAvatar)
class UserAvatarAdmin(admin.ModelAdmin):
    list_display = ('profile', 'avatar_url', 'created_at')

@admin.register(UserCountry)
class UserCountryAdmin(admin.ModelAdmin):
    list_display = ('profile', 'country', 'created_at')
    list_filter = ('country',)

@admin.register(UserUniversity)
class UserUniversityAdmin(admin.ModelAdmin):
    list_display = ('profile', 'university', 'created_at')
    search_fields = ('university',)