Files
keywarden/app/apps/dashboard/admin.py

53 lines
1.5 KiB
Python

# apps/dashboard/admin.py
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.admin import GroupAdmin as BaseGroupAdmin
from django.contrib.auth.models import User, Group
from unfold.forms import AdminPasswordChangeForm, UserChangeForm, UserCreationForm
from unfold.admin import ModelAdmin
# Unregister the default Group admin and register with Unfold
try:
admin.site.unregister(Group)
admin.site.unregister(User)
except admin.sites.NotRegistered:
pass
@admin.register(User)
class UserAdmin(BaseUserAdmin, ModelAdmin):
# Forms loaded from `unfold.forms`
form = UserChangeForm
add_form = UserCreationForm
change_password_form = AdminPasswordChangeForm
# Set to False, to enable filter as "sidebar"
list_filter_sheet = True
# Display fields in changeform in compressed mode
compressed_fields = True # Default: False
# Warn before leaving unsaved changes in changeform
warn_unsaved_form = True # Default: False
@admin.register(Group)
class GroupAdmin(BaseGroupAdmin, ModelAdmin):
pass
# # Custom dashboard view
# def custom_dashboard(request):
# context = {
# "user_count": get_user_model().objects.count(),
# "group_count": auth_models.Group.objects.count(),
# }
# return render(request, "unfold/dashboard.html", context)
# # Add the URL to admin
# admin.site.get_urls = (
# lambda self: [path("", custom_dashboard, name="index")] + self.get_urls()
# ).__get__(admin.site)