예제 #1
0
def register_view(request):
    form = RegistrationForm(request.POST or None)
    if request.method == 'POST' and form.is_valid():
        name_ = form.cleaned_data['name']
        username_ = form.cleaned_data['username']
        email_ = form.cleaned_data['email']
        password_ = form.cleaned_data['password']
        re_password_ = form.cleaned_data['re_password']
        user_type_ = form.cleaned_data['user_type']
        user = User.objects.create_user(first_name=name_,
                                        username=username_,
                                        password=password_,
                                        email=email_)

        activation_string = user.email + SALT
        activation_key = md5(activation_string.encode("ascii")).hexdigest()

        activation_link = BASE_URL + "/accounts/activate?user="******"&activation_key=" + activation_key
        print("Activation Url - " + activation_link)

        with mail.get_connection() as connection:
            mail.EmailMessage(
                "GameStop - Activate your account",
                "To activate your account, follow the link - " +
                activation_link,
                "*****@*****.**",
                [email_],
                connection=connection,
            ).send()

        if (user_type_ == '1'):
            dev_ = Developer(user=user)
            dev_.registered = False
            dev_.activation_key = activation_key
            dev_.save()
        else:
            player_ = Player(user=user)
            player_.registered = False
            player_.activation_key = activation_key
            player_.save()
        #login(request, user)
        return HttpResponseRedirect("/home")

    context = {'form': form}
    return render(request, 'accounts/register.html', context)