From 34b24a0dcb044cb755e201ad1a83253d0690e78e Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Sun, 13 Nov 2022 16:14:38 -0700 Subject: More UI! --- users/views/auth.py | 5 ----- users/views/identity.py | 30 ++++++++++++++++-------------- 2 files changed, 16 insertions(+), 19 deletions(-) (limited to 'users') diff --git a/users/views/auth.py b/users/views/auth.py index f9e6ce1..1acf920 100644 --- a/users/views/auth.py +++ b/users/views/auth.py @@ -1,12 +1,7 @@ -from django.contrib.auth.forms import AuthenticationForm from django.contrib.auth.views import LoginView, LogoutView -from core.forms import FormHelper - class Login(LoginView): - class form_class(AuthenticationForm): - helper = FormHelper(submit_text="Login") template_name = "auth/login.html" diff --git a/users/views/identity.py b/users/views/identity.py index d0f64b6..64e3c62 100644 --- a/users/views/identity.py +++ b/users/views/identity.py @@ -8,7 +8,6 @@ from django.utils.decorators import method_decorator from django.views.generic import FormView, TemplateView, View from core.config import Config -from core.forms import FormHelper from users.decorators import identity_required from users.models import Domain, Follow, Identity, IdentityStates from users.shortcuts import by_handle_or_404 @@ -83,28 +82,31 @@ class CreateIdentity(FormView): template_name = "identity/create.html" class form_class(forms.Form): - username = forms.CharField() - name = forms.CharField() - - helper = FormHelper(submit_text="Create") + username = forms.CharField( + help_text="Must be unique on your domain. Cannot be changed easily. Use only: a-z 0-9 _ -" + ) + domain = forms.ChoiceField( + help_text="Pick the domain to make this identity on. Cannot be changed later." + ) + name = forms.CharField( + help_text="The display name other users see. You can change this easily." + ) def __init__(self, user, *args, **kwargs): super().__init__(*args, **kwargs) - self.fields["domain"] = forms.ChoiceField( - choices=[ - (domain.domain, domain.domain) - for domain in Domain.available_for_user(user) - ] - ) + self.fields["domain"].choices = [ + (domain.domain, domain.domain) + for domain in Domain.available_for_user(user) + ] def clean_username(self): - # Remove any leading @ - value = self.cleaned_data["username"].lstrip("@") + # Remove any leading @ and force it lowercase + value = self.cleaned_data["username"].lstrip("@").lower() # Validate it's all ascii characters for character in value: if character not in string.ascii_letters + string.digits + "_-": raise forms.ValidationError( - "Only the letters a-z, numbers 0-9, dashes and underscores are allowed." + "Only the letters a-z, numbers 0-9, dashes, and underscores are allowed." ) return value -- cgit v1.2.3