diff options
Diffstat (limited to 'quoins/openid_controllers.py')
-rw-r--r-- | quoins/openid_controllers.py | 32 |
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 | |||
29 | import os.path | 29 | import os.path |
30 | 30 | ||
31 | from utils import get_oid_connection | 31 | from utils import get_oid_connection |
32 | from model import * | ||
32 | 33 | ||
33 | class DecideController(object): | 34 | class 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 | ||
58 | class ResponseController(object): | 65 | class 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: |