Esempio n. 1
0
    def get(self, *args, **kwargs):
        user = get_user_model().objects.filter(
            email__iexact=kwargs['email']).get()
        try:
            ''' filtering email from UserSecurityToken '''
            user_token = UserSecurityToken.objects.filter(
                extras=kwargs['email'],
                token_type=UserSecurityToken.ACCOUNT_ACTIVATION_TOKEN).last()
            ''' user token validate'''
            if user_token:
                user_token.expire_date = timezone.now()
                user_token.save()
            token = UserSecurityToken.create_activation_token(
                kwargs['email'], user)
            token.send_verify_token_email(self.request)
            '''only for ajax request'''
            if self.request.is_ajax():
                data = {
                    'success': False,
                    'message': messages.VERIFICATION_EMAIL_SENT
                }
                data['success'] = True

        except UserSecurityToken.DoesNotExist:
            data = {}
            data['success'] = False
            data['message'] = messages.USER_DOESNOT_EXIST

        if self.request.is_ajax():
            return JsonResponse(data)

        else:
            return HttpResponseRedirect(
                reverse_lazy('accounts:email_verification_confirmation'))
Esempio n. 2
0
 def create_account_activation_token(self, data):
     expiry_date = timezone.now() + timezone.timedelta(
         minutes=settings.VALIDATE_OTP_EXPIRE)
     user = get_user_model().objects.filter(email=data['email']).first()
     verify_token = UserSecurityToken.create_otp(
         expiry_date,
         UserSecurityToken.OTP_REGISTER_VERIFY_TOKEN,
         user,
         extras=data['email'])
     return verify_token.token
Esempio n. 3
0
 def create(self, validated_data):
     email = validated_data['email']
     user = get_user_model().objects.get(email__iexact=email)
     expiry_date = timezone.now() + timezone.timedelta(minutes=settings.FORGOT_PASSWORD_EXPIRE)
     instance = UserSecurityToken.create_otp(expiry_date, 3, user, extras=email)
     user_security_objects = UserSecurityToken.objects.filter(user_id=user.id, token_type=3).order_by('-id')[1:]
     UserSecurityToken.objects.filter(id__in=user_security_objects).update(expire_date=timezone.now())
     instance.send_forgot_password_email(self.request)
     self.otp_sent = True
     return instance
Esempio n. 4
0
    def save(self, commit=True):
        # Save the provided password in hashed format
        user = super(SignupForm, self).save(commit=False)
        user.set_password(self.cleaned_data["password"])
        self.request.session['user_email'] = user.email
        if commit:
            user.save()

        self._token = UserSecurityToken.create_activation_token(
            user.email, user)
        self._token.send_verify_token_email(self.request)

        user.set_password(self.cleaned_data['password'])
        user.save()

        return user