mirror of
https://github.com/django/django.git
synced 2025-10-26 23:26:08 +00:00
Fixed #61 -- No more editing hashes when creating users via the admin. Created a special-case 'Add user' admin view. The change form still displays the hash, for the moment.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3520 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -5,6 +5,28 @@ from django.template import Context, loader
|
||||
from django.core import validators
|
||||
from django import forms
|
||||
|
||||
class UserCreationForm(forms.Manipulator):
|
||||
"A form that creates a user, with no privileges, from the given username and password."
|
||||
def __init__(self):
|
||||
self.fields = (
|
||||
forms.TextField(field_name='username', length=30, maxlength=30, is_required=True,
|
||||
validator_list=[validators.isAlphaNumeric, self.isValidUsername]),
|
||||
forms.PasswordField(field_name='password1', length=30, maxlength=60, is_required=True),
|
||||
forms.PasswordField(field_name='password2', length=30, maxlength=60, is_required=True,
|
||||
validator_list=[validators.AlwaysMatchesOtherField('password1', "The two password fields didn't match.")]),
|
||||
)
|
||||
|
||||
def isValidUsername(self, field_data, all_data):
|
||||
try:
|
||||
User.objects.get(username=field_data)
|
||||
except User.DoesNotExist:
|
||||
return
|
||||
raise validators.ValidationError, 'A user with that username already exists.'
|
||||
|
||||
def save(self, new_data):
|
||||
"Creates the user."
|
||||
return User.objects.create_user(new_data['username'], '', new_data['password1'])
|
||||
|
||||
class AuthenticationForm(forms.Manipulator):
|
||||
"""
|
||||
Base class for authenticating users. Extend this to get a form that accepts
|
||||
|
||||
Reference in New Issue
Block a user