from django import forms from django.contrib import admin from django.contrib.auth.admin import UserAdmin as BaseUserAdmin from .models import User from .forms import UserCreateForm, UserUpdateForm class UserAdmin(BaseUserAdmin): # The forms to add and change user instances form = UserUpdateForm add_form = UserCreateForm # The fields to be used in displaying the User model. # These override the definitions on the base UserAdmin # that reference specific fields on auth.User. fieldsets = ( (None, {"fields": ("email", "password")}), ("Personal info", {"fields": ("first_name", "last_name")}), ( "Permissions", { "fields": ( "is_active", "is_staff", "is_superuser", "groups", "user_permissions", ), }, ), ("Important dates", {"fields": ("last_login", "date_joined")}), ) add_fieldsets = ( ( None, { "classes": ("wide",), "fields": ("email", "password1", "password2"), }, ), ) list_display = ("email", "first_name", "last_name", "is_staff") list_filter = ("is_staff", "is_superuser", "is_active", "groups") search_fields = ("email", "first_name", "last_name") ordering = ["email"] admin.site.register(User, UserAdmin)