|
@ -0,0 +1,21 @@ |
|
|
|
|
|
from django.shortcuts import render |
|
|
|
|
|
from django.shortcuts import redirect |
|
|
|
|
|
from django.contrib.auth import login |
|
|
|
|
|
from django.utils.encoding import force_text |
|
|
|
|
|
from django.utils.http import urlsafe_base64_decode |
|
|
|
|
|
from .tokens import account_activation_token |
|
|
|
|
|
from django.contrib.auth.models import User |
|
|
|
|
|
|
|
|
|
|
|
def activate(request, uidb64, token): |
|
|
|
|
|
try: |
|
|
|
|
|
uid = force_text(urlsafe_base64_decode(uidb64)) |
|
|
|
|
|
user = User.objects.get(pk=uid) |
|
|
|
|
|
except(TypeError, ValueError, OverflowError, User.DoesNotExist): |
|
|
|
|
|
user = None |
|
|
|
|
|
if user is not None and account_activation_token.check_token(user, token): |
|
|
|
|
|
user.is_active = True |
|
|
|
|
|
user.save() |
|
|
|
|
|
login(request, user, backend='django.contrib.auth.backends.ModelBackend') |
|
|
|
|
|
return redirect('projects') |
|
|
|
|
|
else: |
|
|
|
|
|
return render(request, 'validate_mail_address_invalid.html') |