def register(request): """Show the registration page. """ if not request.user.is_anonymous(): return HttpResponseRedirect('/') if request.method == 'POST': form = SignUpForm(request.POST) if form.is_valid(): real_name = form.cleaned_data['real_name'] preferred_name = form.cleaned_data['preferred_name'] email = form.cleaned_data['email'] password = form.cleaned_data['password'] username = generate_username(email) user, created = get_user_model().objects.get_or_create(username=username) if not created: # This may happen if the form is submitted outside the normal # login flow with a user that already exists return render(request, 'accounts/registration_error.html') user.is_active = True user.set_password(password) user.email = email user.save() user.userdata.real_name = real_name user.userdata.preferred_name = preferred_name user.userdata.save() apply_user_permissions(user) # verify_email_address(request, user) return render(request, 'accounts/success.html') else: form = SignUpForm() c = { 'form': form, } return render(request, 'accounts/register.html', c)
def set_user_permissions(strategy, details, user=None, *args, **kwargs): """Configure any initial permissions/groups for the user. """ apply_user_permissions(user)