Source code for maceoutliner.users.admin

from django import forms
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
from django.contrib.auth.forms import UserChangeForm, UserCreationForm
from .models import User


[docs]class MyUserChangeForm(UserChangeForm):
[docs] class Meta(UserChangeForm.Meta): model = User
[docs]class MyUserCreationForm(UserCreationForm): error_message = UserCreationForm.error_messages.update( {"duplicate_username": "This username has already been taken."} )
[docs] class Meta(UserCreationForm.Meta): model = User
[docs] def clean_username(self): username = self.cleaned_data["username"] try: User.objects.get(username=username) except User.DoesNotExist: return username raise forms.ValidationError(self.error_messages["duplicate_username"])
[docs]@admin.register(User) class MyUserAdmin(AuthUserAdmin): form = MyUserChangeForm add_form = MyUserCreationForm fieldsets = ( ("User Profile", {"fields": ("display_name",)}), ) + AuthUserAdmin.fieldsets list_display = ("username", "display_name", "is_superuser") search_fields = ["display_name"]