from django.contrib import admin from django.contrib.auth.admin import UserAdmin as BaseUserAdmin from django.template.defaultfilters import filesizeformat from .forms import UserCreationForm, UserChangeForm from .models import User, FriendRequest, Invitation @admin.register(User) class UserAdmin(BaseUserAdmin): # 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" def save_formset(self, request, form, formset, change): print("save_formset") return super().save_formset(request, form, formset, change) def save_model(self, request, obj, form, change): print("save_model") return super().save_model(request, obj, form, change) @admin.register(Invitation) class InvitationAdmin(admin.ModelAdmin): pass @admin.register(FriendRequest) class FriendRequestAdmin(admin.ModelAdmin): pass