31 lines
838 B
Python
31 lines
838 B
Python
|
from django import forms
|
||
|
from django.contrib.auth import get_user_model
|
||
|
from django.contrib.auth.forms import UsernameField
|
||
|
|
||
|
User = get_user_model()
|
||
|
|
||
|
|
||
|
class AdminUserCreationForm(forms.ModelForm):
|
||
|
"""
|
||
|
A form that creates a user, with no privileges, from the given username and
|
||
|
password.
|
||
|
"""
|
||
|
|
||
|
class Meta:
|
||
|
model = User
|
||
|
fields = ("username",)
|
||
|
field_classes = {'username': UsernameField}
|
||
|
|
||
|
def __init__(self, *args, **kwargs):
|
||
|
super().__init__(*args, **kwargs)
|
||
|
if self._meta.model.USERNAME_FIELD in self.fields:
|
||
|
self.fields[self._meta.model.USERNAME_FIELD].widget.attrs['autofocus'] = True
|
||
|
|
||
|
def save(self, commit=True):
|
||
|
user = super().save(commit=False)
|
||
|
user.set_unusable_password()
|
||
|
if commit:
|
||
|
user.save()
|
||
|
return user
|
||
|
|