45 lines
1.2 KiB
Python
45 lines
1.2 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"
|
|
|
|
|
|
|
|
@admin.register(Invitation)
|
|
class InvitationAdmin(admin.ModelAdmin):
|
|
pass
|
|
|
|
|
|
@admin.register(FriendRequest)
|
|
class FriendRequestAdmin(admin.ModelAdmin):
|
|
pass
|