kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
39 wiersze
1.0 KiB
Python
39 wiersze
1.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import absolute_import, unicode_literals
|
|
|
|
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
|
|
|
|
|
|
class MyUserChangeForm(UserChangeForm):
|
|
class Meta(UserChangeForm.Meta):
|
|
model = User
|
|
|
|
|
|
class MyUserCreationForm(UserCreationForm):
|
|
|
|
error_message = UserCreationForm.error_messages.update({
|
|
'duplicate_username': 'This username has already been taken.'
|
|
})
|
|
|
|
class Meta(UserCreationForm.Meta):
|
|
model = User
|
|
|
|
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'])
|
|
|
|
|
|
@admin.register(User)
|
|
class UserAdmin(AuthUserAdmin):
|
|
form = MyUserChangeForm
|
|
add_form = MyUserCreationForm
|