def signup_begin(request): context = RequestContext(request) if not settings.SELF_REGISTER: return redirect('account_login') if request.POST: form = VPNBeginSignupForm(request.POST) else: form = VPNBeginSignupForm() success = False if form.is_valid(): token = get_random_string(length=50) invite = Invite(token=token, email=form.cleaned_data['email']) invite.save() url = request.build_absolute_uri(reverse('account_signup', args=[token])) message = render_to_string("account/signupmsg.txt", {'url' : url}, context_instance=context) send_branded_email("Inscription", message, form.cleaned_data['email']) success = True return render(request, "registration/begin.html", {'form' : form, 'success' : success})
def account(request): context = RequestContext(request) passwordform = PasswordChangeForm(request.user) profileform = VPNProfileForm(instance=request.user) emailform = VPNEmailChangeForm(instance=request.user) inviteform = VPNInviteForm() success = False success_message = None if request.method == 'POST' and request.POST.has_key("password"): passwordform = PasswordChangeForm(request.user, request.POST) if passwordform.is_valid(): request.user.set_password(passwordform.cleaned_data['new_password1']) request.user.save() success = True if request.method == 'POST' and request.POST.has_key("profile"): profileform = VPNProfileForm(request.POST, instance=request.user) if profileform.is_valid(): profileform.save() success = True if request.method == 'POST' and request.POST.has_key("emailchange"): emailform = VPNEmailChangeForm(request.POST, instance=request.user) if emailform.is_valid(): token = get_random_string(length=50) validation = MailValidation(user=request.user, token=token, email=emailform.cleaned_data['email']) validation.save() url = request.build_absolute_uri(reverse('account_mailvalidation', args=[token])) message = render_to_string("account/mailvalidation.txt", {'url' : url}, context_instance=context) send_branded_email("Validation d'adresse e-mail", message, emailform.cleaned_data['email']) success = True success_message = "Un email vous a été envoyé contenant un lien permettant de valider votre nouvelle adresse." if request.method == 'POST' and request.POST.has_key('invitechange'): inviteform = VPNInviteForm(request.POST) if inviteform.is_valid(): token = get_random_string(length=50) invite = Invite(token=token, email=inviteform.cleaned_data['email']) invite.save() url = request.build_absolute_uri(reverse('account_signup', args=[token])) message = render_to_string("account/invitemsg.txt", {'url' : url}, context_instance=context) send_branded_email("Invitation", message, inviteform.cleaned_data['email']) success = True success_message = "L'invitation a bien été envoyée." return render(request, "account/account.html", {'passwordform' : passwordform, 'profileform' : profileform, 'emailform' : emailform, 'invite_form': inviteform, 'success' : success, 'success_message' : success_message})