Exemplo n.º 1
0
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})
Exemplo n.º 2
0
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})