Beispiel #1
0
    def get(self, request, key):
        verification_key_object = get_object_or_404(VerificationKey, key=key)
        if not verification_key_object.is_valid:
            message = u'Ссылка недействительна, попробуйте получить новую.'
            return self.render_to_response({'message': message})
        user = verification_key_object.user
        if get_user_by_email(user.email):
            message = u'Адрес, который вы пытаетесь подтвердить уже зарегистрирован и подтвержден.'
            return self.render_to_response({'message': message})
        else:
            verification_key_object.unused = False
            verification_key_object.save()
            profile = user.get_profile()
            profile.email_verified = True
            profile.save()
            message = u'Адрес электронной почты %s подтвержден!' % user.email
            messages.info(request, message)

            action_flag = EMAIL_VERIFICATION
            context_dict = {'email': user.email}
            extra = {
                'user': user,
                'obj': profile,
            }
            Logger.objects.create_for_action(action_flag,
                                             context_dict=context_dict,
                                             extra=extra)

            if user.is_active:
                backend = get_backends()[1]
                user.backend = "%s.%s" % (backend.__module__, backend.__class__.__name__)
                login(request, user)

            return HttpResponseRedirect(reverse('frontpage'))
 def authenticate(self, username=None, password=None):
     #If username is an email address, then try to pull it up
     if email_re.search(username):
         user = get_user_by_email(username)
         if user:
             if user.check_password(password):
                 return user
         else:
             return None
Beispiel #3
0
 def clean_email(self):
     email = self.cleaned_data.get('email')
     if email:
         user = get_user_by_email(email)
         if not user:
             raise forms.ValidationError(u'''Нет пользователя с 
                 таким адресом электронной почты или адрес не подтвержден''')
         else:
             self.user_with_email = user
     return self.cleaned_data
Beispiel #4
0
 def clean_email(self):
     email = self.cleaned_data.get('email')
     if email:
         user = get_user_by_email(email)
         if not user:
             raise forms.ValidationError(
                 u'Такой адрес электронной почты не зарегистрирован '
                 u'в системе или не подтвержден. Для восстановления '
                 u'пароля обратитесь к оператору системы "Электроочередь" '
                 u'в Управление образования')
         else:
             self.user_with_email = user
     return self.cleaned_data
Beispiel #5
0
 def clean_email(self):
     if get_user_by_email(self.cleaned_data.get('email', '')):
         raise forms.ValidationError(u'Такой адрес электронной почты уже зарегистрирован.')
     return self.cleaned_data['email']