def test_suggest_username_invalid_characters(self): """Test some invalid to Django usernames.""" eq_("foobar", suggest_username("foo bar")) User.objects.create(username="******") eq_("foobar1", suggest_username("foo bar")) eq_("foobar1", suggest_username("foobar /1")) User.objects.create(username="******") eq_("foobar11", suggest_username("foobar /1"))
def browserid_signup(request): next = request.REQUEST.get('next') redirect_to = next or getattr(settings, 'LOGIN_REDIRECT_URL', '/') redirect_to_failure = getattr(settings, 'LOGIN_REDIRECT_URL_FAILURE', '/') email = request.session.get('browserid-email', None) contributor = 'contributor' in request.POST if email: form = BrowserIDSignupForm(request.REQUEST) if form.is_valid(): user = User.objects.create_user(form.cleaned_data['username'], email) user.save() # Create a new profile for the user Profile.objects.create(user=user, locale=request.LANGUAGE_CODE) # Check if the user should be added to the contributor group if contributor: add_to_contributors(request, user) # Log the user in user.backend = 'django_browserid.auth.BrowserIDBackend' auth.login(request, user) return redirect(redirect_to) else: form.fields['username'].initial = suggest_username(email) return render(request, 'users/browserid_signup.html', {'persona_email': email, 'next': next, 'form': form, 'contributor': contributor}) return redirect(redirect_to_failure)
def browserid_signup(request, template): next = request.REQUEST.get("next") redirect_to = next or getattr(settings, "LOGIN_REDIRECT_URL", "/") redirect_to_failure = getattr(settings, "LOGIN_REDIRECT_URL_FAILURE", "/") email = request.session.get("browserid-email", None) contributor = "contributor" in request.POST if email: data = request.POST if request.method == "POST" else None form = BrowserIDSignupForm(data) if form.is_valid(): user = User.objects.create_user(form.cleaned_data["username"], email) user.save() # Create a new profile for the user Profile.objects.create(user=user, locale=request.LANGUAGE_CODE) # Check if the user should be added to the contributor group if contributor: add_to_contributors(request, user) # Log the user in user.backend = "django_browserid.auth.BrowserIDBackend" auth.login(request, user) return redirect(redirect_to) else: form.fields["username"].initial = suggest_username(email) return render( request, template, {"persona_email": email, "next": next, "form": form, "contributor": contributor} ) return redirect(redirect_to_failure)
def test_suggest_username(self): eq_('someuser', suggest_username('*****@*****.**')) User.objects.create(username='******') suggested = suggest_username('*****@*****.**') eq_('someuser1', suggested) User.objects.create(username='******') suggested = suggest_username('*****@*****.**') eq_('someuser1', suggested) User.objects.create(username='******') User.objects.create(username='******') User.objects.create(username='******') suggested = suggest_username('*****@*****.**') eq_('rIcky2', suggested)
def test_suggest_username(self): eq_("someuser", suggest_username("*****@*****.**")) User.objects.create(username="******") suggested = suggest_username("*****@*****.**") eq_("someuser1", suggested) User.objects.create(username="******") suggested = suggest_username("*****@*****.**") eq_("someuser1", suggested) User.objects.create(username="******") User.objects.create(username="******") User.objects.create(username="******") suggested = suggest_username("*****@*****.**") eq_("rIcky2", suggested) User.objects.create(username="******") User.objects.create(username="******") User.objects.create(username="******") User.objects.create(username="******") suggested = suggest_username("*****@*****.**") eq_("user3", suggested) User.objects.create(username="******") User.objects.create(username="******") suggested = suggest_username("*****@*****.**") eq_("testuser+12", suggested)
def browserid_signup(request, template): next = request.REQUEST.get('next') redirect_to = next or getattr(settings, 'LOGIN_REDIRECT_URL', '/') redirect_to_failure = getattr(settings, 'LOGIN_REDIRECT_URL_FAILURE', '/') email = request.session.get('browserid-email', None) contributor = 'contributor' in request.POST if email: data = request.POST if request.method == 'POST' else None form = BrowserIDSignupForm(data) if form.is_valid(): user = User.objects.create_user(form.cleaned_data['username'], email) user.save() # Create a new profile for the user Profile.objects.create(user=user, locale=request.LANGUAGE_CODE) # Check if the user should be added to the contributor group if contributor: add_to_contributors(request, user) # Log the user in user.backend = 'django_browserid.auth.BrowserIDBackend' auth.login(request, user) return redirect(redirect_to) else: form.fields['username'].initial = suggest_username(email) return render( request, template, { 'persona_email': email, 'next': next, 'form': form, 'contributor': contributor }) return redirect(redirect_to_failure)
def browserid_verify(request): next = request.REQUEST.get('next') redirect_to = next or getattr(settings, 'LOGIN_REDIRECT_URL', '/') redirect_to_failure = getattr(settings, 'LOGIN_REDIRECT_URL_FAILURE', '/') form = BrowserIDForm(data=request.POST) if form.is_valid(): result = verify(form.cleaned_data['assertion'], get_audience(request)) if result: if request.user.is_authenticated(): # User is already signed in so they must want an email change request.user.email = result['email'] request.user.save() return redirect(reverse('users.edit_profile')) else: # Verified so log in email = result['email'] user = User.objects.filter(email=email) contributor = 'contributor' in request.POST if len(user) == 0: form = BrowserIDSignupForm() request.session['browserid-email'] = email form.fields['username'].initial = suggest_username(email) return render(request, 'users/browserid_signup.html', {'persona_email': email, 'next': next, 'form': form, 'contributor': contributor}) else: user = user[0] user.backend = 'django_browserid.auth.BrowserIDBackend' if contributor: add_to_contributors(request, user) auth.login(request, user) return redirect(redirect_to) return redirect(redirect_to_failure)
def _username_algo(email): """Provide a default username for the user.""" from kitsune.users.utils import suggest_username return suggest_username(email)