mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 09:12:11 +01:00 
			
		
		
		
	Allow users to have complicated username
This commit is contained in:
		@@ -20,6 +20,19 @@ class CustomAuthenticationForm(AuthenticationForm):
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class UserForm(forms.ModelForm):
 | 
			
		||||
    def _get_validation_exclusions(self):
 | 
			
		||||
        # Django usernames can only contain letters, numbers, @, ., +, - and _.
 | 
			
		||||
        # We want to allow users to have uncommon and unpractical usernames:
 | 
			
		||||
        # That is their problem, and we have normalized aliases for us.
 | 
			
		||||
        return super()._get_validation_exclusions() + ["username"]
 | 
			
		||||
 | 
			
		||||
    class Meta:
 | 
			
		||||
        model = User
 | 
			
		||||
        fields = ('first_name', 'last_name', 'username', 'email',)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ProfileForm(forms.ModelForm):
 | 
			
		||||
    """
 | 
			
		||||
    A form for the extras field provided by the :model:`member.Profile` model.
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@ from permission.models import Role
 | 
			
		||||
from permission.views import ProtectQuerysetMixin
 | 
			
		||||
from wei.models import WEIClub
 | 
			
		||||
 | 
			
		||||
from .forms import ProfileForm, ClubForm, MembershipForm, CustomAuthenticationForm
 | 
			
		||||
from .forms import ProfileForm, ClubForm, MembershipForm, CustomAuthenticationForm, UserForm
 | 
			
		||||
from .models import Club, Membership
 | 
			
		||||
from .tables import ClubTable, UserTable, MembershipTable
 | 
			
		||||
 | 
			
		||||
@@ -47,9 +47,10 @@ class UserUpdateView(ProtectQuerysetMixin, LoginRequiredMixin, UpdateView):
 | 
			
		||||
    Update the user information.
 | 
			
		||||
    """
 | 
			
		||||
    model = User
 | 
			
		||||
    fields = ['first_name', 'last_name', 'username', 'email']
 | 
			
		||||
    form_class = UserForm
 | 
			
		||||
    template_name = 'member/profile_update.html'
 | 
			
		||||
    context_object_name = 'user_object'
 | 
			
		||||
 | 
			
		||||
    profile_form = ProfileForm
 | 
			
		||||
 | 
			
		||||
    def get_context_data(self, **kwargs):
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user