def signup(request): if request.user.is_authenticated(): if not request.user.needs_update: return redirect('user_profile', username=request.user.username) if request.method == 'GET': user_form = ColabSetUsernameForm() return render(request, 'accounts/user_create_form.html', { 'user_form': user_form, }) user_form = ColabSetUsernameForm(request.POST) if not user_form.is_valid(): return render(request, 'accounts/user_create_form.html', { 'user_form': user_form, }) user = user_form.save(commit=False) user.needs_update = False user.is_active = False user.save() email = EmailAddressValidation.create(user.email, user) location = reverse('email_view', kwargs={'key': email.validation_key}) verification_url = request.build_absolute_uri(location) EmailAddressValidation.verify_email(email, verification_url) # Check if the user's email have been used previously # in the mainling lists to link the user to old messages email_addr, created = EmailAddress.objects.get_or_create( address=user.email) if created: email_addr.real_name = user.get_full_name() email_addr.user = user email_addr.save() messages.success(request, _('Your profile has been created!')) return redirect('user_profile', username=user.username)
def signup(request): if request.user.is_authenticated(): if not request.user.needs_update: return redirect('user_profile', username=request.user.username) if request.method == 'GET': user_form = ColabSetUsernameForm() return render(request, 'accounts/user_create_form.html', {'user_form': user_form, }) user_form = ColabSetUsernameForm(request.POST) if not user_form.is_valid(): return render(request, 'accounts/user_create_form.html', {'user_form': user_form, }) user = user_form.save(commit=False) user.needs_update = False user.is_active = False user.save() email = EmailAddressValidation.create(user.email, user) location = reverse('email_view', kwargs={'key': email.validation_key}) verification_url = request.build_absolute_uri(location) EmailAddressValidation.verify_email(email, verification_url) # Check if the user's email have been used previously # in the mainling lists to link the user to old messages email_addr, created = EmailAddress.objects.get_or_create( address=user.email) if created: email_addr.real_name = user.get_full_name() email_addr.user = user email_addr.save() messages.success(request, _('Your profile has been created!')) return redirect('user_profile', username=user.username)
def post(self, request): response = self.is_logged(request.user) if not response: user_form = ColabSetUsernameForm(request.POST) if user_form.is_valid(): user = user_form.save(commit=False) user.needs_update = False user.is_active = False user.save() self.verify_email(request, user) messages.success(request, _('Your profile has been created!')) response = redirect('user_profile', username=user.username) else: response = render(request, 'accounts/user_create_form.html', {'user_form': user_form, }) return response