from django.contrib import admin from django.contrib.auth.admin import UserAdmin as BaseUserAdmin from django.template.defaultfilters import filesizeformat from .forms import UserChangeForm from .models import FriendRequest, Invitation, User @admin.register(User) class UserAdmin(BaseUserAdmin): ordering = ["pk"] # add_form = UserCreationForm form = UserChangeForm fieldsets = BaseUserAdmin.fieldsets + ( ["Custom Fields", {"fields": ["max_size", "friends"]}], ) list_display = [ "username", "email", "is_superuser", "is_active", "is_staff", "display_max_size", "size_used", ] add_fieldsets = ( ( None, { "classes": ("wide",), "fields": ("username", "email", "max_size", "password1", "password2"), }, ), ) def display_max_size(self, obj: User): return filesizeformat(obj.max_size) display_max_size.short_description = "Max size" def size_used(self, obj: User): return filesizeformat(obj.size_used) size_used.short_description = "Size used" @admin.register(Invitation) class InvitationAdmin(admin.ModelAdmin): pass @admin.register(FriendRequest) class FriendRequestAdmin(admin.ModelAdmin): pass