summaryrefslogtreecommitdiff
path: root/quoins/openid_controllers.py
diff options
context:
space:
mode:
Diffstat (limited to 'quoins/openid_controllers.py')
-rw-r--r--quoins/openid_controllers.py32
1 files changed, 20 insertions, 12 deletions
diff --git a/quoins/openid_controllers.py b/quoins/openid_controllers.py
index 9491195..efb65c5 100644
--- a/quoins/openid_controllers.py
+++ b/quoins/openid_controllers.py
@@ -29,6 +29,7 @@ import types
29import os.path 29import os.path
30 30
31from utils import get_oid_connection 31from utils import get_oid_connection
32from model import *
32 33
33class DecideController(object): 34class DecideController(object):
34 def __init__(self, oid_controller): 35 def __init__(self, oid_controller):
@@ -49,11 +50,17 @@ class DecideController(object):
49 session['oid_request']=oid_request 50 session['oid_request']=oid_request
50 session.save() 51 session.save()
51 52
52 return dict(openid = self.oid_controller, 53 d = dict(openid = self.oid_controller,
53 oid_request = oid_request, 54 oid_request = oid_request,
54 required = sr_required, 55 required = sr_required,
55 optional = sr_optional, 56 optional = sr_optional,
56 ) 57 )
58
59 if self.oid_controller.quoins:
60 blog = DBSession.query(Blog).get(1)
61 d['blog'] = blog
62 d['quoins'] = self.oid_controller.quoins
63 return d
57 64
58class ResponseController(object): 65class ResponseController(object):
59 def __init__(self, oid_controller): 66 def __init__(self, oid_controller):
@@ -81,6 +88,12 @@ class OpenIDController(TGController):
81 'timezone': 'Time zone', 88 'timezone': 'Time zone',
82 } 89 }
83 90
91 def __init__(self, *args, **kw):
92 self.get_name_from_id = kw.pop('get_name_from_id', lambda x: x)
93 self.path = kw.pop('path', '/')
94 self.quoins = kw.pop('quoins', None)
95 super(OpenIDController, self).__init__(*args, **kw)
96
84 def url(self, obj=None): 97 def url(self, obj=None):
85 if obj is None: 98 if obj is None:
86 u = tg.url(self.path) 99 u = tg.url(self.path)
@@ -94,13 +107,8 @@ class OpenIDController(TGController):
94 if port: 107 if port:
95 port = ':'+port 108 port = ':'+port
96 return 'http://%s%s%s'%(tg.config.get('server.webhost'), port, 109 return 'http://%s%s%s'%(tg.config.get('server.webhost'), port,
97 self.url(obj)) 110 self.url(obj))
98 111
99 def __init__(self, *args, **kw):
100 self.get_name_from_id = kw.pop('get_name_from_id', lambda x: x)
101 self.path = kw.pop('path', '/')
102 super(OpenIDController, self).__init__(*args, **kw)
103
104 def getSRegValue(self, user, field): 112 def getSRegValue(self, user, field):
105 val = None 113 val = None
106 if field=='nickname': val = user.user_name 114 if field=='nickname': val = user.user_name
@@ -132,7 +140,7 @@ class OpenIDController(TGController):
132 140
133 store = MySQLStore(get_oid_connection()) 141 store = MySQLStore(get_oid_connection())
134 oserver = openid.server.server.Server(store, 142 oserver = openid.server.server.Server(store,
135 self.absolute_url('/openid/server')) 143 self.absolute_url('/server'))
136 144
137 data = {} 145 data = {}
138 for field in sreg_req.required+sreg_req.optional: 146 for field in sreg_req.required+sreg_req.optional: