[Repoze-checkins] r1652 - repoze.shootout/trunk/repoze/shootout

Chris McDonough chrism at agendaless.com
Fri Aug 22 22:23:46 EDT 2008


Author: Chris McDonough <chrism at agendaless.com>
Date: Fri Aug 22 22:23:46 2008
New Revision: 1652

Log:
Auto-log the user in if possible.


Modified:
   repoze.shootout/trunk/repoze/shootout/views.py

Modified: repoze.shootout/trunk/repoze/shootout/views.py
==============================================================================
--- repoze.shootout/trunk/repoze/shootout/views.py	(original)
+++ repoze.shootout/trunk/repoze/shootout/views.py	Fri Aug 22 22:23:46 2008
@@ -148,6 +148,7 @@
     params = request.params
     message = params.get('message','')
     if params.get('form.submitted'):
+        headers = []
         username = params.get('username', None)
         password = params.get('password', None)
         name = params.get('name', None)
@@ -163,8 +164,16 @@
             password='{SHA}%s' % sha.new(password).hexdigest()
             user = User(username=username, password=password, name=name, email=email)
             session.save(user)
+            # try to autolog the user in
+            plugins = request.environ.get('repoze.who.plugins', {})
+            identifier = plugins.get('auth_tkt')
+            if identifier:
+                identity = {'repoze.who.userid': username}
+                headers = identifier.remember(request.environ, identity)
+            request.environ['repoze.who.userid'] = username
             url = "%s?message=%s" % (app_url,message)
-        return HTTPFound(location=url)
+        return HTTPFound(location=url, headers=headers)
+
     return render_template_to_response('templates/user_add.pt',
                                        message=message,
                                        toolbar=toolbar_view(context,request),


More information about the Repoze-checkins mailing list