Coverage for cheese/users/forms.py: 100.00%

17 statements  

« prev     ^ index     » next       coverage.py v7.9.1, created at 2025-06-16 16:36 -0700

1from django.contrib.auth import forms, get_user_model 

2from django.core.exceptions import ValidationError 

3 

4User = get_user_model() 

5 

6 

7class UserChangeForm(forms.UserChangeForm): 

8 class Meta(forms.UserChangeForm.Meta): 

9 model = User 

10 

11 

12class UserCreationForm(forms.UserCreationForm): 

13 error_message = forms.UserCreationForm.error_messages.update( 

14 {"duplicate_username": "This username has already been taken."} # fmt: skip 

15 ) 

16 

17 class Meta(forms.UserCreationForm.Meta): 

18 model = User 

19 

20 def clean_username(self): 

21 username = self.cleaned_data["username"] 1b

22 

23 try: 1b

24 User.objects.get(username=username) 1b

25 except User.DoesNotExist: 1b

26 return username 1b

27 

28 raise ValidationError(self.error_messages["duplicate_username"]) 1b