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
|