Example #1
0
    def get(self, request, uidb64, token):
        try:
            id = force_text(urlsafe_base64_decode(uidb64))
            user = CustomUser.objects.get(pk=id)
        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.profile.email_confirmed = True
            email = user.email
            print(email)
            email_subject = 'Welcome To HODOS'

            email = EmailMessage(
                email_subject,
                'Hi ' + user.first_name +
                ', Welcome to HODOS Here You Can Enjoy Your Work \n',
                '*****@*****.**',
                [email],
            )
            email.send(fail_silently=False)
            user.save()
            login(request, user)
            messages.success(request, ('Your account have been confirmed.'))
            return redirect('home')
        else:
            messages.warning(request, (
                'The confirmation link was invalid, possibly because it has already been used.'
            ))
            return redirect('home')
Example #2
0
    def get(self,
            request,
            uidb64,
            token,
            backend='django.contrib.auth.backends.ModelBackend',
            *args,
            **kwargs):
        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.profile.email_confirmed = True
            user.save()
            login(request,
                  user,
                  backend='django.contrib.auth.backends.ModelBackend')
            messages.success(request, ('Your account has been confirmed.'))
            return redirect('blog:blog-home')
        else:
            messages.warning(request, (
                'The confirmation link was invalid, possibly because it has already been used.'
            ))
            return redirect('blog:blog-home')
def reset_password(request, uidb64, token):
    if request.method == 'GET':
        try:
            uid = force_text(urlsafe_base64_decode(uidb64))
            user = User.objects.get(pk=int(uid))
            validlink = True
        except(TypeError, ValueError, OverflowError, User.DoesNotExist):
            user = None
            validlink = False
        return TemplateResponse(request, 'password_reset_confirm.html', {
            'validlink': validlink,
            'uid': uidb64,
            'token': token
            })
    elif request.method == 'POST':
        try:
            uid = force_text(urlsafe_base64_decode(uidb64))
            user = User.objects.get(pk=int(uid))
            validlink = True
        except(TypeError, ValueError, OverflowError, User.DoesNotExist):
            user = None
            validlink = False
        if user is not None and account_activation_token.check_token(user.username, token):
            body = request.data
            new_password = body['new_password']
            user.set_password(new_password)
            user.save()
            # return redirect('home')
            return HttpResponse('Your password has been updated. Now you can login your account.')
        else:
            return HttpResponse('Activation link is invalid!')
Example #4
0
def activate(request, pk, token):
    user = User.objects.get(pk=pk)
    if user is not None and account_activation_token.check_token(user, token):
        user.is_active = True
        user.save()
        # login(request, user)
        return render(request, 'users/email_confirm_valid.html')
    else:
        return render(request, 'users/email_confirm_invalid.html')
Example #5
0
 def activate(self) -> bool:
     try:
         user_id = force_str(urlsafe_base64_decode(self.kwargs["encoded_user_id"]))
         user = CustomUser.objects.get(pk=user_id)
         is_token_correct = account_activation_token.check_token(user, self.kwargs["token"])
         if is_token_correct:
             user.activate_user()
             return True
         else:
             return False
     except CustomUser.DoesNotExist:
         return False
def activate(request, uidb64, token):
    try:
        uid = force_text(urlsafe_base64_decode(uidb64))
        user = User.objects.get(pk=int(uid))
    except(TypeError, ValueError, OverflowError, User.DoesNotExist):
        user = None
    if user is not None and account_activation_token.check_token(user.username, token):
        user.is_active = True
        user.save()
        # return redirect('home')
        return HttpResponse('Thank you for your email confirmation. Now you can login your account.')
    else:
        return HttpResponse('Activation link is invalid!')
Example #7
0
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()
        # return redirect('home')
        return render(request, 'users/signup_activated.html')
    else:
        return render(request, 'users/signup_activated_fail.html')
Example #8
0
def activate(request, uidb64, token): # Activate the user, they got the link from their verification email
    try:
        uid = force_text(urlsafe_base64_decode(uidb64))
        user = User.objects.get(pk=int(uid))
    except(TypeError, ValueError, OverflowError, User.DoesNotExist):
        user = None
    if user is not None and account_activation_token.check_token(user.username, token):
        user.is_active = True
        user.save()
        # TODO Define this link in the .env
        return redirect('https://flyright.police.gatech.edu/login')
        # return HttpResponse('Thank you for your email confirmation. Now you can login your account.')
    else:
        return HttpResponse('Activation link is invalid!')
Example #9
0
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)
        # return to user profile
        return redirect('')
    else:
        return render(request, 'account_activation_invalid.html')
Example #10
0
 def get(self, 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)
         messages.add_message(self.request, message='Регистрация подтверждена', level=messages.INFO)
         return redirect('home')
     else:
         messages.add_message(self.request, message='Регистрация не подтверждена', level=messages.INFO)
         return redirect('home')
def activate(request, uidb64, token):
    try:
        uid = urlsafe_base64_decode(uidb64)
        print(uid)
        user = CustomUser.objects.get(pk=uid)
    except (TypeError, ValueError, OverflowError, CustomUser.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)
        return HttpResponse(
            'Dziekujemy za potwierdzenie maila konto zostało aktywowane.')
    else:
        return HttpResponse('Link aktywacyjny jest nie poprawny!')
