From f2648f7374e041739ec2fd837f6caeb810662224 Mon Sep 17 00:00:00 2001 From: Serghei MIHAI Date: Thu, 11 Sep 2014 10:04:09 +0200 Subject: [PATCH 3/6] automatically authenticating user on account activation --- authentic2/registration_backend/views.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/authentic2/registration_backend/views.py b/authentic2/registration_backend/views.py index a6528a6..2f539d4 100644 --- a/authentic2/registration_backend/views.py +++ b/authentic2/registration_backend/views.py @@ -6,6 +6,7 @@ from django.utils.translation import ugettext as _ from django.contrib import messages from django.contrib.sites.models import Site, RequestSite from django.contrib.auth.models import BaseUserManager, Group +from django.contrib.auth import authenticate, login from django.conf import settings from django.db.models import FieldDoesNotExist from django.db import IntegrityError @@ -60,8 +61,10 @@ class ActivationView(TemplateView): def get(self, request, *args, **kwargs): context = {} try: - self.register(kwargs['activation_key']) - return redirect('registration_activation_complete') + user = authenticate(**self.register(kwargs['activation_key'])) + login(request, user) + messages.info(request, _('Your account has been successfully activated. You are now logged in.')) + return redirect('auth_homepage') except signing.SignatureExpired: context['expired'] = True except IntegrityError: @@ -101,7 +104,8 @@ class ActivationView(TemplateView): group, created = Group.objects.get_or_create(name=name) groups.append(group) new_user.groups = groups - return new_user + return {'username': registration_fields['username'], + 'password': registration_fields['password1']} class DeleteView(TemplateView): def get(self, request, *args, **kwargs): -- 2.1.0