From 1c0f4a6c053160fbbc0e6c5dfa301b1a14716bf8 Mon Sep 17 00:00:00 2001 From: Hannes Hapke Date: Tue, 11 Nov 2014 14:33:34 -0800 Subject: [PATCH] Updated users/admin.py with fix for issue #146 to allow user creation through the Django admin --- .../{{cookiecutter.repo_name}}/users/admin.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/admin.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/admin.py index 80e8e792f..fd1cb460e 100644 --- a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/admin.py +++ b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/admin.py @@ -1,13 +1,27 @@ # -*- coding: utf-8 -*- from django.contrib import admin +from django import forms from django.contrib.auth.forms import UserCreationForm, UserChangeForm from django.contrib.auth.admin import UserAdmin as AuthUserAdmin from .models import User +class MyUserCreationForm(UserCreationForm): + def clean_username(self): + username = self.cleaned_data["username"] + try: + User._default_manager.get(username=username) + except User.DoesNotExist: + return username + raise forms.ValidationError(self.error_messages['duplicate_username']) + + class Meta(UserCreationForm.Meta): + model = User + + class UserAdmin(AuthUserAdmin): - create_form_class = UserCreationForm + add_form = MyUserCreationForm update_form_class = UserChangeForm