Example #12
0
def activate(request, uidb64, token):
    uid = force_text(urlsafe_base64_decode(uidb64))
    user = User.objects.get(pk=uid)

    if user is not None and account_activation_token.check_token(user, token):
        user.is_active = True
        user.profile.email_confirmed = True
        user.save()
        login(request, user)
        messages.success(
            request,
            'Account successfully validated! You can now log in with your credentials'
        )
        return redirect('login')
    else:
        return render(request, 'users/account_activation_invalid.html')
Example #13
0
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.profile.signup_confirmation = True
        user.save()
        login(request, user)
        messages.success(
            request, f'Hey {user.username}, your account has been activated!')
        return redirect('index')
    return render(request, 'users/activation_invalid.html')
Example #14
0
def activate(request, uidb64, token):
    try:
        uid = force_text(urlsafe_base64_decode(uidb64))
        user = MyUser.objects.get(pk=uid)
    except (TypeError, ValueError, OverflowError, MyUser.DoesNotExist):
        user = None

    if user is not None and account_activation_token.check_token(user, token):
        user.is_verified = True
        user.save()
        messages.success(request, ('Your account have been confirmed.'))
    else:
        messages.warning(request, (
            'The confirmation link was invalid, possibly because it has already been used.'
        ))
    return redirect('users:login')
Example #15
0
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.profile.email_confirmed = True
        user.save()

        # add user settings
        UserSettings.objects.create(user=user, 
                                    just_username=False, 
                                    use_default_distance=False)

        login(request, user)
        return redirect('home')
    else:
        render(request, 'account_activation_invalid.html')
Example #16
0
def confirm_member(request, uidb64, token, mid64):
    """
    View that confirms an invitation link received by an artist through email.
    The view validate the link. And make the corresponding user, an official
    member of the corresponding band
    """
    try:
        uid = force_text(urlsafe_base64_decode(uidb64))
        user = User.objects.get(pk=uid)
        member_id=force_text(urlsafe_base64_decode(mid64))
        membership=Member.objects.get(pk=member_id)
    except(TypeError, ValueError, OverflowError, User.DoesNotExist):
        user=None
        membership=None

    if user is None or membership is None or not account_activation_token.check_token(user, token):
        context= {'short_message': "You seem to have an invalid link. Check if you are logged in with a correct profile.\nIf the problem persists ask the band owner to send you another invation link.",
                  'title_msg': "Activation link is invalid!.",
                  'title_page': "Bad request"}
        return render(request, 'users/short_message.html',context=context)

    if user.pk != request.user.pk:
        context= {'short_message': "You are trying to perform a request not meant for you. Check if you are logged in with a correct profile.",
                  'title_msg': "Unauhtorized request",
                  'title_page': "Bad request"}
        return render(request, 'users/short_message.html',context=context)

    band=membership.get_band()

    if  membership.is_active:
        return redirect('musicians:band-profile', profile_id=band.pk)

    membership.is_active= True
    membership.save()
    context= {'short_message': f"You are officialy registered as member of {band.name}. Take a look at your band profile ",
              'title_msg': "Confirmation complete",
              'title_page': f"{band.name}",
              'link': reverse('musicians:band-profile', kwargs={'profile_id': band.pk}),
              }
    return render(request, 'users/short_message.html',context=context)
Example #17
0
 def get(self, request, uidb64, token, **kwargs):  # noqa
     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.email_confirmed = True
         user.save()  # ToDo: add notification to the user
         notification_message = UserNotification.get_notification_text(
             UserNotification.EMAIL_CONFIRMED, username=user.username)
         UserNotification.objects.filter(
             user=user,
             purpose=UserNotification.CONFIRM_EMAIL_PURPOSE).delete()
         UserNotification.objects.create(
             user=user,
             message=notification_message,
             purpose=UserNotification.EMAIL_WAS_CONFIRMED_PURPOSE,
             notification_type=UserNotification.SUCCESS)
         return render(request, 'api/home.html')
     return render(request, 'api/home.html')
Example #18
0
    def get(self, request, uidb64, token, *args, **kwargs):
        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.profile.email_confirmed = True
            user.save()
            login(request,
                  user,
                  backend='django.contrib.auth.backends.ModelBackend')
            messages.success(request, ('Your account have been confirmed.'))
            return redirect('home')
        else:
            messages.warning(request, (
                'Something went wrong!!!. Please try with Social Authentication'
            ))
            return redirect('login')
Example #19
0
def activate(request, uidb64, token):
    """
    Activate account (confirm email)
    """
    try:
        uid = force_text(urlsafe_base64_decode(uidb64))
        user = User.objects.get(pk=uid)
    except:
        user = None

    if user is not None and account_activation_token.check_token(user, token):
        user.is_active = True
        profile = user.profile
        profile.email_confirmed = True
        profile.save()
        user.save()
        messages.success(
            request, _("Your email has been confirmed. Now you can sign in"))
    else:
        messages.error(
            request,
            _("Wrong activation data. Your account has not been activated"))

    return redirect("user:sign-in")