예제 #1
0
    def get(self, request, *args, **kwargs):
        try:
            user = Profile.objects.get(activation_code=kwargs['code'])

            if user.activation_code_expire < now():
                user.delete()

                notify_error(self.request, message=u'''
                    С момента регистрации прошло больше суток и активационная
                    ссылка устарела.
                    Пройдите процедуру <a href="{0}">регистрации</a> заново.
                '''.format(reverse('registration')))

                return HttpResponseRedirect(reverse('BumerangIndexView'))

            user.is_active = True
            user.activation_code = ''
            user.save()
            notify_success(self.request, message=u'''
                Ваш аккаунт успешно активирован.
                Теперь вы можете <a href="{0}">войти</a> в систему.
            '''.format(reverse('login')))

            send_activation_success(user.username)

            return HttpResponseRedirect(reverse('BumerangIndexView'))

        except Profile.DoesNotExist:
            notify_error(self.request, message=u'''
                При активации аккаунта произошла ошибка.
                Возможно, аккаунт уже был активирован ранее,
                либо срок действия ссылки истёк.
            ''')

            return HttpResponseRedirect(reverse('BumerangIndexView'))
예제 #2
0
def send_activation_success_task(receiver_email):
    send_activation_success(receiver_email)