53 lines
1.5 KiB
Python
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) |