Files
oxpanel25/app/user/admin.py
2025-03-14 03:20:53 +01:00

53 lines
1.5 KiB
Python

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):
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"
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