comparison bitsyauth/__init__.py @ 6:40fa556252a7

fix playing nice with paste auth
author k0s <k0scist@gmail.com>
date Sat, 26 Dec 2009 23:09:19 -0500
parents 2693b81f5960
children c958eb9300da
comparison
equal deleted inserted replaced
5:2693b81f5960 6:40fa556252a7
119 multi_auth.add_method('digest', digest.middleware, 119 multi_auth.add_method('digest', digest.middleware,
120 self.realm, self.digest_authfunc) 120 self.realm, self.digest_authfunc)
121 multi_auth.set_query_argument('digest', key='auth') 121 multi_auth.set_query_argument('digest', key='auth')
122 122
123 # form authentication 123 # form authentication
124 template = self.login(wrap=True) 124 template = self.login(wrap=True, action='%s')
125 multi_auth.add_method('form', form.middleware, self.authfunc, 125 multi_auth.add_method('form', form.middleware, self.authfunc,
126 template=template) 126 template=template)
127 multi_auth.set_default('form') 127 multi_auth.set_default('form')
128 128
129 return multi_auth 129 return multi_auth
184 ### forms and their display methods 184 ### forms and their display methods
185 185
186 ### login 186 ### login
187 187
188 def login_form(self, referer=None, action=None): 188 def login_form(self, referer=None, action=None):
189 if action is None: 189 form = Form(action=action or '', submit='Login')
190 action = self.urls['login']
191 form = Form(action='', submit='Login')
192 form.add_element('textfield', 'Name', input_name='username') 190 form.add_element('textfield', 'Name', input_name='username')
193 form.add_element('password', 'Password', input_name='password') 191 form.add_element('password', 'Password', input_name='password')
194 if referer: 192 if referer:
195 form.add_element('hidden', 'referer', value=referer) 193 form.add_element('hidden', 'referer', value=referer)
196 return form 194 return form
198 def login(self, errors=None, wrap=False, action=None): 196 def login(self, errors=None, wrap=False, action=None):
199 """login div""" 197 """login div"""
200 referer = None 198 referer = None
201 if hasattr(self, 'request'): 199 if hasattr(self, 'request'):
202 referer = self.request.referer 200 referer = self.request.referer
203
204 form = self.login_form(action=action, referer=referer) 201 form = self.login_form(action=action, referer=referer)
205 join = self.urls.get('join') 202 join = self.urls.get('join')
206 retval = form(errors) 203 retval = form(errors)
207 if join: 204 if join:
208 retval += '<br/>\n' + markup.a('join', href="%s" % join) 205 retval += '<br/>\n' + markup.a('join', href="%s" % join)